September 2026 · monthly · growth × inflation regime · pillars live · regime layer walk-forward validated
REFLATION · 36%
Most likely Reflation — with a 27% chance of Stagflation in the mix. Growth rising, inflation rising; liquidity supportive.
LIQUIDITY TIDE · 69 · SUPPORTIVE
Regime Compass
Current position + 12-month trail — a new dot each month
← GROWTH FALLING· · · 12-mo trailGROWTH RISING →
Current odds · P(regime now)
REFLATION
36%
STAGFLATION
27%
GOLDILOCKS
21%
DEFLATION
16%
WHERE IT'S HEADING3 MO · VALIDATED
stays reflation44%
→ goldilocks38%
→ stagflation12%
Updated monthly — a committed dot each month as the macro data prints, nudged live between. The ellipse is where the truth plausibly sits (wider = less certain); the faded trail is the last 12 months.
Current Conditions
The five readings, in decision order
Growth Pulsemomentum, next several months
58IMPROVING · 1/6
Inflation Pulsedirection & breadth of pressure
65RISING · 2/5
Liquidity Pulseease of financing, 4 channels
69SUPPORTIVE · IMPULSE +3
Financial Stressthe veto on position size
LOWRISK CAP 100%
Market Confirmationthe throttle on size
POSITIVETHROTTLE 85%
Portfolio postureMODERATELY PRO-RISK
LAYER 1
Economic Season
Growth and inflation identify the season — level, direction, breadth
Real money & reservesreal M2 growth + acceleration
20%
53 · YELLOW
Global dollar liquiditybroad USD momentum (inverted)
20%
99 · GREEN
LAYER 3
Risk Controls
Not new regimes — a veto and a throttle on position size
Financial Stress · THE VETO
Is the market charging more to bear risk?
HY spread momentum (13wk)1bp/13wk
Stress conditionLOW → MAX RISK 100%
Ladder: Low 100% · Elevated 75% · High 50% · Crisis ≤25%. EBP series not free server-side; HY-OAS momentum + NFCI substitute (flagged).
Market Confirmation · THE THROTTLE
Are prices agreeing with the macro read?
Trend (S&P vs 200d + momentum)POSITIVE
Momentum6mo 14% · 12mo 16%
ConfirmationPOSITIVE → THROTTLE 85%
Strong 100% · Mixed 60-75% · Negative 25-50%. Prices get a veto over the macro story.
FINAL POSITION=QUADRANT ALLOC+LIQUIDITY ADJ×STRESS CAP 100%×CONFIRM 85%→MODERATELY PRO-RISK
The season sets the allocation, liquidity sets conviction, stress caps it, confirmation sizes it.
Asset Class Board
Weighted across all four regime odds — not just the top label
Asset
Tilt
Conviction
Driving signal
Evidence
#1
Commodities
SLIGHT OW
needs the 36% Reflation path
n≈4 · LOW
#2
Equities · quality & growth-sensitive
SLIGHT OW
21% Goldilocks + 36% Reflation
n≈14 · MED
#3
Corporate credit · IG over HY
SLIGHT OW
low stress, carry
n≈12 · MED
#4
Gold
SLIGHT OW
27% Stagflation - the hedge case
n≈3 · LOW
#5
Duration · Treasuries
SLIGHT UW
16% Deflation tail keeps a hedge slot
n≈10 · MED
#6
Cash
SLIGHT UW
low stress = cash drag
HIGH
n is independent episodes, not months. Stagflation covers ~2-3 of them in the postwar data — which is why gold and commodities read low-confidence no matter how good the story sounds. Confidence intervals from a block bootstrap land with the validation run.
How the score works
~16 series · equal-ish weights · point-in-time
Each underlying series (growth, inflation, liquidity, stress, confirmation) runs the same pipeline: economically-relevant rate of change → z-score vs its own history → map to 0-100 → weighted combine → 2-3mo smooth. Weights are equal or theory-motivated, never fitted to past returns — that's how frameworks die out of sample. Shared series (NFCI, HY OAS, net liquidity) feed the Liquidity Pulse only, never the growth axis, so nothing is double-counted.
Validation status:scripts/validate_macro.py ran the pre-registered gates on a walk-forward, publication-lagged backtest. The leading growth axis beats a coincident CFNAI baseline at 6-12 months (its documented lead), and the 3-month transition matrix that drives the "where it's heading" strip beats both persistence and the base-rate quad out of sample — so those layers are validated, not placeholder. The current-regime probabilities use a smoothed soft-quadrant classifier over the same axes. And the full allocation ladder (M1-M4) beat static 60/40 out of sample — Sharpe 0.85 vs 0.47, drawdown halved, the uplift's bootstrap CI clearing zero. The one remaining check is ALFRED true vintages. Read the odds as a validated classification with revision-look-ahead still to be closed, not a price forecast.
Validation ladder
Each layer must earn its place out of sample — real results from scripts/validate_macro.py
T3 · leading axis vs CFNAI (12mo)
PASS 0.41 > 0.33
Transition Brier · model
0.664
vs persistence (T1)
BEATS 1.14
vs base-rate quad (T2)
BEATS 0.75
M4 vs static 60/40 · Sharpe
0.85 vs 0.47
Sharpe uplift · 90% CI
+0.38 [+0.13, +0.57]
ALFRED true vintages
PENDING
Walk-forward, 264 months (2000-09-30..2026-06-30), publication-lagged, frozen a-priori weights. The leading growth axis beats a coincident CFNAI baseline at its documented 6-12 month lead; the 3-month transition forecast beats persistence and the base-rate quad; and the full allocation ladder lifts Sharpe from 0.47 to 0.85 and halves max drawdown (-21% → -9%) vs static 60/40, with the +0.38 Sharpe uplift's 90% bootstrap CI clearing zero. Only remaining check — ALFRED true vintages: this cut uses publication lags, so release-timing look-ahead is removed but revision look-ahead is not. That exposure is small here by construction: the leading axis is mostly the Treasury curve (market data, zero revision), initial claims and permits (minimal revision), while the one heavily-revised input, CFNAI, is deliberately down-weighted to ~11% of the axis. A full vintage-matrix rebuild is the last hardening step. Equity is a price-return proxy applied uniformly across the ladder, so the relative comparison is fair.
Read this before acting
This gauge classifies the environment; it does not forecast prices. The postwar sample holds only a handful of independent recessions, inflation shocks, and liquidity crises — every statistic here is drawn from that small set, and the quadrant playbooks are hypotheses under test, not laws. Data arrives late and gets revised.
What would make this wrong: a regime where the link from measured liquidity to asset prices breaks (fiscal dominance, capital controls, a structural money-demand shift — the AI-capex cycle is the live example), or a market driven by a factor these ~16 series can't see. The regime and transition layers pass their pre-registered Brier thresholds out of sample; the portfolio-return backtest and true data vintages are the remaining checks.