Markov · market regime engine
Regime transitions, tape internals & expected-move rails — as of 2026-10-16
Current regime
Neutral
Day 20 of this run · median Neutral run: 2 days
(longest 14)
VIX 20.0 · Normal
VIX curve 0.98 · near backwardation
Dow Theory: Confirmed Bearish
Sector strength 46
Markov odds (from 2699 days since 2016-01-04)
72%
stays Neutral tomorrow
80%
flips within 5 sessions
last 90 sessions · ■ Risk-On ■ Neutral ■ Risk-Off ▨ Recovery
Rotation gauge — offense (XLK/XLY/XLC/XLF/XLI/XLB) vs defense (XLU/XLP/XLV) TSI-breadth
Offense 37% (+17 / 10 sessions)
Defense 67%
Spread -29
Exit warning: defense leads offense by 29 points.
2025-09-18offense minus defense · green zone = offense leads by 10+ · red zone = defense leads by 10+2026-10-16
Recovery (▨ on the charts): during Risk-Off, offense leading defense by 10+ with offense above 40% has marked durable bottoms. In the 2016–2026 replay, re-entering there beat waiting for the regime to clear in both 2016–21 and 2022–26, with no deeper drawdown. The regime label itself is unchanged.
Exit warning: defense overtaking offense by 10+ came before the Risk-Off flag in 4 of the last 5 major drawdowns, but it also fires often in normal markets, so treat it as a warning, not an exit rule.
The regime, painted on SPY — last 12 months · ■ Risk-On ■ Neutral ■ Risk-Off ▨ Recovery
2025-10-20
SPY 763 · Neutral
Regime transition matrix
| from \ to | Risk-On | Neutral | Risk-Off | obs |
| Risk-On | 96% | 1% | 2% | 1720 |
| Neutral ← | 17% | 72% | 10% | 171 |
| Risk-Off | 4% | 3% | 93% | 807 |
Observed transition frequencies over 2,699 trading days since 2016-01-04 (2,542 pre-launch days reconstructed by replaying the identical live rule on historical data). Frequencies, not forecasts.
The receipts — 2016–2026 replay
5/5 major drawdowns flagged before −10%
56 Risk-Off flags · 79% false alarms
it's a smoke detector — every fire caught, most alarms weren't fires
| Market peak | Risk-Off flagged | SPY loss at flag | Days before −10% | Final depth |
| 2018-01-26 | 2018-02-02 | -3.9% | 6 | -10.1% |
| 2018-09-21 | 2018-10-10 | -4.8% | 65 | -19.3% |
| 2020-02-19 | 2020-02-24 | -4.7% | 3 | -33.7% |
| 2022-01-04 | 2022-01-18 | -4.4% | 35 | -24.5% |
| 2025-02-19 | 2025-02-27 | -4.5% | 14 | -18.8% |
Risk-On: 11.1% ann. vol · worst day -3.6%
Neutral: 13.3% ann. vol · worst day -3.2%
Risk-Off: 27.5% ann. vol · worst day -10.9%
What following it would have looked like
| Approach | CAGR | Volatility | Sharpe | Worst drawdown | Time in market |
| Buy & hold SPY | 15.1% | 17.8% | 0.89 | -33.7% | 100.0% |
| Step aside in Risk-Off, re-enter when it clears | 9.8% | 9.4% | 1.04 | -11.4% | 70.0% |
| Step aside in Risk-Off, re-enter on breadth recovery | 14.7% | 13.9% | 1.06 | -20.4% | 88.0% |
| Step aside in Risk-Off, re-enter on sector rotation (Recovery) | 13.9% | 10.7% | 1.28 | -12.6% | 76.0% |
Hypothetical replay at next-day close; no costs, taxes, or slippage. Re-entry uses a proprietary breadth-based recovery confirmation. Past performance does not predict future results.
How we score it: an episode is an SPY drawdown crossing −10% from a high; a catch means the state flipped Risk-Off before that cross; a false alarm is a Risk-Off flag not followed by a further −5% within 20 sessions. Replay uses only data available on each day — no fitted parameters, no hindsight. The signal's inputs are proprietary. This measures risk conditions, not future returns.
What we tested, and what we rejected →
Tape internals
S&P 500 advance/decline line (blue) vs SPY price (grey) · since 2026-01-02
Today: -129 (+186 / −315)
McClellan: +20
RSP / SPY — equal weight vs cap weight
YTD: -0.6%
52-wk: 33 highs · 65 lows of 2482
Up/Down vol: 0.4x
Above 20-day: 68.8% (+13.3 / 5d)
Expected-move rails — realized-vol based (HV → weekly ±1σ/±2σ), not options-implied
SPY
±1.47% / wk
740.74751.99763.25774.51785.76
QQQ
±2.61% / wk
672.69691.24709.8728.36746.91
DIA
±1.33% / wk
505.29512.17519.06525.95532.83
IWM
±2.06% / wk
259.29264.87270.45276.03281.61
Median stock expected move: ±3.57%/wk
0 of 502 S&P names (0.0%) already outside their weekly ±1σ band
VIX backwardation watch — part of the regime rule since 2026-09-14 · reading: last close (2026-10-16)
30-day VIX ÷ 3-month VIX
0.98
Near backwardation — watch
0.70
0.95
1.00
1.10
Within 0.50 VIX points of inverting (VIX 19.99 vs 3-month 20.49). Near-backwardation is a warning, not a trigger.
Intraday: VIX 18.56 vs VIX3M 20.50 = 0.91. The rule uses the close.
Last backwardation close 2026-04-07 (134 sessions ago)
1-yr percentile 90
9-day ÷ 30-day 1.01
VVIX 110.0
MOVE 101.1 bond vol
Term structure (daily close)
23.2
1D
20.1
9D
20.0
30D
20.5
3M
21.7
6M
22.6
1Y
Ratio over the last 90 sessions · - - 0.95 near · - - 1.00 Risk-Off trigger
2026-06-102026-10-16
The curve normally slopes upward (near-term volatility below longer-dated). When 30-day VIX closes above 3-month VIX (backwardation), the market is paying up for protection now, and the regime is Risk-Off. Added to the rule 2026-09-14 after a 10-year replay: drawdowns flagged unchanged at 5 of 5, Feb-2018 flagged three sessions earlier (at −3.9% instead of −7.9%), false-alarm rate unchanged at 79%. Near-backwardation (0.95+) is a warning only.
The whale's collar — our version, inspired by a large hedged-equity fund's quarterly SPX collar · estimated strikes, checked quarterly against public filings
SPX 7,659 live
vs cap 8,070 -5.1%
vs floor 7,270 +5.4%
tail 6,120
54 sessions to the roll (2026-12-31)
SPX
call cap
put floor (95%)
tail (80%)
expected move ±1σ (weekly)
EM midpoint
Distance to the cap into the roll — every quarter since 2023, aligned by sessions left · 0 = the call cap · ━ this quarter ━ finished above cap ━ finished inside
Breadth — indices, sectors & thematics
S&P 500 breadth (green, fixed 0–100 · dashed = 50%) vs SPY price (grey) · since 2026-02-12 · today 45.0%
| Index | Bullish (TSI≥0) | RSI-bullish | > 50-day | > 200-day | Avg TSI | Status |
| SPY S&P 500 |
45%
|
44% | 45% | 52% | -2.2 | Neutral |
| QQQ Nasdaq 100 |
52%
|
58% | 40% | 55% | +0.1 | Neutral |
| DIA Dow Jones |
50%
|
53% | 50% | 67% | +1.4 | Neutral |
| IWM Russell 2000 |
27%
|
30% | 24% | 42% | -12.4 | Bearish |
| IYT Transports |
18%
|
18% | 14% | 25% | -14.2 | Bearish |
| XOP Oil & Gas E&P |
71%
|
75% | 80% | 71% | +9.7 | Bullish |
| XLV Healthcare |
68%
|
68% | 73% | 83% | +9.2 | Bullish |
| XLU Utilities |
68%
|
39% | 71% | 16% | +3.1 | Bullish |
| XLE Energy |
67%
|
71% | 76% | 67% | +12.0 | Bullish |
| XLP Consumer Staples |
64%
|
55% | 70% | 67% | +3.7 | Lean Bullish |
| XLK Technology |
52%
|
67% | 36% | 59% | +2.6 | Neutral |
| XLY Consumer Disc. |
45%
|
45% | 40% | 36% | -4.2 | Lean Bearish |
| XLB Materials |
33%
|
25% | 46% | 62% | -7.0 | Bearish |
| XLI Industrials |
33%
|
28% | 30% | 40% | -6.5 | Bearish |
| XLC Communication |
32%
|
32% | 18% | 36% | -8.7 | Bearish |
| XLF Financials |
29%
|
30% | 39% | 58% | -10.4 | Bearish |
| SMH Semiconductors |
24%
|
60% | 12% | 52% | -1.9 | Bearish |
| XLRE Real Estate |
17%
|
17% | 23% | 23% | -15.5 | Bearish |
| XBI Biotech |
16%
|
20% | 15% | 35% | -21.0 | Bearish |
| JETS Airlines |
7%
|
7% | 9% | 24% | -18.9 | Bearish |
Sector strength over time — % of each sector's stocks with a bullish TSI · last 12 months · line at 50% · shading = ■ Neutral ■ Risk-Off ■ Recovery
Defensive (XLU/XLP/XLV) 67%
Cyclical (XLK/XLY/XLC/XLF/XLI/XLB) 37%
Leaders: Healthcare 68%, Utilities 68%
Weakest: Real Estate 17%, Financials 29%, Communication 32%, Industrials 33%
Defensives leading cyclicals: a classic risk-off rotation.
Offense
XLK Technology
52%
▼ 20 pts over 5 sessions
XLY Consumer Disc.
45%
▲ 19 pts over 5 sessions
XLC Communication
32%
▲ 5 pts over 5 sessions
XLF Financials
29%
▲ 16 pts over 5 sessions
XLI Industrials
33%
▲ 6 pts over 5 sessions
XLB Materials
33%
▲ 21 pts over 5 sessions
Defense & rate-sensitive
XLV Healthcare
68%
▲ 22 pts over 5 sessions
XLP Consumer Staples
64%
▲ 45 pts over 5 sessions
XLU Utilities
68%
▲ 55 pts over 5 sessions
XLRE Real Estate
17%
▲ 13 pts over 5 sessions
Inflation hedge
XLE Energy
67%
▲ 14 pts over 5 sessions
Each sector SPDR's current holdings; TSI(25, 13) per stock; 2025-09-18 → 2026-10-16. Readings before 2026-02-12 are reconstructed with today's constituents. Context only — not part of the regime signal.
Sector breakouts vs. expected moves — % of each sector's stocks that closed above their own weekly +1σ (▲) or below −1σ (▼) · grey band = normal (~16% each way) · last 26 weeks
Each stock's expected move comes from its own historical volatility (not options-implied), set from the prior Friday's close. Each sector SPDR's current holdings. Context only — not part of the regime signal.
52-week extremes by sector — % of holdings within 3% of high / 10% of low
XLE21 names
near high 38%
near low 0%
XLV60 names
near high 28%
near low 2%
XOP51 names
near high 22%
near low 2%
XLP34 names
near high 15%
near low 18%
XLF76 names
near high 9%
near low 9%
XLI83 names
near high 6%
near low 18%
IYT44 names
near high 5%
near low 16%
XLB24 names
near high 4%
near low 21%
XBI157 names
near high 3%
near low 17%
XLY47 names
near high 2%
near low 32%
XLK75 names
near high 1%
near low 1%
XLU31 names
near high 0%
near low 42%
SMH25 names
near high 0%
near low 4%
XLRE30 names
near high 0%
near low 37%
XLC22 names
near high 0%
near low 36%
JETS46 names
near high 0%
near low 39%
Regime states are classified daily from proprietary trend and volatility conditions across the major U.S. indices; transition probabilities are observed frequencies, not forecasts.
A/D line and McClellan computed from S&P 500 constituents' daily prices. Expected moves are historical-volatility projections, not options-implied.
Not investment advice.
The Fed follows the 2-year
Every Fed cutting cycle since 2000 was preceded by the 2-year yield crossing below the funds rate
(leads of 4–20 months) · monthly, FRED
2Y Treasury 4.65%
Fed funds 3.75%
spread +0.90 · 2Y above since 2026-03
2000 cuts · called 6mo early
2007 cuts · called 13mo early
2019 cuts · called 4mo early
2024 cuts · called 20mo early
labor flag: quiet
· Sahm 0.00 · payrolls +0.2% 6m
2000 · 2005 · 2010 · 2015 · 2020 · 2025
0.1–6.8% · as of 2026-09