Macro Regime Forecast β 2026-02-27
Projection horizon: +4 weeks | Trend window: 12 weeks | k = 12 regimes
Current Regime
Regime 3: Inflationary / Credit Stress / Expanding
Last data point: 2026-02-27
This regime has been active for 12 of the last 12 weeks.
Top 3 Distinguishing Features
- CPI: 326.59 (z = +2.20, elevated; high z β Inflationary)
- Retail Sales: 634738.00 (z = +2.02, elevated; high z β Expanding)
- M2 Money Supply: 22411.00 (z = +1.83, elevated; high z β Expanding)
Feature Trend Analysis (Last 12 Weeks)
Rows sorted by |slope| descending β most dynamic features first. Z-score cells are color-coded: z > 2 z > 1 z < β1 z < β2
| Feature | Current Value | Z-Score | 12-wk Trend | RΒ² | +4w Projected Z |
|---|---|---|---|---|---|
| GDP | 1.84e+04 | -0.22 | ββ | 0.67 | -1.35 |
| VIX | 19.7 | +0.04 | β | 0.70 | +0.27 |
| 5Y Breakeven Inflation | 2.43 | +1.24 | β | 0.63 | +1.44 |
| Capacity Utilization | 76.1 | +0.14 | β | 0.67 | +0.33 |
| NFCI | -0.568 | -0.60 | β | 0.87 | -0.72 |
| Consumer Sentiment | 56.4 | -1.67 | β | 0.69 | -1.56 |
| Industrial Production | 102 | +0.90 | β | 0.69 | +0.97 |
| IG OAS | 4.74 | +1.19 | β | 0.48 | +1.15 |
| 3m10y Spread | 0.373 | -0.65 | β | 0.15 | -0.67 |
| Unemployment Rate | 4.3 | -0.68 | β | 0.69 | -0.70 |
| Fed Funds Rate | 3.64 | +0.92 | β | 0.69 | +0.91 |
| 10Y Treasury Yield | 4.06 | +0.95 | β | 0.05 * | +0.95 |
| Fed Balance Sheet | 6.61e+06 | +0.88 | β | 0.61 | +0.89 |
| Initial Jobless Claims | 2.06e+05 | -0.43 | β | 0.05 * | -0.43 |
| 2Y Treasury Yield | 3.46 | +0.86 | β | 0.05 * | +0.86 |
| 3M Treasury Yield | 3.69 | +0.97 | β | 0.31 | +0.98 |
| CPI | 327 | +2.20 | β | 0.69 | +2.21 |
| HY OAS | 2.86 | -1.44 | β | 0.01 * | -1.44 |
| 2s10s Spread | 0.6 | -0.39 | β | 0.01 * | -0.39 |
| M2 Money Supply | 2.24e+04 | +1.83 | β | 0.00 * | +1.83 |
| Retail Sales | 6.35e+05 | +2.02 | β | 0.00 * | +2.02 |
| Recession Probability | 0.8 | -0.28 | β | 0.00 * | -0.28 |
* Features with RΒ² < 0.15 (noisy trend) have their projection set to the current z-score.
Trajectory Chart
Regime Distances
| Regime | Label | Current Dist | Projected (+4w) Dist | Ξ |
|---|---|---|---|---|
| R3 | Inflationary / Credit Stress / Expanding | 2.986 | 3.894 | +0.907 |
| R0 | Inflationary / Expanding / Low IG OAS | 5.314 | 5.591 | +0.277 |
| R2 | Optimistic / Expanding / Low Unemployment Rate | 5.869 | 6.074 | +0.205 |
| R4 | Tightening / Low CPI / Low GDP | 6.268 | 6.258 | -0.010 |
| R11 | Recessionary / Low Consumer Sentiment / Low GDP | 6.841 | 6.867 | +0.026 |
| R1 | Low NFCI / Steepening / Low 2Y Treasury Yield | 7.299 | 7.392 | +0.094 |
| R8 | Credit Stress / Low 5Y Breakeven Inflation / Low 10Y Treasury Yield | 7.518 | 7.665 | +0.147 |
| R7 | Low 10Y Treasury Yield / Deteriorating / Low IG OAS | 8.048 | 8.294 | +0.246 |
| R10 | Low Industrial Production / Steepening / Deteriorating | 8.326 | 8.401 | +0.075 |
| R6 | Recessionary / Stressed / Low Industrial Production | 9.286 | 9.267 | -0.019 |
| R5 | Low Capacity Utilization / Credit Stress / Deteriorating | 9.333 | 9.453 | +0.120 |
| R9 | Deteriorating / Tight Conditions / Low Capacity Utilization | 16.739 | 16.908 | +0.169 |
Distances are Euclidean in 22-dimensional standardized feature space. Lower = more similar to that regime's historical centroid.
Transition History
From the current Regime 3, the 4-week historical successor distribution (based on 190 historical examples):
Forecast
Based on current feature momentum and historical transition patterns, the most likely economic regime in approximately 4 weeks is Regime 3: Inflationary / Credit Stress / Expanding (combined score: 82.8%).
Forecast confidence: HIGH β combined score exceeds 35% and top-2 gap is 76.8%.
Top 3 Predicted Regimes
- Regime 3: Inflationary / Credit Stress / Expanding β combined score 82.8% (primary prediction)
- Regime 0: Inflationary / Expanding / Low IG OAS β combined score 6.0%
- Regime 2: Optimistic / Expanding / Low Unemployment Rate β combined score 3.7%
Methodology
Data
22 weekly macro features are loaded from S3 Parquet files (FMP API + FRED): GDP, Unemployment Rate, CPI, Federal Funds Rate, Initial Jobless Claims, Retail Sales, Consumer Sentiment, Recession Probability, Industrial Production Index, 3-Month Treasury Yield, 2-Year Treasury Yield, 10-Year Treasury Yield, 2s10s Spread, 3m10y Spread, VIX, HY OAS, IG OAS, NFCI, 5-Year Breakeven Inflation, Fed Balance Sheet (WALCL), M2 Money Supply, and Capacity Utilization. All series are resampled to week-ending-Friday frequency; monthly/quarterly series are forward-filled up to 92 days.
Standardization
All features are standardized to zero mean and unit variance using sklearn.preprocessing.StandardScaler fit on the full history. All subsequent calculations (trend fitting, distance computation, projection) operate in this z-score space.
Clustering
K-Means is fit with k=12, random_state=42, n_init=20, max_iter=500. Each week is assigned to its nearest centroid. Cluster labels are auto-generated from the three features with the largest absolute centroid z-scores.
OLS Trend Analysis
For each feature, the last 12 z-score observations are fit with a first-degree polynomial (numpy.polyfit, degree=1) to estimate a linear slope and RΒ². Features with RΒ² < 0.15 are treated as having a noisy/unreliable trend; their slope is set to zero so the projection falls back to the current z-score rather than extrapolating noise.
4-Week Projection
The projected z-vector at +4 weeks is computed by adding slope Γ 4 to each feature's current z-score (with zero slope for noisy features). Euclidean distance from this projected vector to each regime centroid provides a distance-based regime affinity score.
Transition Probability Matrix
From the full cluster assignment history, P[i, j] = P(regime at t+4 == j | regime at t == i) is estimated by counting observed transitions. Rows are normalized to sum to 1; rows with no observations receive a uniform distribution.
Score Blending
Distance weights = softmax(βprojected_distances). Combined score = 0.5 Γ transition_probability + 0.5 Γ distance_weight, normalized to sum to 1. The blending gives equal weight to momentum continuation (where the macro vector is heading) and historical regime succession patterns.
Limitations
- OLS assumes linear continuation of recent trends; mean-reverting or non-linear dynamics will be missed.
- Quarterly features (GDP, Capacity Utilization) update infrequently and are forward-filled, so their z-score may lag reality.
- K-Means assumes roughly spherical, equally sized clusters; regime boundaries may be non-convex in 22-dimensional space.
- Regime labels are data-driven abbreviations and may not fully capture all macro nuance.
- The novelty check uses a fixed 85% threshold of median inter-centroid distance; this is a heuristic, not a statistical test.
Comments