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. Some strategies start later (e.g. 2x leveraged strategies use real SSO data from June 2006).
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.
Next-day open execution. When a strategy generates a signal at the close, the trade executes at the next day's open — matching what a real trader would experience. Leveraged strategies' internal daily rebalance (which happens inside the ETF) is unaffected.
5 bps friction per trade. Every buy and sell incurs a 0.05% cost (bid-ask spread + slippage). SPY's actual spread is ~1-2 bps; 5 bps is conservative. High-frequency strategies pay more total friction than low-frequency ones.
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.8% | -55.2% | 26.7% | 13.8% | 15.5% | 11.3% | 28.3% | -8.4% | 8.6% | 17.6% | -4.2% |
| 200-Day MA Leverage Toggle 1.5x 1.5x leverage (50% SSO + 50% SPY blend) above 200 MA, 1x SPY below — stays invested, boosts leverage in uptrends. Notes
| 20.3% | -55.3% | 38.1% | 22.3% | 25.2% | 22.3% | 37.5% | 4.6% | 21.9% | 27.4% | 13.9% |
| 200-Day MA Full Exit 2x 2x leverage (real SSO) above 200 MA, 100% cash below. Notes
| 19.6% | -32.7% | 42.6% | 21.4% | 24.6% | 21.7% | 33.8% | 2.4% | 20.5% | 27.9% | 13.3% |
| Momentum Check 12M 2x 2x leverage (real SSO) when 12M return > 0, else cash. | 17.7% | -59.3% | 49.6% | 20.6% | 21.4% | 18.8% | 35.8% | -5.7% | 17.0% | 24.7% | 9.5% |
| Dual Momentum 2x 2x leverage (real SSO) when SPY 12m return positive AND beats T-bill yield. | 16.4% | -59.3% | 49.6% | 18.9% | 19.3% | 17.4% | 33.8% | -7.6% | 15.8% | 23.4% | 8.4% |
| Buy and Hold 2x Buy and hold 2x leveraged SPY using real SSO returns. Notes
| 15.8% | -84.7% | 49.6% | 19.6% | 24.3% | 21.8% | 49.5% | -12.6% | 20.3% | 32.7% | 6.1% |
| Momentum + Trend Combo 2x 2x leverage (real SSO) when 12M return > 0 AND price > 200 MA. | 15.6% | -41.9% | 49.6% | 15.7% | 19.9% | 15.7% | 29.6% | -0.9% | 15.5% | 24.1% | 10.1% |
| Percent From High 2x 2x leverage (real SSO) scaled by distance from 52-week high: 100%/80%/60%/40%. | 15.4% | -60.4% | 44.1% | 16.9% | 20.8% | 18.1% | 31.6% | -5.5% | 17.3% | 26.4% | 8.4% |
| Momentum Check 12M 1.5x 1.5x leverage (50% SSO + 50% SPY blend) when 12M return > 0, else cash. | 14.7% | -47.6% | 37.9% | 17.0% | 17.8% | 15.4% | 27.7% | -2.6% | 14.1% | 19.7% | 8.6% |
| Adaptive MA (KAMA) 2x 2x leverage (real SSO) above Kaufman Adaptive MA, cash below. | 14.1% | -58.2% | 49.6% | 7.5% | 16.9% | 14.2% | 32.7% | -1.2% | 15.8% | 27.0% | 8.2% |
| Buy and Hold 1.5x Buy and hold 1.5x leveraged SPY via 50% SSO + 50% SPY blend (real data). Notes
| 14.1% | -73.2% | 37.9% | 17.1% | 20.3% | 18.3% | 37.3% | -6.6% | 17.2% | 25.3% | 6.8% |
| Golden Cross 2x 2x leverage (real SSO) above golden cross, 100% cash below. | 14.1% | -59.3% | 38.8% | 17.1% | 16.7% | 14.9% | 32.5% | -7.6% | 12.8% | 18.2% | 3.8% |
| 200-Day MA Full Exit 1.5x 1.5x leverage (50% SSO + 50% SPY blend) above 200 MA, 100% cash below. | 13.8% | -28.0% | 32.9% | 16.0% | 17.8% | 15.3% | 24.0% | 0.2% | 14.3% | 20.0% | 8.9% |
| Dual Momentum 1.5x 1.5x leverage (50% SSO + 50% SPY blend) when SPY 12m return positive AND beats T-bill yield. | 13.7% | -47.6% | 37.9% | 15.7% | 16.3% | 14.6% | 26.2% | -4.0% | 13.4% | 18.8% | 7.8% |
| Percent From High 1.5x 1.5x leverage (50% SSO + 50% SPY blend) scaled by distance from 52-week high: 100%/80%/60%/40%. | 13.0% | -48.2% | 34.0% | 14.5% | 17.1% | 15.0% | 24.1% | -2.7% | 14.3% | 20.6% | 7.6% |
| Cash + 2x Leverage 50% cash + 2x leveraged SPY (real SSO); deploy cash on 10%+ dips. Notes
| 12.9% | -83.1% | 32.4% | 16.4% | 19.5% | 18.1% | 44.0% | -12.2% | 17.3% | 29.8% | 4.9% |
| Momentum + Trend Combo 1.5x 1.5x leverage (50% SSO + 50% SPY blend) when 12M return > 0 AND price > 200 MA. | 12.8% | -32.1% | 37.9% | 13.2% | 16.3% | 12.9% | 23.3% | 0.1% | 12.3% | 18.8% | 8.3% |
| SMA200 + RSI Pullback Fully invested above 200-day MA. Below it, buys RSI(2) < 5 dips and sells at RSI(2) > 70. Notes
| 12.3% | -33.7% | 26.1% | 12.9% | 13.6% | 11.8% | 27.4% | 0.5% | 11.5% | 16.1% | 5.5% |
| Adaptive MA (KAMA) 1.5x 1.5x leverage (50% SSO + 50% SPY blend) above Kaufman Adaptive MA, cash below. | 11.9% | -46.9% | 37.9% | 7.4% | 14.3% | 11.9% | 25.7% | 0.2% | 13.1% | 21.1% | 7.7% |
| Golden Cross 1.5x 1.5x leverage (50% SSO + 50% SPY blend) above golden cross, 100% cash below. Notes
| 11.8% | -47.6% | 29.9% | 14.5% | 14.0% | 12.3% | 25.2% | -4.3% | 10.7% | 14.6% | 4.1% |
| Momentum Check 12M Monthly: invest if 12-month return > 0, else cash. | 11.2% | -33.7% | 26.7% | 12.9% | 13.5% | 9.7% | 28.3% | -0.2% | 10.1% | 15.1% | 3.4% |
| Yield Curve Signal Cash when yield curve inverts (10yr < 5yr), invest when normal. | 10.7% | -55.2% | 26.7% | 11.4% | 14.3% | 11.7% | 29.1% | -8.3% | 9.3% | 17.6% | -3.7% |
| Cash Reserve Slow Rebuild Hold 10% cash; deploy on 5% dip, rebuild 1%/month near ATH. | 10.7% | -55.1% | 26.7% | 13.8% | 15.3% | 11.2% | 27.7% | -8.4% | 8.6% | 17.5% | -4.2% |
| Cash Reserve Deep Dip Hold 10% cash; deploy on 10% dip, rebuild only after 21 days at ATH. | 10.7% | -55.2% | 26.7% | 13.8% | 15.5% | 11.3% | 27.3% | -8.4% | 8.5% | 17.5% | -4.2% |
| Dual Momentum Invest if SPY 12m return positive AND beats T-bill yield. | 10.6% | -33.7% | 26.7% | 12.1% | 12.5% | 9.3% | 26.9% | -1.2% | 9.7% | 14.4% | 3.1% |
| SMA200 + RSI Pullback 1.5x 1.5x leverage (50% SSO + 50% SPY blend) version of SMA200 + RSI Pullback. | 10.6% | -47.6% | 35.2% | 11.3% | 13.8% | 10.6% | 23.2% | -3.3% | 10.6% | 17.4% | 4.4% |
| Volatility Scaled Cash Size cash reserve by realized vol (5-20%); deploy on dips, rebalance monthly. | 10.5% | -55.0% | 25.7% | 13.3% | 14.8% | 11.0% | 27.4% | -8.5% | 8.5% | 17.3% | -4.0% |
| Crash Budget Hold 10% cash; deploy at -10%, all-in at -20%, rebuild 1%/mo near ATH. | 10.3% | -54.6% | 25.0% | 13.4% | 15.0% | 11.0% | 26.6% | -8.3% | 8.3% | 17.0% | -4.1% |
| Momentum Check 9M Monthly: invest if 9-month return > 0, else cash. | 9.9% | -24.8% | 26.7% | 9.0% | 11.1% | 8.5% | 28.3% | -0.9% | 8.3% | 15.4% | 4.3% |
| Momentum Check 18M Monthly: invest if 18-month return > 0, else cash. | 9.8% | -28.5% | 26.7% | 8.9% | 12.7% | 9.1% | 28.3% | -2.8% | 9.0% | 16.5% | -0.9% |
| 200-Day MA Risk Toggle 100% invested above 200-day MA, 50% below. Rebalance when >2% off. | 9.7% | -37.5% | 25.1% | 12.4% | 13.5% | 9.2% | 25.7% | -3.9% | 8.1% | 14.5% | -1.4% |
| Golden Cross Delayed Buy on golden cross, sell on death cross, but waits 5 days to confirm signal holds. | 9.7% | -33.7% | 20.5% | 12.3% | 11.2% | 8.8% | 23.8% | -3.2% | 8.4% | 13.9% | 3.3% |
| Adaptive MA (KAMA) Buy above Kaufman Adaptive MA, sell below. MA speeds up in trends, slows in choppy markets. | 9.7% | -33.1% | 26.7% | 6.8% | 11.3% | 8.7% | 24.0% | -0.7% | 8.9% | 15.0% | 3.3% |
| ATR Trailing Stop 2x Buy and hold with 2x ATR trailing stop (tighter). | 9.6% | -56.4% | 18.2% | 11.7% | 15.7% | 11.6% | 24.4% | -9.4% | 7.0% | 17.4% | -4.8% |
| Momentum + Trend Combo Invest when 12M return > 0 AND price > 200-day SMA. | 9.6% | -23.7% | 26.7% | 10.4% | 12.4% | 8.8% | 26.4% | -1.9% | 8.7% | 13.3% | 2.5% |
| Percent From High Scale allocation by distance from 52-week high: 100%/80%/60%/40%. | 9.6% | -34.8% | 24.7% | 11.7% | 13.1% | 9.4% | 26.1% | -2.5% | 8.3% | 14.7% | -0.4% |
| SMA Crossover 50/200 Buy on golden cross (50-day SMA > 200-day), sell on death cross. | 9.6% | -33.7% | 21.3% | 11.4% | 10.8% | 8.7% | 23.8% | -1.7% | 8.2% | 14.0% | 3.9% |
| Monthly Seasonality Weight months by historical avg returns: heavy Nov-Apr, light Jun-Sep. | 9.3% | -44.2% | 15.8% | 10.6% | 12.0% | 9.7% | 22.1% | -6.2% | 8.6% | 14.8% | -1.6% |
| Multi-Factor Regime Score from VIX + trend + momentum → allocate 0-100%. | 9.2% | -21.0% | 25.7% | 10.2% | 11.2% | 8.6% | 23.3% | -1.3% | 8.5% | 11.9% | 2.7% |
| Vol Target 15% Scale position to target 15% annualized volatility, rebalance weekly. | 9.2% | -46.6% | 24.6% | 12.3% | 13.1% | 9.6% | 22.7% | -6.7% | 8.0% | 14.4% | -2.1% |
| VIX Buy Spikes 80% base allocation, increase to 100% on VIX spikes > 35. | 9.1% | -51.8% | 21.7% | 11.5% | 13.0% | 9.6% | 23.4% | -8.3% | 7.4% | 15.1% | -3.9% |
| 200-Day MA 25% Floor 100% invested above 200-day MA, 25% below. Rebalances weekly. | 8.8% | -29.3% | 21.7% | 9.8% | 12.1% | 8.2% | 25.4% | -2.7% | 7.9% | 13.6% | -0.9% |
| ATR Trailing Stop 3x Buy and hold with 3x ATR trailing stop, re-enter on new high. | 8.7% | -60.0% | 21.8% | 14.3% | 16.5% | 10.4% | 24.4% | -10.7% | 5.7% | 17.1% | -7.2% |
| Momentum Check 6M Monthly: if SPY 6-month return > 0, invest; otherwise cash. | 8.3% | -33.7% | 8.8% | 8.1% | 7.5% | 7.6% | 24.0% | -1.8% | 7.7% | 12.7% | 2.6% |
| 200-Day MA Full Exit 100% invested above 200-day MA, 100% cash below. | 8.1% | -28.6% | 23.4% | 10.5% | 11.1% | 6.8% | 23.4% | -3.3% | 6.8% | 12.2% | -0.9% |
| SMA200 + RSI Pullback 2x 2x leverage (real SSO) version of SMA200 + RSI Pullback. | 8.1% | -65.5% | 44.6% | 9.2% | 13.3% | 8.7% | 24.7% | -13.2% | 9.5% | 19.9% | 2.1% |
| Momentum Check 3M Monthly: invest if 3-month return > 0, else cash. | 7.9% | -29.3% | 21.5% | 11.9% | 11.2% | 6.6% | 21.9% | -3.9% | 6.8% | 11.4% | -1.2% |
| Relative Strength vs Bonds SPY if SPY 12m return > TLT 12m return, else cash. | 7.6% | -47.5% | 26.7% | 13.8% | 9.2% | 5.0% | 28.3% | -5.5% | 4.4% | 11.9% | -0.2% |
| Vol Target 10% Scale position to target 10% annualized volatility, rebalance weekly. | 7.6% | -35.7% | 19.5% | 9.8% | 10.9% | 7.7% | 18.3% | -5.2% | 6.5% | 11.3% | -0.9% |
| VIX Regime Switch 100% at VIX<15, 70% at VIX<25, 30% at VIX>25. | 7.1% | -32.3% | 15.4% | 8.8% | 10.0% | 7.0% | 18.5% | -3.9% | 5.5% | 10.5% | -1.3% |
| RSI(2) Pullback Loose Buy when RSI(2) < 15, sell when RSI(2) > 85 (looser Connors). | 7.0% | -28.9% | 8.0% | 8.0% | 7.0% | 7.2% | 16.5% | -1.6% | 7.0% | 9.8% | 1.8% |
| ROC Filter Scale position by 6-month rate of change: 100%/75%/0%. | 6.8% | -24.2% | 19.8% | 8.0% | 7.7% | 5.9% | 20.0% | -3.7% | 5.8% | 9.9% | 0.8% |
| Trend + Vol Target Above 200 MA: vol-target 12% position. Below: 100% cash. | 6.8% | -20.3% | 17.0% | 8.0% | 9.7% | 6.2% | 17.8% | -2.5% | 6.2% | 10.4% | 0.3% |
| 150-Day MA Filter 100% invested above 150-day MA, 100% cash below. | 6.8% | -38.9% | 25.2% | 11.5% | 10.4% | 5.4% | 18.8% | -6.2% | 5.8% | 10.6% | -2.5% |
| RSI(2) Pullback Buy when RSI(2) < 10, sell when RSI(2) > 90 (Connors-style). | 6.7% | -28.6% | 7.4% | 11.8% | 8.8% | 5.5% | 18.1% | -1.9% | 5.3% | 10.7% | 0.1% |
| DCA Monthly Invest $251/month equally over the full period. | 6.7% | -35.7% | 26.7% | 13.7% | 14.8% | 4.9% | 21.4% | -4.7% | 5.2% | 15.2% | -2.3% |
| Bollinger Band Bounce Buy below lower Bollinger Band, sell above upper band. | 6.7% | -52.8% | 12.9% | 7.4% | 11.0% | 8.9% | 18.1% | -7.4% | 5.3% | 14.2% | -4.4% |
| Risk Parity Lite Sizes SPY allocation monthly — lower SPY vol relative to TLT means higher allocation. | 6.7% | -47.5% | 10.7% | 6.7% | 7.0% | 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.6% | -52.0% | 23.3% | 11.1% | 12.2% | 6.6% | 18.6% | -9.7% | 6.5% | 12.4% | -4.1% |
| Sell in May 100% invested Nov–Apr, 100% cash May–Oct. | 6.5% | -34.7% | 7.0% | 4.5% | 6.3% | 6.1% | 18.7% | -4.5% | 6.6% | 11.8% | -0.6% |
| RSI(2) Pullback Strict Buy when RSI(2) < 5, sell when RSI(2) > 95 (stricter Connors). | 6.4% | -30.6% | 8.5% | 10.6% | 7.5% | 5.2% | 17.0% | -4.1% | 5.4% | 9.2% | -0.7% |
| Donchian Channel 55 Buy on 55-day high breakout, sell on 55-day low (Turtle-style). | 6.2% | -28.7% | 19.5% | 8.6% | 10.1% | 5.3% | 15.2% | -3.6% | 5.0% | 10.5% | -1.5% |
| Williams %R Buy when Williams %R < -80 (oversold), sell > -20 (overbought). | 6.2% | -42.6% | 13.2% | 3.8% | 5.5% | 6.8% | 20.0% | -4.4% | 5.8% | 11.1% | -0.9% |
| ADX Trend Filter Buy when ADX > 25 (strong trend), exit when ADX < 20. | 6.1% | -50.1% | 19.8% | 11.1% | 10.8% | 7.4% | 17.3% | -9.2% | 3.6% | 12.1% | -4.5% |
| January Effect 100% invested in January, 50% rest of year. | 6.1% | -36.5% | 13.5% | 8.0% | 9.3% | 6.3% | 15.4% | -5.0% | 4.8% | 9.7% | -2.4% |
| Triple MA 20/50/200 Buy when 20 > 50 > 200 SMA aligned, sell when any cross breaks. | 5.7% | -19.9% | 14.7% | 6.9% | 9.3% | 5.0% | 16.3% | -2.8% | 4.3% | 9.5% | -0.1% |
| RSI(5) Moderate Buy when RSI(5) < 20, sell when RSI(5) > 80. | 5.6% | -39.9% | 14.3% | 9.6% | 4.8% | 4.4% | 15.4% | -4.5% | 5.1% | 9.2% | 0.2% |
| RSI Mean Reversion Buy when RSI(14) < 30 (oversold), sell when > 70 (overbought). | 5.5% | -47.5% | 9.4% | 5.9% | 6.7% | 5.8% | 17.5% | -7.8% | 5.2% | 11.7% | -4.4% |
| EMA Crossover 12/26 Buy when 12-day EMA > 26-day EMA, sell on cross down. | 5.4% | -36.2% | 22.7% | 10.9% | 9.4% | 4.1% | 15.2% | -5.7% | 4.1% | 9.6% | -2.6% |
| VIX Mean Reversion Buy when VIX > 30 (fear spike), sell when VIX < 15. | 5.2% | -60.2% | 25.0% | 9.8% | 11.3% | 5.3% | 19.0% | -12.8% | 4.0% | 11.9% | -6.6% |
| Donchian Channel 20 Buy on 20-day high breakout, sell on 20-day low. | 4.9% | -43.0% | 19.1% | 9.4% | 9.8% | 4.5% | 14.1% | -7.0% | 4.5% | 10.3% | -4.1% |
| EMA Crossover 9/21 Buy when 9-day EMA > 21-day EMA, sell on cross down. | 4.8% | -35.7% | 19.4% | 9.4% | 9.6% | 3.8% | 13.5% | -6.8% | 3.7% | 9.8% | -2.8% |
| 50-Day MA Filter 100% invested above 50-day MA, 100% cash below. | 4.2% | -40.7% | 17.4% | 6.7% | 7.3% | 3.4% | 15.7% | -7.1% | 3.3% | 7.5% | -4.1% |
| Donchian Channel 10 Buy on 10-day high breakout, sell on 10-day low (Turtle S1). | 3.5% | -50.6% | 14.0% | 6.2% | 6.9% | 2.9% | 14.5% | -8.4% | 3.1% | 7.0% | -6.7% |
| MACD Signal Buy when MACD(12,26) crosses above signal(9), sell on cross below. | 3.4% | -30.3% | 5.5% | 3.5% | 6.6% | 3.2% | 10.4% | -4.1% | 2.8% | 6.8% | -2.7% |
| Turtle System 20-day breakout entry, 10-day low exit, ATR position sizing. | 3.0% | -25.6% | 4.9% | 5.9% | 5.8% | 3.9% | 8.4% | -4.0% | 2.4% | 6.4% | -2.8% |
| Chandelier Exit Buy above 22-day high minus 3× ATR, sell below. | 2.1% | -68.0% | 23.4% | 3.8% | 7.9% | 3.2% | 14.8% | -13.9% | -0.5% | 9.8% | -10.1% |
| Parabolic SAR Buy when trailing SAR flips bullish, sell when it flips bearish. | 2.0% | -50.2% | 10.9% | 2.8% | 7.0% | 1.7% | 13.2% | -9.5% | 0.7% | 7.1% | -6.4% |
| Bollinger Squeeze Buy on Bollinger squeeze breakout, sell when price drops below SMA. | 1.1% | -15.0% | -1.6% | 2.0% | 0.8% | 0.8% | 5.9% | -3.0% | 0.5% | 2.6% | -0.6% |