Trend-Following Backtester · Guide · backtest 한국어
etf · US
Schwab 1000 Index ETF backtest
10 trend-following strategies were compared on the full daily history of Schwab 1000 Index ETF. 0 beat buy-and-hold CAGR; Donchian 채널 돌파 ranks first by Sharpe, matching the main backtester.
Results by strategy
0 of 10 beat buy and hold (CAGR 12.7%, drawdown -34.8%).
Sharpe leader (same as main): Donchian 채널 돌파 — CAGR 11.5%, MDD -30.3%, Sharpe 0.85, 86% exposure.
No strategy retained at least 75% of buy-and-hold CAGR while reducing drawdown by both 20% relatively and 5 percentage points absolutely.
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 |
|---|---|---|---|---|---|---|---|
| Donchian 채널 돌파 entryN=19, exitN=67 |
11.5% | -30.3% | 0.85 | 0.38 | 2.6x | 17 | 86% |
| Supertrend period=15, mult=5 |
8.1% | -18.0% | 0.84 | 0.45 | 2.0x | 31 | 58% |
| SMA 크로스오버 fast=6, slow=175 |
9.2% | -18.3% | 0.81 | 0.50 | 2.2x | 19 | 71% |
| EMA 크로스오버 fast=19, slow=83 |
8.3% | -24.4% | 0.72 | 0.34 | 2.0x | 23 | 74% |
| ROC 모멘텀 n=32, threshold=-0.04 |
6.3% | -38.2% | 0.51 | 0.16 | 1.7x | 81 | 86% |
| MACD fast=6, slow=92, signal=48 |
4.2% | -28.8% | 0.45 | 0.15 | 1.4x | 84 | 54% |
| Parabolic SAR step=0.005, maxStep=0.26 |
4.3% | -21.7% | 0.44 | 0.20 | 1.5x | 89 | 66% |
| 볼린저 밴드 돌파 n=45, k=0.8 |
2.6% | -27.0% | 0.31 | 0.10 | 1.3x | 78 | 61% |
| Keltner 채널 돌파 emaPeriod=51, atrPeriod=26, mult=2.2 |
2.1% | -23.6% | 0.27 | 0.09 | 1.2x | 52 | 53% |
| ADX / DI 방향성 period=15, threshold=9 |
-0.8% | -31.7% | -0.03 | -0.02 | 0.9x | 164 | 58% |
| Buy and hold | 12.7% | -34.8% | 0.72 | 0.36 | 2.9x | 1 | 100% |
Rules of the top strategy
A new high means a trend starting; a new low means it’s over (turtle-trading style).
- Buy — Buy on a breakout above the highest high of the last 19 days
- Sell — Sell when price breaks below the lowest low of the last 67 days