Trend-Following Backtester · Guide · backtest 한국어
etf · US
SPDR S&P 500 ETF TRUST backtest
10 trend-following strategies were compared on the full daily history of SPDR S&P 500 ETF TRUST. 0 beat buy-and-hold CAGR; EMA 크로스오버 ranks first by Sharpe, matching the main backtester. The return/drawdown alternative is SMA 크로스오버 (CAGR 7.1%, MDD -19.6%).
Results by strategy
0 of 10 beat buy and hold (CAGR 8.8%, drawdown -56.5%).
Sharpe leader (same as main): EMA 크로스오버 — CAGR 7.9%, MDD -31.4%, Sharpe 0.65, 75% exposure.
Return/drawdown alternative: SMA 크로스오버 — CAGR is 1.0%p lower than buy and hold, while drawdown improves by 25.1%p (CAGR 7.1%, MDD -19.6%, exposure 73%).
The alternative must retain 75% of buy-and-hold CAGR, improve drawdown by at least 20% and 5 percentage points, and stay below 95% exposure; the ranking weights return retention 60% and drawdown improvement 40%.
| Strategy · parameters | CAGR | MDD | Sharpe | Calmar | Total | Trades | Exposure |
|---|---|---|---|---|---|---|---|
| EMA 크로스오버 fast=58, slow=116 |
7.9% | -31.4% | 0.65 | 0.25 | 12.6x | 35 | 75% |
| SMA 크로스오버 fast=12, slow=193 |
7.1% | -19.6% | 0.63 | 0.36 | 10.0x | 63 | 73% |
| Donchian 채널 돌파 entryN=95, exitN=104 |
5.9% | -22.6% | 0.53 | 0.26 | 6.8x | 37 | 71% |
| ROC 모멘텀 n=146, threshold=-0.05 |
5.5% | -38.5% | 0.46 | 0.14 | 6.1x | 133 | 84% |
| Supertrend period=21, mult=4.7 |
3.0% | -44.1% | 0.32 | 0.07 | 2.7x | 130 | 64% |
| 볼린저 밴드 돌파 n=11, k=2.6 |
0.3% | -8.7% | 0.19 | 0.04 | 1.1x | 38 | 4% |
| Keltner 채널 돌파 emaPeriod=57, atrPeriod=26, mult=3.9 |
0.8% | -23.3% | 0.15 | 0.03 | 1.3x | 90 | 30% |
| ADX / DI 방향성 period=38, threshold=28 |
-0.0% | -6.8% | 0.00 | -0.00 | 1.0x | 6 | 1% |
| Parabolic SAR step=0.005, maxStep=0.2 |
-2.4% | -75.1% | -0.16 | -0.03 | 0.4x | 353 | 62% |
| MACD fast=18, slow=27, signal=19 |
-3.4% | -76.1% | -0.26 | -0.04 | 0.3x | 456 | 51% |
| Buy and hold | 8.8% | -56.5% | 0.55 | 0.16 | 16.9x | 1 | 100% |
Rules of the top strategy
Uses two exponential averages (more weight on recent prices) and trades their crossover.
- Buy — Buy when the 58-day EMA crosses above the 116-day EMA
- Sell — Sell when the 58-day EMA falls below the 116-day EMA