Macro market clusters
A statistical study of market regimes
We identify 10 macroeconomic regimes from 268 months of data (2003-10 to 2026-03) using hierarchical Ward clustering on a PCA-trimmed 10-feature macro panel. The partition separates cleanly into 8 normal regimes and 2 crisis regimes. Three independent methods (hierarchical Ward, two Gaussian-mixture covariance structures) converge on K=10. Bootstrap stability, feature perturbation, NBER-recession alignment, and Markov transition dynamics all support the partition as statistically sound and economically meaningful.
Current regime
Regime timeline (2003-10 → 2026-03)
Color-coded regime history overlaid with SPY cumulative return. Hover for per-month details.
The 10 regimes
Each regime is a macro state with a distinct fingerprint. Bars below each card show z-scored feature deviations from the grand mean: colored = positive, gray = negative.
Regime transition dynamics
One-step Markov transition probabilities P(next month regime | current regime). The diagonal (white-bordered) shows regime stickiness; off-diagonal tells the economic paths. Hover any cell for details.
Methodology notes
Features
Ten monthly features, chosen via PCA-informed redundancy analysis on a 15-feature superset. Retained features cover distinct axes:
spy_ret— market statedollar_ret— global risk appetite (stitched FRED TWEXMMTH + DTWEXBGS)gld_ret— safe-haven / inflation hedgeyield_spread— Treasury 10Y−2Y (curve shape)credit_spread— FRED BAMLH0A0HYM2 (financial stress)fwd_infl_5y5y— FRED T5YIFR (inflation belief)vix— FRED VIXCLS (implied equity vol)real_yield_10y— FRED DFII10 (real rates axis)cpi_yoy— realized inflationunemp_change— labor market
Clustering
Hierarchical Ward linkage in two stages: K=2 on the full panel (cleanly separates crisis from normal, silhouette 0.60), then K=8 sub-cluster on the normal branch and K=2 on the crisis branch. Each branch is re-standardized using only its own months.
Why K=10
Three independent methods agree: Ward hierarchical, GMM-tied covariance, GMM-spherical covariance. Flat Ward picks K=2 (the crisis/normal signal dominates); GMM-diag picks K=9 under a restrictive independence assumption. The plateau K=6–9 is defensible; K=10 sits at the local silhouette peak and matches two GMM methods.
Validation
Bootstrap stability: 100 block-subsamples of 80% of months, re-cluster, measure ARI vs canonical. Median top-K=2 ARI = 1.00, full-partition mean ARI = 0.65.
Feature perturbation: leave-one-out across 10 features. Min ARI = 0.49 — no single-feature failure.
NBER alignment: crisis regimes 100% overlap with NBER recessions. Calm regimes ≈0%.
Named events: Lehman, Flash Crash, COVID crash, SVB, 7 of 7 land on economically-appropriate regimes.
Limitations
- Small crisis sample. R9 has n=2, R10 has n=6. Claims about crisis sub-structure rely on just two historical events (GFC, COVID).
- 22-year window. Regimes outside our historical range (1970s stagflation, 1930s depression) cannot be identified — they would match the nearest centroid, possibly misleadingly.
- Endogeneity. SPY and VIX are causally downstream of the economic features. Regimes are joint macro-market states, not pure-economic states. Using these labels to predict SPY returns is circular.
- In-sample standardization. z-scoring uses full-sample statistics; for real-time classification, recursive standardization would be needed.