Trend-Following Backtester · Guide · backtest 한국어
equity · CA
National Bank of Canada backtest
10 trend-following strategies were compared on the full daily history of National Bank of Canada. 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.8%, drawdown -61.5%).
Sharpe leader (same as main): Donchian 채널 돌파 — CAGR 9.6%, MDD -24.8%, Sharpe 0.73, 57% 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=102, exitN=64 |
9.6% | -24.8% | 0.73 | 0.39 | 18.1x | 45 | 57% |
| EMA 크로스오버 fast=29, slow=169 |
9.3% | -33.1% | 0.64 | 0.28 | 16.9x | 49 | 72% |
| SMA 크로스오버 fast=10, slow=101 |
8.3% | -34.2% | 0.59 | 0.24 | 12.4x | 105 | 66% |
| Keltner 채널 돌파 emaPeriod=64, atrPeriod=12, mult=2 |
7.0% | -33.2% | 0.58 | 0.21 | 8.6x | 152 | 52% |
| ADX / DI 방향성 period=50, threshold=8 |
7.4% | -31.7% | 0.56 | 0.23 | 9.4x | 252 | 56% |
| Supertrend period=10, mult=4.4 |
6.5% | -34.2% | 0.51 | 0.19 | 7.3x | 126 | 60% |
| ROC 모멘텀 n=60, threshold=-0.04 |
7.3% | -55.5% | 0.50 | 0.13 | 9.4x | 243 | 79% |
| 볼린저 밴드 돌파 n=54, k=1.1 |
5.7% | -35.6% | 0.47 | 0.16 | 5.8x | 196 | 54% |
| Parabolic SAR step=0.005, maxStep=0.18 |
3.2% | -63.2% | 0.28 | 0.05 | 2.7x | 282 | 59% |
| MACD fast=18, slow=58, signal=17 |
1.7% | -63.7% | 0.19 | 0.03 | 1.7x | 362 | 51% |
| Buy and hold | 12.8% | -61.5% | 0.63 | 0.21 | 45.7x | 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 102 days
- Sell — Sell when price breaks below the lowest low of the last 64 days