Trading Strategy Backtests on the SPY

About this data

Each strategy simulates investing $100,000 in SPY from January 1993 to the present. The table shows full-period CAGR, max drawdown, trailing returns (1/5/10yr), and rolling 5yr and 10yr CAGR windows (median, best, worst). Click any strategy to overlay its equity curve on the chart; click a rolling best/worst or max drawdown cell to highlight that period.

Dividends included. SPY price data from Yahoo Finance is dividend-adjusted — historical prices are retroactively lowered so that price appreciation reflects total return including reinvested dividends. Buy and Hold's 10.47% CAGR is total return, not price-only.

Cash earns 0% interest. When a strategy moves to cash, that cash earns nothing. This is a conservative bias — it makes it harder for timing strategies to beat Buy and Hold.

Trailing CAGR Rolling 5yr Rolling 10yr
Strategy Full Max DD 1yr 5yr 10yr Median Best Worst Median Best Worst
Buy and Hold Invest 100% on day 1 and never sell.
10.5% -55.2% 18.3% 12.1% 14.3% 11.3% 28.3% -8.4% 8.6% 17.6% -4.2%
2x Leveraged MA200 Exit 2x leverage above 200 MA, 100% cash below.
21.7% -31.6% 27.1% 24.3% 27.5% 21.1% 55.6% 0.9% 19.5% 31.7% 3.9%
Leveraged on Signal 1.5x leverage above 200 MA, 1x below.
20.2% -54.8% 27.8% 22.2% 25.2% 21.2% 46.1% -2.7% 18.1% 28.5% 2.4%
2x Leveraged B&H Simulate 2x daily leverage on SPY buy and hold (like SSO).
17.9% -83.7% 35.0% 22.2% 26.4% 20.6% 59.9% -20.3% 13.6% 34.9% -12.5%
1.5x Leveraged B&H Simulate 1.5x daily leverage on SPY buy and hold.
14.6% -72.2% 26.9% 17.5% 20.7% 16.2% 43.8% -14.0% 11.6% 26.4% -7.9%
Cash + 2x Leverage 50% cash + 2x leveraged SPY; deploy cash on 10%+ dips.
14.1% -82.2% 30.7% 18.7% 21.3% 18.5% 45.5% -20.4% 11.3% 31.4% -11.9%
Golden Cross 1.5x 1.5x leveraged above golden cross, 100% cash below.
13.6% -47.3% 1.2% 14.4% 13.9% 13.0% 36.7% -3.2% 12.3% 20.6% 5.1%
SMA200 + RSI Pullback Stay invested above 200 MA; below it, only buy RSI(2) < 5 dips.
12.6% -33.7% 30.0% 15.3% 14.1% 11.8% 27.2% 1.2% 11.6% 16.5% 5.7%
Momentum Check 12M Monthly: invest if 12-month return > 0, else cash.
11.0% -33.7% 18.3% 11.8% 12.2% 9.8% 28.3% -0.2% 10.3% 15.3% 3.6%
Yield Curve Signal Cash when yield curve inverts (10yr < 5yr), invest when normal.
10.4% -55.2% 18.3% 10.3% 13.4% 11.7% 29.2% -8.4% 9.1% 17.6% -3.9%
Dual Momentum Invest if SPY 12m return positive AND beats T-bill yield.
10.4% -33.7% 18.3% 10.8% 11.1% 9.4% 26.9% -1.3% 9.8% 14.5% 3.3%
Cash Reserve Slow Rebuild Hold 10% cash; deploy on 5% dip, rebuild 1%/month near ATH.
10.3% -55.1% 18.3% 12.1% 14.0% 11.2% 27.7% -8.3% 8.5% 17.5% -4.1%
Cash Reserve Deep Dip Hold 10% cash; deploy on 10% dip, rebuild only after 21 days at ATH.
10.3% -55.2% 18.3% 12.1% 14.3% 11.3% 27.4% -8.4% 8.5% 17.6% -4.2%
Volatility Scaled Cash Size cash reserve by realized vol (5-20%); deploy on dips, rebalance monthly.
10.3% -54.8% 18.0% 11.8% 13.6% 11.1% 27.7% -8.3% 8.6% 17.6% -4.0%
Crash Budget Hold 10% cash; deploy at -10%, all-in at -20%, rebuild 1%/mo near ATH.
10.0% -54.6% 18.6% 12.0% 13.9% 11.0% 26.5% -8.3% 8.3% 17.0% -4.1%
200 Day MA Risk Toggle 100% invested above 200-day MA, 50% below. Rebalance when >2% off.
9.7% -37.0% 15.7% 11.1% 12.9% 9.6% 26.1% -4.0% 8.2% 15.2% -1.5%
Adaptive MA (KAMA) Kaufman Adaptive MA: fast in trends, slow in chop.
9.4% -34.7% 10.7% 5.0% 9.3% 8.4% 24.5% 0.1% 9.0% 14.5% 3.7%
SMA Crossover 50/200 Buy on golden cross (50-day SMA > 200-day), sell on death cross.
9.4% -33.7% 0.8% 9.9% 9.6% 8.9% 23.8% -1.6% 8.6% 13.8% 4.0%
Golden Cross Delayed SMA 50/200 crossover with 5-day confirmation delay.
9.3% -33.7% 3.9% 10.4% 9.5% 8.7% 23.5% -3.1% 8.2% 13.9% 3.5%
ATR Trailing Stop 3x Buy and hold with 3x ATR trailing stop, re-enter on new high.
9.2% -57.2% 20.1% 12.1% 15.4% 12.2% 23.4% -9.7% 6.6% 18.3% -6.4%
Percent From High Scale allocation by distance from 52-week high: 100%/80%/60%/40%.
9.2% -35.2% 14.9% 10.2% 11.8% 9.3% 26.3% -2.7% 8.3% 14.5% -0.5%
Momentum + Trend Combo Invest when 12M return > 0 AND price > 200-day SMA.
9.2% -25.3% 13.0% 8.7% 10.4% 8.8% 27.0% -2.3% 8.7% 13.2% 2.3%
Monthly Seasonality Weight months by historical avg returns: heavy Nov-Apr, light Jun-Sep.
9.1% -44.1% 5.8% 9.0% 11.0% 9.9% 22.3% -6.0% 8.8% 15.1% -1.4%
Vol Target 15% Scale position to target 15% annualized volatility, rebalance weekly.
8.9% -47.0% 12.9% 11.3% 12.3% 9.6% 22.7% -6.7% 7.9% 14.4% -2.1%
Multi-Factor Regime Score from VIX + trend + momentum → allocate 0-100%.
8.8% -23.2% 14.1% 8.4% 9.5% 8.4% 23.7% -1.4% 8.4% 11.8% 2.6%
VIX Buy Spikes 80% base allocation, increase to 100% on VIX spikes > 35.
8.8% -52.1% 15.6% 10.2% 11.9% 9.6% 23.4% -8.3% 7.5% 15.3% -3.9%
200-Day MA 25% Floor 100% above 200 MA, 25% below (partial risk-off).
8.8% -29.0% 12.0% 9.2% 11.0% 8.4% 25.6% -2.5% 8.2% 13.5% -0.8%
Momentum Check 6M Monthly: if SPY 6-month return > 0, invest; otherwise cash.
8.6% -33.7% 7.0% 9.3% 7.8% 7.8% 24.1% -1.7% 7.9% 13.0% 2.9%
ATR Trailing Stop 2x Buy and hold with 2x ATR trailing stop (tighter).
8.5% -60.2% 14.0% 9.8% 12.2% 9.6% 23.6% -11.4% 7.0% 16.8% -5.4%
200 Day MA Full Exit 100% invested above 200-day MA, 100% cash below.
8.4% -28.0% 12.5% 9.6% 11.1% 7.7% 24.0% -3.1% 7.1% 13.6% -0.9%
Momentum Check 3M Monthly: invest if 3-month return > 0, else cash.
7.7% -31.4% 13.8% 11.6% 10.0% 6.6% 22.3% -4.2% 6.9% 10.6% -1.7%
RSI(2) Pullback Buy when RSI(2) < 10, sell when RSI(2) > 90 (Connors-style).
7.7% -32.8% 23.0% 15.6% 8.4% 6.6% 19.5% -2.4% 6.4% 10.2% 0.8%
Vol Target 10% Scale position to target 10% annualized volatility, rebalance weekly.
7.4% -36.0% 11.2% 9.1% 10.3% 7.6% 18.3% -5.3% 6.6% 11.4% -0.9%
Bollinger Band Bounce Buy below lower Bollinger Band, sell above upper band.
7.3% -50.3% 13.8% 8.7% 11.2% 9.8% 19.0% -7.0% 6.0% 14.5% -3.5%
Relative Strength vs Bonds SPY if SPY 12m return > TLT 12m return, else cash.
7.1% -47.5% 18.3% 12.1% 6.9% 4.9% 28.3% -5.3% 4.6% 11.9% 0.1%
VIX Regime Switch 100% at VIX<15, 70% at VIX<25, 30% at VIX>25.
7.1% -33.7% 9.1% 8.3% 10.0% 7.4% 18.8% -4.3% 5.6% 11.1% -1.4%
RSI(5) Moderate Buy when RSI(5) < 20, sell when RSI(5) > 80.
6.9% -40.0% 25.0% 11.8% 6.5% 5.6% 16.9% -3.6% 6.3% 10.2% 0.4%
Trend + Vol Target Above 200 MA: vol-target 12% position. Below: 100% cash.
6.9% -20.2% 9.7% 7.8% 9.1% 6.4% 18.1% -2.5% 6.5% 10.4% 0.4%
ADX Trend Filter Buy when ADX > 25 (strong trend), exit when ADX < 20.
6.8% -47.3% 8.7% 7.9% 9.3% 8.6% 16.7% -6.2% 5.7% 13.2% -2.8%
Sell in May 100% invested Nov–Apr, 100% cash May–Oct.
6.6% -33.7% -3.9% 3.4% 5.7% 6.5% 19.7% -4.3% 7.1% 12.4% -0.1%
Williams %R Buy when Williams %R < -80 (oversold), sell > -20 (overbought).
6.6% -42.4% 12.4% 4.1% 4.5% 6.0% 22.9% -5.1% 5.5% 11.7% -0.7%
Risk Parity Lite Allocate to SPY inversely proportional to vol vs TLT vol.
6.6% -47.5% 6.4% 6.1% 6.5% 5.2% 28.3% -7.3% 5.3% 10.1% -2.9%
100-Day MA Filter 100% invested above 100-day MA, 100% cash below.
6.5% -51.0% 15.5% 9.9% 10.7% 6.4% 20.4% -9.6% 6.3% 11.3% -4.2%
ROC Filter Scale position by 6-month rate of change: 100%/75%/0%.
6.5% -25.9% 4.5% 6.6% 6.1% 5.8% 20.2% -3.6% 5.9% 9.9% 0.9%
DCA Monthly Invest $252/month equally over the full period.
6.4% -35.8% 18.2% 12.0% 13.6% 4.9% 21.4% -4.7% 5.1% 15.2% -2.3%
Donchian Channel 55 Buy on 55-day high breakout, sell on 55-day low (Turtle-style).
6.1% -29.0% 12.1% 8.7% 10.0% 5.0% 15.9% -4.0% 4.9% 10.5% -1.6%
January Effect 100% invested in January, 50% rest of year.
6.0% -36.6% 10.2% 7.3% 8.6% 6.3% 15.6% -5.0% 5.0% 9.7% -2.3%
RSI Mean Reversion Buy when RSI(14) < 30 (oversold), sell when > 70 (overbought).
5.8% -47.6% 2.9% 4.8% 6.7% 6.3% 16.9% -6.7% 5.3% 12.7% -4.0%
EMA Crossover 12/26 Buy when 12-day EMA > 26-day EMA, sell on cross down.
5.7% -36.1% 17.1% 10.0% 9.3% 4.4% 16.8% -4.6% 4.6% 10.1% -2.7%
Triple MA 20/50/200 Buy when 20 > 50 > 200 SMA aligned, sell when any cross breaks.
5.4% -21.4% 12.3% 7.1% 8.6% 4.6% 16.1% -3.7% 4.0% 9.1% -0.2%
EMA Crossover 9/21 Buy when 9-day EMA > 21-day EMA, sell on cross down.
5.1% -33.8% 16.4% 10.1% 9.4% 4.1% 14.9% -6.2% 4.1% 10.5% -3.2%
Donchian Channel 20 Buy on 20-day high breakout, sell on 20-day low.
5.0% -41.5% 13.5% 7.7% 9.2% 5.1% 13.8% -6.4% 4.5% 10.5% -3.9%
VIX Mean Reversion Buy when VIX > 30 (fear spike), sell when VIX < 15.
4.7% -60.5% 23.1% 8.0% 9.3% 5.3% 19.4% -13.0% 3.7% 12.3% -6.7%
50-Day MA Filter 100% invested above 50-day MA, 100% cash below.
4.7% -41.7% 15.4% 7.1% 8.3% 3.4% 17.7% -6.3% 3.5% 9.2% -4.6%
MACD Signal Buy when MACD(12,26) crosses above signal(9), sell on cross below.
4.0% -38.1% 0.4% 5.1% 7.5% 4.6% 12.4% -6.4% 3.8% 9.0% -2.9%
Turtle System 20-day breakout entry, 10-day low exit, ATR position sizing.
3.0% -24.9% 0.2% 4.3% 5.0% 4.1% 8.9% -4.2% 2.7% 6.4% -2.7%
Chandelier Exit Trailing stop from 22-day highest high minus 3x ATR.
2.7% -69.0% 5.3% 4.8% 8.2% 3.9% 17.9% -13.5% 0.2% 9.9% -10.3%
Parabolic SAR Classic Parabolic SAR trailing stop system.
2.6% -48.6% 8.7% 2.8% 7.7% 2.5% 15.7% -9.8% 1.6% 8.9% -5.8%
Bollinger Squeeze Buy on Bollinger squeeze breakout, sell when price drops below SMA.
0.9% -14.1% -1.6% 1.6% 0.4% 0.4% 6.1% -2.8% 0.2% 2.6% -0.9%