Trend-Following Backtester · Guide · backtest 한국어
etf · US
iShares Russell 2500 ETF backtest
10 trend-following strategies were compared on the full daily history of iShares Russell 2500 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 9.3%, drawdown -41.1%).
Sharpe leader (same as main): Donchian 채널 돌파 — CAGR 7.4%, MDD -33.7%, Sharpe 0.53, 79% 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=22, exitN=60 |
7.4% | -33.7% | 0.53 | 0.22 | 1.9x | 25 | 79% |
| EMA 크로스오버 fast=32, slow=118 |
5.7% | -29.2% | 0.46 | 0.20 | 1.7x | 17 | 68% |
| ROC 모멘텀 n=46, threshold=-0.03 |
6.1% | -34.2% | 0.45 | 0.18 | 1.7x | 73 | 78% |
| SMA 크로스오버 fast=10, slow=215 |
5.2% | -23.0% | 0.45 | 0.23 | 1.6x | 21 | 61% |
| Supertrend period=25, mult=4.3 |
4.7% | -26.7% | 0.39 | 0.17 | 1.5x | 51 | 64% |
| ADX / DI 방향성 period=30, threshold=27 |
1.3% | -8.2% | 0.38 | 0.16 | 1.1x | 4 | 5% |
| Keltner 채널 돌파 emaPeriod=57, atrPeriod=21, mult=1.1 |
2.0% | -32.1% | 0.22 | 0.06 | 1.2x | 71 | 58% |
| 볼린저 밴드 돌파 n=26, k=2.4 |
1.0% | -13.9% | 0.18 | 0.07 | 1.1x | 34 | 19% |
| Parabolic SAR step=0.015, maxStep=0.2 |
-0.5% | -44.4% | 0.04 | -0.01 | 1.0x | 162 | 57% |
| MACD fast=18, slow=32, signal=13 |
-0.9% | -36.4% | -0.00 | -0.03 | 0.9x | 134 | 51% |
| Buy and hold | 9.3% | -41.1% | 0.51 | 0.23 | 2.2x | 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 22 days
- Sell — Sell when price breaks below the lowest low of the last 60 days