— Know what they know.
Not Investment Advice
← Markov regime engine

What we tested, what worked, what didn't

Every idea we tried on the Markov regime engine, including the ones that failed. The evaluation is public. The recipe stays private: signals are described by what they measure, not by their settings.

5 of 5
S&P 500 drawdowns of 10% or more flagged Risk-Off before the −10% mark
79%
of Risk-Off alarms were false alarms (44 of 56). It is a smoke detector, and we say so.
2.5×
daily volatility in Risk-Off vs Risk-On (27.5% vs 11.1% annualized)
2,679
sessions tested, Jan 2016 to Aug 2026

How we test

  • Ten years, one rule. Labels since Feb 2026 are live. Earlier labels replay the same production rule on index prices, with no fitted parameters. When the rule changes, the whole history is re-run and the change is dated on this page.
  • Next-close execution. A signal seen today is acted on at the next session's close. No costs, taxes or slippage.
  • Drawdown episode. The S&P 500 ETF falling 10% or more from a peak.
  • False alarm. A Risk-Off entry not followed by a further 5% decline within 20 sessions.
  • In-sample honesty. Thresholds for the newer signals were chosen on the full history. Where we split 2016–21 from 2022–26 we show both halves. Only the forward log at the bottom is truly out of sample.
  • Survivorship. Breadth studies use today's index members, which flatters the past slightly.
  • What is live, what is dated. The receipts and strategy rows are read from the current replay (re-run 2026-09-14). The signal studies were run on 2026-09-13.

The receipts: every 10% drawdown since 2016

Bar = how deep the drawdown went. Dot = how far down the market was when the model flipped to Risk-Off. Dashed line = the −10% mark.

full drawdownflagged Risk-Off−10% mark
Early 2018 · fell 10.1%flagged at −3.9%, 6 days before the −10% mark
Late 2018 · fell 19.3%flagged at −4.8%, 65 days before the −10% mark
COVID 2020 · fell 33.7%flagged at −4.7%, 3 days before the −10% mark
2022 bear market · fell 24.5%flagged at −4.4%, 35 days before the −10% mark
Spring 2025 · fell 18.8%flagged at −4.5%, 14 days before the −10% mark
peak−10%−20%−30%−40%−50%

It measures risk, not direction

Annualized volatility of daily S&P 500 returns in each state.

Risk-On1,722 days
11.1%
Neutral152 days
13.3%
Risk-Off804 days
27.5%

Risk-Off days have also been followed by higher average 20-session returns than Risk-On days, with far wider swings. The label tells you the ground is shaking, not which way the next move goes.

What stepping aside would have done

Hypothetical: sell when the label turns Risk-Off, buy back on one of three re-entry rules. 2016–2026, next-close execution.

buy & holdstep aside in Risk-Off

Annual return

Buy & hold
15.1%
Re-enter when the label clears
9.8%
Re-enter on breadth recovery
14.7%
Re-enter on sector rotation
13.9%

Sharpe ratio (higher is better)

Buy & hold
0.89
Re-enter when the label clears
1.04
Re-enter on breadth recovery
1.06
Re-enter on sector rotation
1.28

Worst drawdown (shorter is better)

Buy & hold
−33.7%
Re-enter when the label clears
−11.4%
Re-enter on breadth recovery
−20.4%
Re-enter on sector rotation
−12.6%
Table view
StrategyAnnual returnVolatilitySharpeWorst drawdownIn market
Buy & hold SPY15.1%17.8%0.89-33.7%100%
Step aside in Risk-Off, re-enter when it clears9.8%9.4%1.04-11.4%70%
Step aside in Risk-Off, re-enter on breadth recovery14.7%13.9%1.06-20.4%88%
Step aside in Risk-Off, re-enter on sector rotation (Recovery)13.9%10.7%1.28-12.6%76%

Changes, dated. 2026-09-13: an earlier version of the breadth re-entry row exited again the day after re-entering, which overstated it; fixed. 2026-09-14: VIX backwardation joined the rule and every row was re-run (strategy rows as of 2026-09-14).

Signal by signal

Adopted = changes what the page tells you. Display-only = shown as context, not part of the regime label. Rejected = tested and dropped.

VIX backwardation as a rule input

✓ Adopted 2026-09-14

Should a close with 30-day VIX above 3-month VIX (an inverted, or backwardated, curve) turn the label Risk-Off on its own?

18 sessionsrelabeled Risk-Off since 2016
5 of 5drawdowns flagged, unchanged
48 → 56Risk-Off alarms
79%false alarms, unchanged
3 sessions earlieron Feb 2018 (at −3.9% instead of −7.9%)

Why adopted: it is the plain definition of inversion, an industry-standard stress signal, with no tuned setting. It adds a little warning time and slightly improves every stepping-aside row without raising the false-alarm rate. The receipts and strategy rows on this page were re-run the same day. Live backwardation watch →

Sector rotation re-entry ("Recovery")

✓ Adopted, display state

During a Risk-Off stretch, does cyclical sectors' breadth pulling clearly ahead of defensive sectors mark a better time to get back in than waiting for the label to clear?

11 sessionsmedian lag of the plain label after the low
+6.1%median gain missed by waiting
190Recovery sessions since 2016
re-enter when the label clearsre-enter on sector rotation

2016–2021 · Sharpe ratio

Label clears
1.17
Sector rotation
1.44

2022–2026 · Sharpe ratio

Label clears
0.87
Sector rotation
0.96

Why adopted: better in both halves of the sample, not just one lucky period, and the other re-entry ideas we tried bought false bottoms. Shown as a hatched "Recovery" state on the page; the regime label itself is unchanged.

Early-warning score

◐ Display-only

Six tells: breadth falling fast, index/breadth divergence, sector stress, bond volatility high and rising, the VIX curve flattening toward inversion, and the 2-year yield pulling above Fed funds. When several line up on a calm day, does trouble follow?

all days not already Risk-Offdays when several tells lined up

Followed by a 10%+ decline within 60 sessions

All non-Risk-Off days2016–2026
~9%
Several tells, 2016–20216 days
67%
Several tells, 2022–202626 days
64%
12separate episodes
7 of 10turned Risk-Off within 20 sessions
4 of 10saw a 10%+ decline within 60

Why display-only: thresholds were picked on the full sample and the day counts are small. As a hard exit rule it raised the Sharpe ratio but deepened the worst drawdown. The strongest readings on a calm day have happened twice: 2021-12-07, before the 2022 bear market, and 2026-09-10.

Index vs breadth divergence

◐ Display-only

What happens when the S&P 500's own trend is still positive but most of its stocks have already rolled over?

10–20 daysin ten years, rare
+2.9 to +3.1%average 20 sessions later
−1.2 to +0.9%60 sessions later, vs +3.6% for all days

Why display-only: the near term was fine, the next three months were weaker, and about half the episodes had a 5–9% pullback within 60 sessions (roughly 30% normally). Only one went past −10%. With two to eight episodes depending on the variant, that is a watch signal, not a proven one.

Breadth speed

◐ Display-only

When the share of S&P 500 stocks in an uptrend drops fast over a week, does the label follow?

Label turned Risk-Off within 10 sessions

base 19.7%
Breadth rising and healthy
10%
Fast drop, breadth already weak
42%
Fast drop from firmer breadth
51–54%

Why display-only: it anticipates the label, not the market. The S&P 500's next 20 sessions after a fast drop were normal (+0.71% vs +0.76%). Used as an exit trigger it added seven false alarms for noise-level gains.

VIX curve shape

◐ Display-only

Does the shape of the VIX curve say how rough the next three months get?

Followed by a 10%+ decline within 60 sessions

Steepest calm curvetop fifth of contango
3%
All days
11%
Inverted curvebackwardation
25%

Why display-only: a steep, calm curve is genuinely reassuring (forward realized volatility 9.6 vs 14.8 normally). The inverted end of the curve is now part of the rule (see above); the rest of the shape grades the storm rather than timing it.

2-year yield above Fed funds

◐ Display-only

When the 2-year Treasury yield sits above the Fed funds rate and the gap is widening, the bond market is pricing hikes or sticky inflation. Does that hurt stocks?

24 monthssince 2016
−0.38%average S&P 500 next 3 months, vs +3.92% for all months
48%of those 3-month windows were down, vs 22%

Why display-only: effectively two episodes, and they split: the 2022 bear market and the spring-2026 rebound (+14.7% in three months). It stays as one of the six early-warning tells.

Trend breadth as a model input

✕ Rejected

Would the share of stocks in an uptrend (equal-weight, cap-weight or by sector) make the regime label better?

0earlier flips, as exit trigger, extra vote or gate
79–81%false alarms, no better
0.98correlation, reconstruction vs live

Why rejected: it is redundant with the trend conditions the model already reads. Breadth averages about 70% in Risk-On and 38% in Risk-Off. Cap-weighting made it more redundant, not less. It stays on the page as context, and it feeds the sector rotation read above.

Trend-oscillator crosses and speed

✕ Rejected

Does the S&P 500's momentum oscillator crossing its signal line, or accelerating, flag the next move?

+1.39% vs +1.27%20 sessions after a falling signal line vs all days
n = 31crosses up from below zero
p = 0.21not significant

Why rejected: direction barely matters; the zone matters more, and it is contrarian. Speed added nothing beyond zone and regime. One state-dependent effect held up: inside Risk-Off, a rising signal line cut the worst 20-session outcome from −21.8% to −12.1%.

Breadth as a lead on the flip

✕ Rejected

Does breadth turning before the label give advance notice of a regime change?

−1 sessionmedian lead on Risk-Off entries
0 sessionson exits
30% / 39%of the time breadth turned first

Why rejected: breadth and the label move together. 96% of Risk-On days have a majority of stocks in uptrends, and 76% of Risk-Off days have a minority. Confirmation, not a lead.

Single-signal bottom calls

✕ Rejected

Can one bounce signal on its own call the bottom: a raw breadth bounce or thrust, the VIX coming off its peak, the S&P 500 back above its 20-day average, or the VIX curve returning to normal?

−21% to −32%worst drawdowns: they bought false bottoms
11 of 22Risk-Off stretches where a raw breadth thrust fired before the low

Why rejected: used on its own, each buys back into bear-market rallies. The published "re-enter on breadth recovery" row works differently: it waits for a breadth recovery confirmation and then holds until the Risk-Off period ends, instead of treating one bounce as the bottom. The curve-normalizing trigger looked good only at one fragile setting, and most of its edge came from 2020.

Also tested, briefly

  • ✕ RejectedBond volatility (MOVE) as a trigger. No improvement on the receipts. It survives as one of the six early-warning tells.
  • ✕ RejectedEqual-weight leading cap-weight as re-entry. No edge.
  • ◐ Display-onlySector washouts and bounces. Sectors with broad weekly breakdowns tended to bounce in Risk-Off markets and kept falling in Neutral markets with rates rising, so the page shows breakdowns without a bounce call.
  • ◐ Display-onlyNarrow leadership. On 2026-09-11, 55.5% of the index by weight was in an uptrend but only 36.4% of its stocks. Context for the divergence card, not an input.

Pre-registered from here

In-sample results are only a start. These are logged every trading day, before the outcome is known, and a logged day is never rewritten, so the forward record can be checked against this page.

Early-warning score

Daily count and which tells were on. Forward record starts 2026-09-14.

Sector rotation

Daily cyclical vs defensive breadth and the Recovery state. Forward record starts 2026-09-14.

Rule changes

2026-09-14: VIX backwardation added; receipts and strategy rows re-run. Any future change is dated here, with before and after.

Hypothetical results from a replay of the production rule, not a track record of real trades. No costs, taxes or slippage. Past behavior does not guarantee future results. Not investment advice. Breadth studies use current index members. Back to the Markov regime engine →

Sign in to InsiderStreet

You'll also get our free weekly newsletter with
smart money signals, market insights, and alpha ideas.
Unsubscribe anytime.

For informational purposes only. Not investment advice. Data sourced from SEC filings. Privacy Terms