Learn › Strategies › 200-Day SMA Regime Filter › VOO

200-Day SMA Regime Filter on VOO

Vanguard S&P 500 ETF: Vanguard's low-cost S&P 500 tracker. Backtest 2021-01-04 to 2026-10-02, $10,000 starting capital, computed by the same engine that runs live DeployQuant strategies.

Result: 200-day regime filter on VOO turned $10,000 into $15,902 (59.0% total, 8.4% CAGR): it trailed buy-and-hold by 6.0% per year, with a maximum drawdown 5.7 points shallower than holding (17.9% vs 23.6%).
8.4%CAGR
14.4%buy & hold CAGR
−17.9%max drawdown
0.84Sharpe ratio
15round trips
40%win rate
■ 200-day regime filter   ■ buy & hold, $10,000 invested 2021-01-04

Year by year

Year200-day regime filterbuy & hold
20216.0%29.2%
2022−12.4%−17.5%
202312.9%25.2%
202424.2%24.1%
202510.4%17.3%
202610.7%13.5%

Month by month

YearJanFebMarAprMayJunJulAugSepOctNovDec
20210.0%0.0%0.0%0.0%0.0%0.0%0.0%0.0%0.0%2.3%−0.7%4.4%
2022−5.5%−3.3%1.5%−1.9%0.0%0.0%0.0%0.1%0.0%0.0%0.0%−3.8%
20230.7%−2.4%0.6%1.6%0.5%6.4%3.2%−1.6%−4.7%−2.5%6.7%4.5%
20241.6%5.0%3.2%−3.9%4.9%3.4%1.1%2.3%2.1%−0.9%5.8%−2.3%
20252.6%−1.3%−6.9%0.0%1.1%4.9%2.2%2.0%3.4%2.3%0.2%0.1%
20261.4%−0.8%−3.7%6.3%5.2%−1.1%0.1%2.6%−0.3%0.9%––

Every trade

200-day regime filter on VOO made 15 closed round trips and one position still open at the end of the test, an average hold of 82 days, an average winner of 9.40%, an average loser of −1.81%, a profit factor of 3.54, a longest losing streak of 4. It held a position at the close on 67.2% of trading days.

EntryEntry priceExitExit priceReturnDays held
2021-10-19$384.542022-01-24$370.93−3.5%97
2022-01-25$372.482022-01-26$379.141.8%1
2022-01-31$379.522022-02-14$379.26−0.1%14
2022-02-16$382.072022-02-18$376.52−1.4%2
2022-03-21$383.842022-04-12$381.83−0.5%22
2022-08-17$369.532022-08-18$370.040.1%1
2022-12-01$355.342022-12-06$347.60−2.2%5
2022-12-14$349.922022-12-15$343.65−1.8%1
2023-01-12$346.682023-01-19$340.69−1.7%7
2023-01-23$346.452023-03-13$333.96−3.6%49
2023-03-15$337.492023-03-16$338.080.2%1
2023-03-17$345.402023-10-26$368.306.6%223
2023-11-02$377.452025-03-11$504.0133.5%495
2025-03-25$519.772025-03-27$512.36−1.4%2
2025-05-13$526.592026-03-23$601.1114.2%314
2026-04-09$616.79open–14.7%–

Prices are adjusted for splits and dividends, so they sit below the quotes printed at the time. An open position is marked at the last close.

Largest drawdowns

PeakLow pointDepthDays to lowRecoveredDays to recover
2022-01-032023-03-17−17.9%4382024-01-23312
2025-02-192025-05-23−10.3%932025-08-2897
2024-07-162024-08-05−8.2%202024-09-1945

Buy-and-hold's deepest drawdown ran from 2022-01-03 to 2022-10-12 and reached −23.6%.

With trading costs

The headline run fills at the bar price. These runs charge slippage on every fill.

Slippage per fillCAGRMax drawdownFinal valueSharpe
None (headline)8.4%−17.9%$15,9020.84
5 basis points8.1%−18.8%$15,6380.81
10 basis points7.8%−19.7%$15,3770.79

Changing the parameters

VersionCAGRMax drawdownRound tripsWin rateFinal value
Published rules8.4%−17.9%1540%$15,902
100-day SMA10.3%−15.3%2148%$17,566
150-day SMA9.5%−17.3%1638%$16,868
250-day SMA6.8%−17.8%1729%$14,559

How VOO behaved

MeasureVOO
Data in this test2021-01-04 to 2026-10-02 (1444 sessions)
Total return, buy and hold126.1%
Annualized volatility16.4%
Deepest drawdown−24.5% (2022-01-03 to 2022-10-12)
Up days54.4%
Average daily range1.14%
Average overnight gap0.44%
Correlation to SPY1.00
Correlation to QQQ0.94
Correlation to TLT0.08
Sessions above the 200-day average78.0%
Crossings of the 200-day average30
Falls of 10% or more from a 20-day high11

The rules

Own the asset when price closes above its 200-day average; hold cash when it closes below.

  1. WHEN the market opens · IF not invested AND yesterday's close > SMA(200) · THEN buy with 98% of the sleeve
  2. WHEN the market opens · IF invested AND yesterday's close < SMA(200) · THEN sell the whole position

One rule and one number. Price above the 200-day moving average has historically coincided with better returns and lower volatility than price below it. This template uses no crossovers and no oscillators, only which side of the long-term average the price is on.

Good for: a first systematic strategy, simple enough to 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.

Run 200-day regime filter on VOO yourself, free →

Build it from blocks (or type it in English), backtest it on 5.7 years of minute data in seconds, tweak any parameter, then paper trade it on live data. No card, no broker needed to start.

Frequently asked questions

Did 200-day regime filter beat buy-and-hold on VOO?

Over 2021-01-04 to 2026-10-02, 200-day regime filter on VOO returned 8.4% annualized vs 14.4% for buy-and-hold: it trailed buy-and-hold by 6.0% per year, with a maximum drawdown 5.7 points shallower than holding (17.9% vs 23.6%).

How many trades did it make?

15 completed round trips over 5.7 years (31 fills), with 40% of round trips closing profitably.

Why the 200-day average specifically?

It approximates a year of trading days and has been studied across decades of data. It is not the best window for every asset. The per-ETF backtests here show where it helped and where it didn't.

Related

200-Day SMA Regime Filter on all 59 ETFsfull results table All strategies on VOO12 templates compared RSI(14) Mean Reversion on VOOsame ETF, different rulesRSI(2) Dip Snapback on VOOsame ETF, different rules

Backtests are hypothetical, computed by DeployQuant's engine on minute-resolution consolidated US market data (2021-01-04 to 2026-10-02, $10,000 starting capital, no margin, no fees or slippage in the headline run; buy-and-hold puts 98% of the account in at the first open, as the templates do) and do not guarantee future results. Nothing on this page is investment advice. Live trading involves risk of loss.