⟳ Loading…
Current Regime
Days Active
Hit Rate
Avg Fwd 20d
3-Day ConfirmationCONFIRMED
Inflation Gate (63d)
Q4 Filter ActiveN/A
Growth Signal (SPY 20d)
Inflation Signal (DBC/DBA+GLD 20d)
Signal SourcesSPY · DBC/DBA · GLD
Growth · SPY 20d Return
Inflation · DBC/DBA+GLD 20d (hybrid)
Infl Gate · DBC+GLD 63d
Recommended ETFs — · Live 20d & 5d returns
Short Candidates — · Underperform in this regime
Recent Track Record — Last 5 Trading Days
DateRegimeSPY DayGrowth 20dInflation 20dGate 63dNotes
Regime History · SPY Price + Quadrant Background
Q1 Goldilocks
Q2 Overheating
Q3 Stagflation
Q4 Deflation
Signal Strength · Growth vs Inflation (20d) vs Gate (63d)
Green — Growth (SPY 20d)
Above 0% = growth rising → risk-on. Below 0% = risk-off.
Amber — Inflation (DBC/DBA+GLD 20d)
Above 0% = inflation rising → commodities. Below 0% = bonds/tech.
Blue dashed — Gate (63d)
Above 0% = CPI still elevated → Q4 blocked. Below 0% = gate clear.
Regime = where the two solid lines sit vs zero. Both above → Q2. Green above, amber below → Q1. Both below (gate clear) → Q4. Green below, amber above → Q3.
15-Year Accuracy by Quadrant · Jan 2010–Apr 2026 · 3-day confirmation · Q4 inflation gate · Hybrid DBC/DBA proxy
Configuration Comparison · Hit Rate vs False Signal Rate
Methodology

68 ETFs · Jan 2010–Apr 2026 · 4,082 trading days (~16 years) · 263 confirmed regime changes · 3-day confirmation filter (13–20% false signal rate vs 38% in 5yr test) · Hybrid inflation proxy: DBC→DBA when energy premium >6pp (geopolitical filter) · Q4 gate: requires 63d commodity momentum negative · Captures: taper tantrum, COVID, rate-hike cycle, QE era · Q4 hit rate 50% over 15yr (bonds worked pre-2021)

① Signal Calculation (daily)
1
Growth proxy — SPY rolling 20-day return. Positive = growth rising.
2
Inflation proxy — DBC + GLD rolling 20-day avg. Swaps DBC→DBA if energy premium >6pp (geopolitical filter).
3
Inflation gate — DBC + GLD rolling 63-day return. Positive ≈ sustained CPI above 3%. 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 (gate must be clear)
XLU · XLP · XLV · IEF · IEI · SHY
③ 3-Day Confirmation Filter
A
A regime change is flagged when today's quadrant differs from yesterday's. No action yet.
B
Confirmed only if the same quadrant holds on day+1 and day+2. Eliminates 42% of false signals.
C
Unconfirmed flags are ignored — the previous regime remains active. ~16 confirmed changes/year.
④ Q4 Inflation Gate
A
If Q4 fires but 63d DBC+GLD momentum is still positive, inflation hasn't rolled over — false signal.
B
Action: skip — hold the previous regime. 63% of historical Q4 signals filtered this way.
C
When gate clears: act with XLU · XLP · XLV · IEF · IEI · SHY. Hit rate rises to 50%.
⑤ Style Factor Framework — What Works in Each Quadrant
Q1 — Goldilocks
Long: US Large Growth · High Momentum · Small Cap
Short: Energy · Intl/EM Equities
Bonds: Avoid duration
Crypto: IBIT opportunistic (satellite, high risk)
FX: USD neutral
Q2 — Overheating
Long: Commodities · Energy · Cyclicals
Short: Long Bonds · High Yield · EUR/JPY
Bonds: Short duration only
Crypto: Neutral — avoid
FX: USD strong, avoid EUR/JPY
Q3 — Stagflation
Long: Gold · Silver · Oil · Energy
Short: Long Bonds · EM Bonds · JPY
Bonds: Short duration only (SHY)
Crypto: IBIT opportunistic (satellite)
FX: USD strong, avoid JPY
Q4 — Deflation
Long: Defensives · Low Vol · Med Bonds
Short: Oil · Commodities · Frontier EM
Bonds: Med duration (IEF/IEI), avoid TLT
Crypto: Not recommended
Gate: Only fires when 63d infl gate is clear
⑥ Live Updates — Yahoo Finance via CORS Proxy
Data source — Yahoo Finance free API. Routed via own Nginx /yf/ proxy — no third-party dependency, no rate limits.
Calculation — SPY 20d (growth), DBC/DBA+GLD 20d hybrid (inflation), DBC+GLD 63d (gate). Under 2 seconds.
Schedule — Auto-checks at 5pm CT weekdays. Countdown shown in top bar. Hit ↻ Refresh at any time.
Alerts — ~16 confirmed changes/year. Subscribe via the alert box on Live Regime tab.
Note on UUP: Tested and excluded from all baskets — worst performer in Q4 in both high and low CPI environments (−0.46% and −1.35% respectively). The dollar strengthens during rate-hike cycles when Q4 shouldn't be active.
⑦ Production Setup — Vercel · Upstash · Resend
Vercel — Hosting & Cron
Deploy index.html to Vercel. Add api/refresh.js serverless function to fetch Yahoo Finance server-side and write signals to Upstash. Cron: "0 23 * * 1-5" (5pm CT)
Upstash — Redis Storage
Two keys: regime:current (today's signals JSON) and alerts:subscribers (email list). Dashboard reads on load — instant. Free tier is ample.
Resend — Email Alerts
On confirmed regime change, send via Resend API (free 3,000/month) to all subscribers. Includes new quadrant, signals, ETF recommendations. ~16 emails/year per subscriber.
Quick start: 1) Deploy to Vercel → 2) Create free Upstash Redis DB → 3) Add UPSTASH_URL, UPSTASH_TOKEN, RESEND_API_KEY as Vercel env vars → 4) Add api/refresh.js → 5) Subscribe via Live Regime tab.
⚠️ DISCLAIMER — NOT INVESTMENT ADVICE
This dashboard is provided 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. You must conduct your own research and consult a qualified financial advisor before making any investment decisions. The authors accept no liability for investment decisions made using this tool.
ENDOFFILE