200-Day SMA Regime Filter
Own the asset when price closes above its 200-day average; hold cash when it closes below.
The rules
- WHEN the market opens · IF not invested AND yesterday's close > SMA(200) · THEN buy with 98% of the sleeve
- WHEN the market opens · IF invested AND yesterday's close < SMA(200) · THEN sell the whole position
One rule, one number, and one of the most-studied timing signals in finance: price above the 200-day moving average has historically coincided with better returns and lower volatility than price below it. This template is the purest expression — no crossovers, no oscillators, just which side of the long-term average the price sits on.
Good for: a first systematic strategy — it's simple enough to fully understand and audit every trade.
Watch out: price whips around the 200-day line during volatile bottoms, generating clusters of buy-sell pairs; some traders add a small buffer band to reduce churn.
Build it from blocks (or type it in English), backtest it on 5.5 years of minute data in seconds, tweak any parameter, then paper trade it on live data. No card, no broker needed to start.
Results on every ETF
| ETF | CAGR | buy & hold | max DD | Sharpe | trades | win rate |
|---|---|---|---|---|---|---|
| SOXL | 31.6% | 30.2% | −63.6% | 0.75 | 19 | 37% |
| TQQQ | 23.6% | 22.3% | −36.6% | 0.73 | 13 | 38% |
| QLD | 19.6% | 21.6% | −28.8% | 0.79 | 12 | 42% |
| SOXX | 17.4% | 29.6% | −39.2% | 0.73 | 19 | 26% |
| XLK | 14.8% | 20.2% | −19.6% | 0.89 | 11 | 36% |
| ROM | 13.8% | 26.1% | −42.2% | 0.56 | 18 | 33% |
| IAU | 13.6% | 13.6% | −19.9% | 0.90 | 21 | 24% |
| SSO | 12.1% | 21.5% | −31.2% | 0.68 | 17 | 35% |
| QQQM | 12.0% | 15.8% | −19.9% | 0.88 | 10 | 20% |
| QQQ | 11.9% | 15.8% | −20.0% | 0.87 | 10 | 20% |
| IOO | 10.7% | 16.4% | −16.5% | 0.96 | 15 | 33% |
| VOOG | 9.9% | 14.9% | −22.7% | 0.80 | 17 | 18% |
| SPUU | 9.8% | 22.0% | −37.3% | 0.57 | 17 | 24% |
| VOO | 8.0% | 14.3% | −17.9% | 0.81 | 15 | 40% |
| VOX | 8.0% | 9.2% | −18.4% | 0.66 | 12 | 33% |
| SPY | 7.9% | 14.4% | −17.9% | 0.80 | 15 | 40% |
| VV | 7.4% | 13.9% | −19.9% | 0.75 | 13 | 31% |
| EEM | 6.8% | 5.6% | −17.7% | 0.55 | 15 | 27% |
| TECL | 5.6% | 31.9% | −64.5% | 0.36 | 20 | 20% |
| IWM | 5.6% | 8.5% | −22.2% | 0.46 | 17 | 41% |
| QQQE | 5.1% | 9.4% | −15.3% | 0.47 | 15 | 33% |
| VOOV | 4.6% | 13.2% | −18.1% | 0.51 | 23 | 26% |
| VTV | 4.4% | 13.9% | −23.4% | 0.48 | 21 | 29% |
| QAI | 4.3% | 3.9% | −6.0% | 0.96 | 7 | 29% |
| SGOV | 3.2% | 3.2% | −0.1% | 13.61 | 3 | 67% |
| TBF | 3.1% | 11.0% | −23.8% | 0.30 | 28 | 39% |
| XLF | 3.0% | 14.1% | −22.0% | 0.30 | 19 | 16% |
| USDU | 2.6% | 5.1% | −11.2% | 0.52 | 17 | 29% |
| ALTY | 2.4% | 8.7% | −12.1% | 0.39 | 16 | 13% |
| FXE | 1.6% | −0.7% | −6.4% | 0.35 | 14 | 36% |
| IGIB | 1.5% | 0.9% | −5.4% | 0.38 | 23 | 35% |
| UDN | 1.4% | −1.0% | −5.4% | 0.32 | 17 | 53% |
| IEI | 1.1% | 0.0% | −4.6% | 0.38 | 18 | 33% |
| AGG | 0.6% | −0.3% | −6.1% | 0.17 | 23 | 39% |
| BND | 0.5% | −0.3% | −6.5% | 0.14 | 19 | 37% |
| XLP | −0.5% | 7.0% | −21.9% | 0.01 | 35 | 26% |
| FAS | −0.5% | 22.9% | −54.9% | 0.15 | 30 | 27% |
| KMLM | −0.7% | 6.0% | −28.6% | -0.02 | 21 | 14% |
| IEF | −1.5% | −1.6% | −11.6% | -0.32 | 31 | 23% |
| XLY | −1.7% | 7.3% | −27.3% | -0.05 | 25 | 24% |
| CTA | −1.9% | 7.2% | −18.6% | -0.08 | 23 | 30% |
| PSQ | −2.4% | −13.2% | −20.1% | -0.09 | 15 | 20% |
| RINF | −2.6% | 6.6% | −21.4% | -0.20 | 37 | 32% |
| SOXS | −2.9% | −30.5% | −55.6% | 0.11 | 2 | 0% |
| SPDN | −4.5% | −9.7% | −29.0% | -0.33 | 23 | 17% |
| SH | −4.7% | −9.9% | −29.9% | -0.36 | 24 | 17% |
| EEV | −5.8% | −14.5% | −59.4% | -0.13 | 22 | 14% |
| UST | −6.3% | −7.3% | −34.4% | -0.83 | 34 | 29% |
| SDS | −7.8% | −22.1% | −44.3% | -0.26 | 17 | 0% |
| TLT | −7.9% | −7.3% | −40.4% | -1.06 | 48 | 15% |
| SQQQ | −10.6% | −30.9% | −63.3% | -0.06 | 13 | 31% |
| QID | −10.8% | −28.9% | −55.1% | -0.25 | 17 | 18% |
| TMF | −10.9% | −30.7% | −53.3% | -0.71 | 17 | 0% |
| TECS | −11.4% | −21.8% | −54.0% | -0.16 | 17 | 18% |
| VXZ | −11.8% | −13.9% | −53.5% | -0.61 | 31 | 26% |
| VIXM | −12.6% | −14.9% | −53.6% | -0.61 | 30 | 17% |
| REW | −13.5% | −33.6% | −61.4% | -0.29 | 19 | 16% |
| UVXY | −29.9% | −38.0% | −85.9% | -0.91 | 12 | 0% |
| CLSE | −100.0% | 20.1% | −236327.8% | -0.07 | 2 | 0% |
Frequently asked questions
What is the 200-day regime filter strategy?
Own the asset when price closes above its 200-day average; hold cash when it closes below. One rule, one number, and one of the most-studied timing signals in finance: price above the 200-day moving average has historically coincided with better returns and lower volatility than price below it. This template is the purest expression — no crossovers, no oscillators, just which side of the long-term average the price sits on.
Does 200-day regime filter beat buy-and-hold?
Across 59 ETFs backtested 2021-01-04–2026-07-17, it beat same-ETF buy-and-hold on 27 of 59 (46%). Median CAGR was 1.6% with a median max drawdown of 22.7%. Per-ETF results vary widely — see the table.
Why the 200-day average specifically?
Convention and evidence: it approximates a year of trading days and has been studied across decades of data. It isn't optimal everywhere — the per-ETF backtests here show where it helped and where it didn't.
Compare with other strategies
Backtests are hypothetical, computed by DeployQuant's engine on minute-resolution consolidated US market data (2021-01-04 to 2026-07-17, $10,000 starting capital, no margin, fees and slippage not modeled) and do not guarantee future results. Nothing on this page is investment advice. Live trading involves risk of loss.