Trend-Following Backtester · Guide · backtest 한국어
equity · SE
Yubico AB backtest
10 trend-following strategies were compared on the full daily history of Yubico AB. 9 beat buy-and-hold CAGR; SMA 크로스오버 ranks first by Sharpe, matching the main backtester. The return/drawdown alternative is Keltner 채널 돌파 (CAGR 5.9%, MDD -15.0%).
Results by strategy
9 of 10 beat buy and hold (CAGR -8.6%, drawdown -90.4%).
Sharpe leader (same as main): SMA 크로스오버 — CAGR 20.7%, MDD -34.3%, Sharpe 0.74, 39% exposure.
Return/drawdown alternative: Keltner 채널 돌파 — CAGR is 29.3%p higher than buy and hold, while drawdown improves by 56.1%p (CAGR 5.9%, MDD -15.0%, exposure 6%).
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=56, slow=168 |
20.7% | -34.3% | 0.74 | 0.60 | 2.7x | 3 | 39% |
| EMA 크로스오버 fast=54, slow=71 |
19.7% | -34.3% | 0.72 | 0.57 | 2.6x | 3 | 39% |
| ROC 모멘텀 n=142, threshold=-0.04 |
13.9% | -34.3% | 0.56 | 0.40 | 2.0x | 18 | 46% |
| Donchian 채널 돌파 entryN=25, exitN=35 |
12.3% | -47.3% | 0.52 | 0.26 | 1.9x | 13 | 47% |
| Supertrend period=27, mult=4.3 |
10.9% | -38.8% | 0.49 | 0.28 | 1.7x | 15 | 38% |
| Keltner 채널 돌파 emaPeriod=17, atrPeriod=29, mult=3.9 |
5.9% | -15.0% | 0.42 | 0.40 | 1.4x | 6 | 6% |
| ADX / DI 방향성 period=37, threshold=24 |
6.0% | -29.9% | 0.37 | 0.20 | 1.4x | 8 | 10% |
| 볼린저 밴드 돌파 n=23, k=2.2 |
3.2% | -33.4% | 0.25 | 0.10 | 1.2x | 39 | 23% |
| Parabolic SAR step=0.01, maxStep=0.2 |
0.9% | -65.1% | 0.18 | 0.01 | 1.1x | 63 | 49% |
| MACD fast=10, slow=24, signal=17 |
-17.9% | -90.0% | -0.38 | -0.20 | 0.3x | 80 | 52% |
| Buy and hold | -8.6% | -90.4% | 0.05 | -0.10 | 0.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 56-day average price crosses above the 168-day average
- Sell — Sell (to cash) when the 56-day average falls below the 168-day average