Trend-Following Backtester · Guide · backtest 한국어
equity · ES
Repsol SA backtest
10 trend-following strategies were compared on the full daily history of Repsol SA. 5 beat buy-and-hold CAGR; SMA 크로스오버 ranks first by Sharpe, matching the main backtester. The return/drawdown alternative is 볼린저 밴드 돌파 (CAGR 1.0%, MDD -24.7%).
Results by strategy
5 of 10 beat buy and hold (CAGR 0.8%, drawdown -82.8%).
Sharpe leader (same as main): SMA 크로스오버 — CAGR 3.7%, MDD -55.0%, Sharpe 0.29, 54% exposure.
Return/drawdown alternative: 볼린저 밴드 돌파 — CAGR is 2.9%p higher than buy and hold, while drawdown improves by 27.8%p (CAGR 1.0%, MDD -24.7%, exposure 10%).
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=32, slow=289 |
3.7% | -55.0% | 0.29 | 0.07 | 2.6x | 37 | 54% |
| Supertrend period=25, mult=4.8 |
3.5% | -47.8% | 0.27 | 0.07 | 2.5x | 81 | 51% |
| Donchian 채널 돌파 entryN=68, exitN=64 |
3.4% | -48.1% | 0.27 | 0.07 | 2.5x | 47 | 54% |
| EMA 크로스오버 fast=31, slow=75 |
1.5% | -51.2% | 0.17 | 0.03 | 1.5x | 79 | 54% |
| 볼린저 밴드 돌파 n=46, k=3 |
1.0% | -24.7% | 0.15 | 0.04 | 1.3x | 35 | 10% |
| Keltner 채널 돌파 emaPeriod=14, atrPeriod=18, mult=3.2 |
0.5% | -15.9% | 0.12 | 0.03 | 1.1x | 14 | 2% |
| ROC 모멘텀 n=99, threshold=-0.04 |
-0.9% | -69.4% | 0.06 | -0.01 | 0.8x | 233 | 64% |
| ADX / DI 방향성 period=18, threshold=38 |
0.1% | -20.7% | 0.05 | 0.01 | 1.0x | 20 | 2% |
| MACD fast=15, slow=45, signal=18 |
-3.6% | -83.7% | -0.05 | -0.04 | 0.4x | 324 | 51% |
| Parabolic SAR step=0.005, maxStep=0.3 |
-4.7% | -86.9% | -0.11 | -0.05 | 0.3x | 259 | 54% |
| Buy and hold | 0.8% | -82.8% | 0.18 | 0.01 | 1.2x | 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 32-day average price crosses above the 289-day average
- Sell — Sell (to cash) when the 32-day average falls below the 289-day average