Trend-Following Backtester · Guide · backtest 한국어
equity · KR
HMM backtest
10 trend-following strategies were compared on the full daily history of HMM. 10 beat buy-and-hold CAGR; SMA 크로스오버 ranks first by Sharpe, matching the main backtester. The return/drawdown alternative is ADX / DI 방향성 (CAGR 8.5%, MDD -60.1%).
Results by strategy
10 of 10 beat buy and hold (CAGR -2.5%, drawdown -99.3%).
Sharpe leader (same as main): SMA 크로스오버 — CAGR 11.6%, MDD -70.7%, Sharpe 0.49, 37% exposure.
Return/drawdown alternative: ADX / DI 방향성 — CAGR is 14.2%p higher than buy and hold, while drawdown improves by 28.6%p (CAGR 8.5%, MDD -60.1%, exposure 9%).
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 |
|---|---|---|---|---|---|---|---|
| SMA 크로스오버 fast=59, slow=277 |
11.6% | -70.7% | 0.49 | 0.16 | 18.6x | 18 | 37% |
| ADX / DI 방향성 period=39, threshold=25 |
8.5% | -60.1% | 0.48 | 0.14 | 8.7x | 18 | 9% |
| EMA 크로스오버 fast=55, slow=190 |
10.8% | -74.3% | 0.47 | 0.15 | 15.3x | 32 | 35% |
| Donchian 채널 돌파 entryN=116, exitN=45 |
9.7% | -71.9% | 0.45 | 0.14 | 11.8x | 30 | 24% |
| Keltner 채널 돌파 emaPeriod=59, atrPeriod=17, mult=4 |
8.3% | -75.2% | 0.42 | 0.11 | 8.3x | 42 | 17% |
| 볼린저 밴드 돌파 n=53, k=2.5 |
6.7% | -69.7% | 0.36 | 0.10 | 5.6x | 74 | 23% |
| ROC 모멘텀 n=84, threshold=0.1 |
3.2% | -91.6% | 0.26 | 0.03 | 2.3x | 256 | 30% |
| MACD fast=18, slow=34, signal=15 |
0.2% | -96.0% | 0.22 | 0.00 | 1.0x | 329 | 51% |
| Supertrend period=25, mult=3.6 |
0.2% | -93.8% | 0.20 | 0.00 | 1.1x | 145 | 44% |
| Parabolic SAR step=0.005, maxStep=0.16 |
-1.5% | -93.1% | 0.17 | -0.02 | 0.7x | 198 | 47% |
| Buy and hold | -2.5% | -99.3% | 0.26 | -0.03 | 0.5x | 1 | 100% |
Rules of the top strategy
When the short average rises above the long average, it reads that as an uptrend starting.
- Buy — Buy when the 59-day average price crosses above the 277-day average
- Sell — Sell (to cash) when the 59-day average falls below the 277-day average