⟳ Loading…
Current Regime
Days Active
Backtest Hit Rate
Correct quadrant over 15yr
Avg Fwd 20d
Backtest avg — not a forecast
3-Day Confirmation CONFIRMED
Inflation Gate (63d)
Q4 Filter N/A
Growth · SPY 20d
Inflation · Hybrid 20d
Sources SPY · DBC/DBA · GLD
Signal Gauges
Growth · SPY 20d Return
Inflation · Hybrid 20d
Gate · DBC+GLD 63d
About the returns shown below: The 20d and 5d figures on each ETF tile are live market returns for that ticker over the last 20 or 5 trading days — not backtest averages. The Avg Fwd 20d on the regime card above is the backtest average forward return for the top ETFs in this regime over 15 years. These are different numbers. Past backtest performance does not predict future returns.
↑ Long —
Live 20d & 5d market returns
↓ Short Candidates —
Tend to underperform in this regime
Recent Track Record · Last 5 Trading Days
DateRegimeSPY Day Growth 20dInflation 20dGate 63dNotes
Regime Change Alerts

Get notified when a confirmed regime change is detected (~40 per year).

Regime History · SPY Price + Quadrant Bands
Q1 Goldilocks
Q2 Overheating
Q3 Stagflation
Q4 Deflation
Signal Strength · Growth vs Inflation (20d) vs Gate (63d)
Green — Growth (SPY 20d)
Above 0% = rising growth → risk-on. Below 0% = risk-off.
Amber — Inflation (Hybrid 20d)
Above 0% = rising inflation → commodities. Below 0% = bonds/tech.
Blue dashed — Gate (63d)
Above 0% = CPI elevated → Q4 blocked. Below 0% = gate clear.
15-Year Accuracy by Quadrant · Jan 2010–Apr 2026 · 68 ETFs · 4,082 Days
Configuration Comparison · Hit Rate vs False Signal Rate
Methodology: 68 ETFs · Jan 2010–Apr 2026 · 4,082 trading days · 263 confirmed regime changes · 3-day confirmation filter reduces false signals from 38% to 13% · Hybrid inflation proxy: DBC→DBA when energy premium >6pp · Q4 gate: requires 63d commodity momentum negative · Captures: taper tantrum, COVID, rate-hike cycle, QE era.
① Signal Calculation (daily)
1
Growth proxy — SPY rolling 20-day return. Positive = growth momentum rising.
2
Inflation proxy — DBC + GLD rolling 20-day average. Swaps DBC→DBA if energy premium >6pp (geopolitical filter).
3
Inflation gate — DBC + GLD rolling 63-day return. Used only to filter false Q4 signals.
② Quadrant Assignment
Q1
Goldilocks — Growth ↑ Inflation ↓ → Tech, Growth equities
QQQ · IWF · MGK · SMH · XLK · XLY · XHB · IWM
Q2
Overheating — Growth ↑ Inflation ↑ → Commodities, Cyclicals
XLE · XLB · SLV · DBC · GLD · XLI · SMH · XHB
Q3
Stagflation — Growth ↓ Inflation ↑ → Gold, Energy, Short bonds
GLD · SLV · USO · XLE · SHY · XLK
Q4
Deflation — Growth ↓ Inflation ↓ → Defensives, Mid bonds
XLU · XLP · XLV · IEF · IEI · SHY
③ 3-Day Confirmation Filter
A
A regime change is flagged when today's quadrant differs from yesterday's.
B
Only confirmed if the same quadrant holds on day+1 and day+2. Eliminates 42% of false signals.
C
Unconfirmed flags are ignored — the previous regime stays active. ~40 confirmed changes per year.
④ Q4 Inflation Gate
A
If Q4 fires but 63d DBC+GLD momentum is positive, inflation hasn't rolled over — likely a false signal.
B
Action: skip — hold the previous regime. 63% of historical Q4 signals are filtered this way.
C
When gate clears, act with XLU · XLP · XLV · IEF · IEI · SHY. Hit rate rises to 50%.
⑤ Style Factor Framework
Q1 — Goldilocks
Long: US Large Growth · High Momentum · Small Cap
Short: Energy · Intl/EM
Bonds: Avoid duration
Crypto: IBIT opportunistic
Q2 — Overheating
Long: Commodities · Energy · Cyclicals
Short: Long Bonds · High Yield
Bonds: Short duration only
Crypto: Avoid
Q3 — Stagflation
Long: Gold · Silver · Oil · Energy
Short: Long Bonds · EM Bonds
Bonds: Short duration (SHY)
Crypto: IBIT opportunistic
Q4 — Deflation
Long: Defensives · Low Vol · Med Bonds
Short: Oil · Commodities
Bonds: Med duration (IEF/IEI)
Gate: Only fires when clear
⑥ Data & Infrastructure
Data source — Tiingo API. SPY, DBC, GLD, DBA fetched nightly via cron at 1am CT.
Calculation — Node.js cron script on DigitalOcean. Writes data.json nightly.
Dashboard — reads from data.json on load. Falls back to live Yahoo fetch if file is stale.
Alerts — email sent via Resend on confirmed regime change (~40/year).
What Is This Dashboard?

The Macro Regime Tracker classifies the current market environment into one of four quadrants based on momentum signals from SPY, commodity prices, and gold. It then surfaces the ETF categories that have historically outperformed in each quadrant over 15 years of data. This is a directional signal tool, not a trade recommendation system. It tells you which macro environment you are likely in — how you act on that information is your decision.

Step 1 — Check the Regime
Look at the Current Regime card on the Live Regime tab. The quadrant name and colour tells you today's macro environment.
Check 3-Day Confirmation is green (CONFIRMED) before acting. A PENDING signal means the regime may revert — wait for confirmation.
Check Days Active — a regime that fired yesterday is less reliable than one active for 10+ days.
Step 2 — Read the ETF Tiles
The 20d return on each tile is the live market return for that ETF over the last 20 trading days — it shows recent momentum, not a prediction.
The 5d return shows very recent performance — useful for spotting which names are leading vs lagging within the regime basket.
These are not the backtest averages. The backtest avg fwd 20d is shown on the regime card and represents 15yr historical expectations.
Step 3 — Set Realistic Expectations
A 55–62% hit rate means roughly 4 out of every 10 signals will be wrong. Size positions accordingly — this is not a system to bet the farm on.
The avg fwd 20d return is an average across 15 years. Individual regime episodes vary widely — some will be much better, some worse.
Regimes can persist for weeks or months. Don't over-trade. ~40 confirmed changes per year means roughly one change every 1–2 weeks on average.
Step 4 — On Regime Changes
Subscribe to email alerts on the Live Regime tab. You'll be notified within hours of a confirmed regime change firing.
On a change, review the new quadrant's ETF basket and compare it to your current holdings. You don't need to trade immediately — use the signal to adjust bias over days.
Check the History tab to see how long the previous regime lasted and what SPY did during it — context matters before repositioning.
What This Tool Is NOT
Not a trade signal. The ETF baskets are categories, not specific buy/sell orders. Use them to understand which style factors and sectors are favoured — your own research and risk management determines actual trades.
Not a timing tool. A regime change alert is not a signal to buy or sell immediately. It is a signal that the macro backdrop has shifted. Entries and exits are your responsibility.
Not infallible. The model uses momentum signals which lag by definition. Sudden macro shocks (geopolitical events, Fed surprises) can invalidate a regime quickly. Always use stop losses and position sizing.
⚠ DISCLAIMER — NOT INVESTMENT ADVICE
This dashboard is for informational and educational purposes only and does not constitute investment advice, a recommendation to buy or sell any security, or an offer to provide investment advisory services. Past regime accuracy does not guarantee future results. All backtested results are hypothetical and do not reflect actual trading or the impact of transaction costs, taxes, or fees. Conduct your own research and consult a qualified financial advisor before making any investment decisions.