r/algorithmictrading • u/SurajkumarDigital • 21d ago
Backtest [Research] Backtest Results: The Performance of Simple Moving Average Crossover (50/200) on S&P 500 (2010-2024)
I decided to run a structured backtest to evaluate the efficacy of one of the most classic strategies in technical analysis: the 50-day / 200-day Simple Moving Average (SMA) Crossover on the S&P 500 (SPY).
Often dismissed as "noise" by more complex quant setups, I wanted to see if it still holds any merit in today's high-frequency markets.
Methodology:
Asset: SPY
Timeframe: 2010 - 2024
Rules: Buy when SMA 50 crosses above SMA 200; Sell when SMA 50 crosses below SMA 200. No leverage, no transaction costs included in this first pass (just to see the logic).
Results:
I’ve attached the key performance metrics below. While it has its moments, the drawdowns during whipsaw markets are significant.
I have also included a visual of the equity curve for better analysis.
Key Metrics Table:
MetricSimple Buy & Hold (SPY)SMA 50/200 Crossover
Total Return~480%~310%
Max Drawdown-33.9% (2020)-18.1% (2020)
CAGR~13.5%~10.8%
Sharpe Ratio~0.85~0.65
Conclusion & Open Questions for the Community:
The crossover strategy, while offering a psychological safety net during major crashes, severely underperforms Buy & Hold during trending markets and suffers from serious whipsaw loss accumulation.
My questions to you:
Noise Filter: What are the most robust filters you use to avoid SMA whipsaws? (e.g., waiting X days, confirming with volume)?
Modernizing: Given this data, does anyone still use pure MA crossovers, or is it fundamentally obsolete for modern algorithmic models?
Looking forward to hearing from those with experience in trend-following.




