Trend-Following Backtester · Guide · backtest 한국어
equity · SA
Saudi National Bank backtest
10 trend-following strategies were compared on the full daily history of Saudi National Bank. 5 beat buy-and-hold CAGR; SMA 크로스오버 ranks first by Sharpe, matching the main backtester. The return/drawdown alternative is Keltner 채널 돌파 (CAGR 3.7%, MDD -28.0%).
Results by strategy
5 of 10 beat buy and hold (CAGR 4.0%, drawdown -54.6%).
Sharpe leader (same as main): SMA 크로스오버 — CAGR 6.5%, MDD -37.5%, Sharpe 0.46, 51% exposure.
Return/drawdown alternative: Keltner 채널 돌파 — CAGR is 2.6%p higher than buy and hold, while drawdown improves by 17.1%p (CAGR 3.7%, MDD -28.0%, exposure 30%).
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=37, slow=158 |
6.5% | -37.5% | 0.46 | 0.17 | 2.1x | 18 | 51% |
| Donchian 채널 돌파 entryN=27, exitN=53 |
6.2% | -42.1% | 0.40 | 0.15 | 2.0x | 32 | 67% |
| Supertrend period=25, mult=4.9 |
5.6% | -34.9% | 0.40 | 0.16 | 1.9x | 42 | 56% |
| EMA 크로스오버 fast=57, slow=206 |
5.3% | -43.5% | 0.39 | 0.12 | 1.8x | 9 | 48% |
| ROC 모멘텀 n=130, threshold=-0.06 |
5.1% | -50.3% | 0.35 | 0.10 | 1.8x | 62 | 64% |
| Keltner 채널 돌파 emaPeriod=58, atrPeriod=20, mult=3.7 |
3.7% | -28.0% | 0.34 | 0.13 | 1.5x | 34 | 30% |
| 볼린저 밴드 돌파 n=54, k=1.5 |
2.9% | -38.5% | 0.26 | 0.08 | 1.4x | 54 | 39% |
| ADX / DI 방향성 period=30, threshold=21 |
2.2% | -22.5% | 0.26 | 0.10 | 1.3x | 34 | 20% |
| Parabolic SAR step=0.01, maxStep=0.3 |
2.6% | -47.3% | 0.23 | 0.05 | 1.3x | 133 | 50% |
| MACD fast=11, slow=29, signal=10 |
-0.8% | -53.8% | 0.04 | -0.01 | 0.9x | 193 | 46% |
| Buy and hold | 4.0% | -54.6% | 0.28 | 0.07 | 1.6x | 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 37-day average price crosses above the 158-day average
- Sell — Sell (to cash) when the 37-day average falls below the 158-day average