Regime assignments use Central Bank Era canonical definitions established 2026-09-12 (K-Means k=9). View WCSS analysis.
Macro Regime Forecast β 2026-09-25
Projection horizon: +4 weeks | Trend window: 12 weeks | k = 9 regimes
Current Regime
Regime 0: Tightening / Low 3m10y Spread / Low Consumer Sentiment
Last data point: 2026-09-25
This regime has been active for 12 of the last 12 weeks.
Top 3 Distinguishing Features
- 10Y Treasury Yield: 5.06 (z = +1.85, elevated; high z β Tightening)
- Consumer Sentiment: 51.70 (z = -1.85, depressed; high z β Optimistic)
- 2Y Treasury Yield: 4.79 (z = +1.68, elevated; high z β Tightening)
Feature Trend Analysis (up to 12 Weeks)
Rows sorted by the projected +4-week z-score change (|Ξz|) descending β most consequential moves first. Trends are fit on distinct release observations only (a forward-filled monthly or quarterly feature is collapsed to its actual print dates before fitting), widening the window automatically when a feature has too few releases. Z-score cells are color-coded: z > 2 z > 1 z < β1 z < β2
| Feature | Current Value | Z-Score | Trend (+4w) | RΒ² | Obs/Window | +4w Projected Z |
|---|---|---|---|---|---|---|
| WTI Real Price Growth (YoY) | 18.3 | +0.34 | β | 0.79 | 4/22w | -0.56 |
| Consumer Sentiment | 51.7 | -1.85 | β | 0.59 | 4/22w | -1.27 |
| 10Y Treasury Yield | 5.06 | +1.85 | β | 0.86 | 12/12w | +1.87 |
| IG OAS | 5.78 | +1.11 | β | 0.88 | 11/12w | +1.14 |
| Oil/Gas Ratio | 21.4 | +0.26 | β | 0.24 | 4/22w | -0.23 |
| 2Y Treasury Yield | 4.79 | +1.68 | β | 0.64 | 12/12w | +1.64 |
| Retail Sales Growth (YoY) | 5.81 | +0.33 | β | 0.57 | 4/22w | +0.01 |
| CPI Inflation (YoY) | 3.71 | +0.59 | β | 0.57 | 4/22w | +0.28 |
| VIX | 14.9 | -0.54 | β | 0.27 | 12/12w | -0.59 |
| 5Y Breakeven Inflation | 2.33 | +0.69 | β | 0.51 | 12/12w | +0.80 |
| 3m10y Spread | 0.874 | -0.25 | β | 0.91 | 12/12w | -0.19 |
| 3M Treasury Yield | 4.18 | +1.22 | β | 0.59 | 11/12w | +1.19 |
| Oil/Gold Ratio | 0.0187 | -1.32 | β | 0.98 | 4/22w | -1.43 |
| Capacity Utilization | 76.1 | +0.20 | β | 0.87 | 4/52w | +0.34 |
| Henry Hub Gas | 2.78 | -0.63 | β | 0.35 | 4/22w | -0.68 |
| Unemployment Rate | 4.1 | -0.76 | β | 0.95 | 4/34w | -0.84 |
| Fed Funds Rate | 3.63 | +0.92 | β | 0.54 | 4/47w | +0.81 |
| NFCI | -0.555 | -0.42 | β | 0.37 | 11/12w | -0.45 |
| Fed Balance Sheet Growth (YoY) | 2.11 | -0.37 | β | 0.94 | 12/12w | -0.35 |
| HY OAS | 2.72 | -0.87 | β | 0.17 | 12/12w | -0.89 |
| Recession Probability | 0.76 | -0.28 | β | 0.95 | 4/26w | -0.27 |
| Industrial Prod. Growth (YoY) | 1.42 | +0.23 | β | 0.15 * | 4/22w | +0.16 |
| GDP Growth (YoY) | 4.42 | -0.01 | n/a | n/a β | 3/52w | -0.01 |
| Initial Jobless Claims (log) | 12.2 | -1.08 | β | 0.01 * | 11/12w | -1.02 |
| 2s10s Spread | 0.269 | -0.75 | β | 0.06 * | 12/12w | -0.64 |
| M2 Growth (YoY) | 5.6 | -0.14 | β | 0.05 * | 4/22w | -0.16 |
| Electricity Price Growth (YoY) | 0 | -0.79 | n/a | n/a β | 2/52w | -0.79 |
| Energy Consumption YoY | -0.0167 | +0.00 | β | 0.07 * | 4/34w | +0.23 |
* Features with RΒ² < 0.15 (noisy trend) have their projection held flat at the fitted level. β "n/a" β fewer than 4 distinct release observations were found even in the widened window; no trend is fit and the projection is held at the current z-score. "Obs/Window" shows how many distinct releases were found within how many weeks of history.
Trajectory Chart
Regime Distances
| Regime | Label | Current Dist | Projected (+4w) Dist | Ξ |
|---|---|---|---|---|
| R0 | Tightening / Low 3m10y Spread / Low Consumer Sentiment | 2.379 | 2.288 | -0.091 |
| R5 | Tightening / Gas Spike / Credit Stress | 4.957 | 4.712 | -0.245 |
| R6 | Optimistic / Low Electricity Price Growth (YoY) / Low Henry Hub Gas | 5.704 | 5.291 | -0.412 |
| R7 | Inflationary / Energy Cost / Expanding | 6.159 | 6.328 | +0.169 |
| R1 | Steepening / Deteriorating / Oil Premium | 6.612 | 6.565 | -0.047 |
| R3 | Expanding / Oil Shock / Demand Rising | 8.082 | 8.285 | +0.203 |
| R8 | Recessionary / Gas Spike / Risk-On | 8.550 | 8.694 | +0.144 |
| R4 | Expanding / Deteriorating / Low 10Y Treasury Yield | 9.967 | 9.784 | -0.183 |
| R2 | Expanding / Credit Stress / Tight Conditions | 12.504 | 12.313 | -0.191 |
Distances are Euclidean in 28-dimensional standardized feature space (the same canonical z-space used to assign the current regime). Lower = more similar to that regime's historical centroid.
Transition History
From the current Regime 0, the 4-week historical successor distribution (based on 191 historical examples):
Forecast
Based on current feature momentum and historical transition patterns, the most likely economic regime in approximately 4 weeks is Regime 0: Tightening / Low 3m10y Spread / Low Consumer Sentiment (combined score: 92.6%).
Forecast confidence: HIGH β combined score exceeds 35% and top-2 gap is 88.8%.
Top 3 Predicted Regimes
- Regime 0: Tightening / Low 3m10y Spread / Low Consumer Sentiment β combined score 92.6% (primary prediction)
- Regime 5: Tightening / Gas Spike / Credit Stress β combined score 3.8%
- Regime 6: Optimistic / Low Electricity Price Growth (YoY) / Low Henry Hub Gas β combined score 2.1%
Methodology
Data
28 weekly macro features are loaded from S3 (Central Bank Era dataset): GDP Growth (YoY), Unemployment Rate, CPI Inflation (YoY), Fed Funds Rate, Initial Jobless Claims (log), Retail Sales Growth (YoY), Consumer Sentiment, Recession Probability, Industrial Prod. Growth (YoY), 3M Treasury Yield, 2Y Treasury Yield, 10Y Treasury Yield, 2s10s Spread, 3m10y Spread, VIX, HY OAS, IG OAS, NFCI, 5Y Breakeven Inflation, Fed Balance Sheet Growth (YoY), M2 Growth (YoY), Capacity Utilization, WTI Real Price Growth (YoY), Electricity Price Growth (YoY), Energy Consumption YoY, Henry Hub Gas, Oil/Gold Ratio, Oil/Gas Ratio. Daily-native series are resampled to week-ending-Friday by mean; monthly/quarterly/annual series are forward-filled then resampled by last-observed-value.
Feature Transforms
Trending level series are converted to a year-over-year or log rate at their own native release frequency before standardization: GDP Growth (YoY), CPI Inflation (YoY), Initial Jobless Claims (log), Retail Sales Growth (YoY), Industrial Prod. Growth (YoY), Fed Balance Sheet Growth (YoY), M2 Growth (YoY), WTI Real Price Growth (YoY), Electricity Price Growth (YoY). This avoids a trending level's z-score acting as a proxy for calendar time (see the clustering report's methodology for the full rationale).
Standardization
All features are standardized using the CANONICAL scaler (established when the regime definitions were built, sklearn.preprocessing.StandardScaler fit on that full history) β the same scaler and centroids used to assign the current regime. All subsequent calculations (trend fitting, distance computation, projection) operate in this single shared z-score space.
Clustering
Regimes are assigned by nearest canonical centroid at k=9. When no canonical regime definitions exist for the era, this falls back to a fresh K-Means fit (random_state=42, n_init=20, max_iter=500). Cluster labels are auto-generated from the three features with the largest absolute centroid z-scores.
Trend Analysis
For each feature, a linear trend (numpy.polyfit, degree=1) is fit on its DISTINCT release observations only β consecutive weeks carrying the same forward-filled value are collapsed to one point β starting from a 12-week window and widening automatically (up to 52 weeks) until at least 4 distinct points are found. A feature with too few distinct releases even in the widened window is reported as "insufficient" rather than given a numerically-real-but-meaningless RΒ² (see the clustering report for why fitting directly on a forward-filled staircase produces an RΒ² that reflects the release calendar, not the feature). Features with RΒ² < 0.15 are treated as noisy; their slope is set to zero.
4-Week Projection
The projected z-score at +4 weeks is computed from the FITTED trend line at the current time index (not the raw current z-score), plus effective_slope Γ horizon, damped by 1/(1 + horizon/12) so a short or noisy window does not extrapolate a multi-week move with false confidence. Euclidean distance from this projected vector to each regime centroid (in the same canonical z-space as the assignment) 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
- The trend fit assumes linear continuation of recent releases; mean-reverting or non-linear dynamics will be missed.
- Quarterly and annual features update infrequently even after the distinct-observation fix, so a genuine trend can take several releases to become statistically visible.
- K-Means assumes roughly spherical, equally sized clusters; regime boundaries may be non-convex in 28-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