Trend-Following Backtester · Guide · backtest 한국어
equity · SA
Riyad Bank backtest
10 trend-following strategies were compared on the full daily history of Riyad Bank. 5 beat buy-and-hold CAGR; SMA 크로스오버 ranks first by Sharpe, matching the main backtester. The return/drawdown alternative is Donchian 채널 돌파 (CAGR 8.6%, MDD -38.8%).
Results by strategy
5 of 10 beat buy and hold (CAGR 5.3%, drawdown -62.7%).
Sharpe leader (same as main): SMA 크로스오버 — CAGR 9.3%, MDD -45.2%, Sharpe 0.53, 53% exposure.
Return/drawdown alternative: Donchian 채널 돌파 — CAGR is 4.0%p higher than buy and hold, while drawdown improves by 17.5%p (CAGR 8.6%, MDD -38.8%, exposure 46%).
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=42, slow=199 |
9.3% | -45.2% | 0.53 | 0.21 | 3.6x | 16 | 53% |
| Donchian 채널 돌파 entryN=73, exitN=41 |
8.6% | -38.8% | 0.53 | 0.22 | 3.3x | 26 | 46% |
| EMA 크로스오버 fast=25, slow=109 |
9.1% | -48.8% | 0.52 | 0.19 | 3.5x | 26 | 54% |
| ROC 모멘텀 n=147, threshold=0.06 |
7.8% | -45.3% | 0.48 | 0.17 | 2.9x | 62 | 43% |
| Supertrend period=15, mult=5 |
6.3% | -42.1% | 0.41 | 0.15 | 2.4x | 50 | 50% |
| Keltner 채널 돌파 emaPeriod=58, atrPeriod=28, mult=3.1 |
4.9% | -35.2% | 0.37 | 0.14 | 2.0x | 46 | 32% |
| 볼린저 밴드 돌파 n=39, k=3.5 |
3.7% | -28.9% | 0.32 | 0.13 | 1.7x | 26 | 14% |
| Parabolic SAR step=0.01, maxStep=0.26 |
4.0% | -45.8% | 0.31 | 0.09 | 1.7x | 152 | 52% |
| MACD fast=18, slow=39, signal=18 |
3.9% | -45.3% | 0.29 | 0.09 | 1.7x | 147 | 51% |
| ADX / DI 방향성 period=45, threshold=12 |
3.2% | -48.3% | 0.26 | 0.07 | 1.6x | 80 | 39% |
| Buy and hold | 5.3% | -62.7% | 0.33 | 0.08 | 2.1x | 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 42-day average price crosses above the 199-day average
- Sell — Sell (to cash) when the 42-day average falls below the 199-day average