Trend-Following Backtester · Guide · backtest 한국어
equity · CA
Nutrien Ltd. backtest
10 trend-following strategies were compared on the full daily history of Nutrien Ltd.. 5 beat buy-and-hold CAGR; Donchian 채널 돌파 ranks first by Sharpe, matching the main backtester. The return/drawdown alternative is Supertrend (CAGR 5.8%, MDD -35.1%).
Results by strategy
5 of 10 beat buy and hold (CAGR 4.0%, drawdown -57.4%).
Sharpe leader (same as main): Donchian 채널 돌파 — CAGR 9.5%, MDD -37.7%, Sharpe 0.56, 43% exposure.
Return/drawdown alternative: Supertrend — CAGR is 5.5%p higher than buy and hold, while drawdown improves by 19.7%p (CAGR 5.8%, MDD -35.1%, exposure 49%).
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=67, exitN=66 |
9.5% | -37.7% | 0.56 | 0.25 | 2.2x | 8 | 43% |
| SMA 크로스오버 fast=47, slow=51 |
9.5% | -40.0% | 0.53 | 0.24 | 2.2x | 82 | 51% |
| ROC 모멘텀 n=146, threshold=0 |
6.6% | -43.7% | 0.40 | 0.15 | 1.7x | 29 | 50% |
| Supertrend period=32, mult=3.7 |
5.8% | -35.1% | 0.38 | 0.16 | 1.6x | 41 | 49% |
| EMA 크로스오버 fast=53, slow=167 |
5.8% | -38.3% | 0.37 | 0.15 | 1.6x | 9 | 49% |
| 볼린저 밴드 돌파 n=43, k=3.3 |
1.7% | -12.7% | 0.29 | 0.13 | 1.2x | 2 | 2% |
| Keltner 채널 돌파 emaPeriod=20, atrPeriod=26, mult=3.8 |
1.6% | -21.2% | 0.24 | 0.08 | 1.2x | 6 | 4% |
| ADX / DI 방향성 period=27, threshold=20 |
1.9% | -16.4% | 0.24 | 0.12 | 1.2x | 18 | 12% |
| MACD fast=19, slow=38, signal=29 |
-5.2% | -53.2% | -0.17 | -0.10 | 0.6x | 91 | 45% |
| Parabolic SAR step=0.04, maxStep=0.36 |
-10.0% | -71.9% | -0.35 | -0.14 | 0.4x | 291 | 50% |
| Buy and hold | 4.0% | -57.4% | 0.28 | 0.07 | 1.4x | 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 67 days
- Sell — Sell when price breaks below the lowest low of the last 66 days