Trend-Following Backtester · Guide · backtest 한국어
equity · KR
S-Oil backtest
10 trend-following strategies were compared on the full daily history of S-Oil. 2 beat buy-and-hold CAGR; SMA 크로스오버 ranks first by Sharpe, matching the main backtester. The return/drawdown alternative is SMA 크로스오버 (CAGR 10.4%, MDD -49.5%).
Results by strategy
2 of 10 beat buy and hold (CAGR 9.0%, drawdown -76.9%).
Sharpe leader (same as main): SMA 크로스오버 — CAGR 10.4%, MDD -49.5%, Sharpe 0.48, 47% exposure.
Return/drawdown alternative: SMA 크로스오버 — CAGR is 1.4%p higher than buy and hold, while drawdown improves by 27.4%p (CAGR 10.4%, MDD -49.5%, exposure 47%).
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=21, slow=251 |
10.4% | -49.5% | 0.48 | 0.21 | 13.9x | 39 | 47% |
| EMA 크로스오버 fast=12, slow=154 |
10.1% | -56.1% | 0.47 | 0.18 | 13.0x | 63 | 50% |
| Supertrend period=17, mult=4.7 |
8.7% | -59.0% | 0.42 | 0.15 | 9.1x | 77 | 55% |
| Donchian 채널 돌파 entryN=28, exitN=57 |
6.5% | -75.5% | 0.36 | 0.09 | 5.4x | 77 | 63% |
| ROC 모멘텀 n=132, threshold=0.05 |
5.9% | -79.8% | 0.34 | 0.07 | 4.6x | 197 | 42% |
| ADX / DI 방향성 period=34, threshold=13 |
5.2% | -63.3% | 0.32 | 0.08 | 3.9x | 159 | 35% |
| Keltner 채널 돌파 emaPeriod=76, atrPeriod=22, mult=1.5 |
4.0% | -57.9% | 0.28 | 0.07 | 2.8x | 145 | 42% |
| 볼린저 밴드 돌파 n=54, k=1.8 |
3.5% | -62.2% | 0.26 | 0.06 | 2.5x | 117 | 35% |
| Parabolic SAR step=0.02, maxStep=0.38 |
-2.8% | -85.6% | 0.04 | -0.03 | 0.5x | 546 | 49% |
| MACD fast=27, slow=34, signal=31 |
-3.4% | -82.5% | 0.01 | -0.04 | 0.4x | 247 | 51% |
| Buy and hold | 9.0% | -76.9% | 0.42 | 0.12 | 9.9x | 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 21-day average price crosses above the 251-day average
- Sell — Sell (to cash) when the 21-day average falls below the 251-day average