Trend-Following Backtester · Guide · backtest 한국어
equity · JP
ULVAC, Inc. backtest
10 trend-following strategies were compared on the full daily history of ULVAC, Inc.. 8 beat buy-and-hold CAGR; SMA 크로스오버 ranks first by Sharpe, matching the main backtester. The return/drawdown alternative is Keltner 채널 돌파 (CAGR 6.1%, MDD -36.1%).
Results by strategy
8 of 10 beat buy and hold (CAGR 3.4%, drawdown -92.9%).
Sharpe leader (same as main): SMA 크로스오버 — CAGR 14.0%, MDD -48.7%, Sharpe 0.57, 54% exposure.
Return/drawdown alternative: Keltner 채널 돌파 — CAGR is 10.5%p higher than buy and hold, while drawdown improves by 44.2%p (CAGR 6.1%, MDD -36.1%, exposure 12%).
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=12, slow=96 |
14.0% | -48.7% | 0.57 | 0.29 | 18.3x | 74 | 54% |
| EMA 크로스오버 fast=32, slow=52 |
13.4% | -53.5% | 0.55 | 0.25 | 16.6x | 68 | 54% |
| Donchian 채널 돌파 entryN=96, exitN=77 |
12.7% | -41.8% | 0.55 | 0.31 | 14.5x | 26 | 46% |
| ADX / DI 방향성 period=13, threshold=27 |
9.1% | -36.8% | 0.52 | 0.25 | 7.0x | 128 | 20% |
| 볼린저 밴드 돌파 n=48, k=2.2 |
9.3% | -38.9% | 0.50 | 0.24 | 7.3x | 68 | 28% |
| ROC 모멘텀 n=52, threshold=0.01 |
9.7% | -68.1% | 0.45 | 0.14 | 7.9x | 282 | 52% |
| Keltner 채널 돌파 emaPeriod=21, atrPeriod=16, mult=3.5 |
6.1% | -36.1% | 0.43 | 0.17 | 3.8x | 50 | 12% |
| Supertrend period=28, mult=3.9 |
8.8% | -63.0% | 0.42 | 0.14 | 6.5x | 116 | 54% |
| Parabolic SAR step=0.015, maxStep=0.3 |
0.1% | -64.7% | 0.17 | 0.00 | 1.0x | 378 | 52% |
| MACD fast=13, slow=58, signal=13 |
-0.8% | -76.8% | 0.14 | -0.01 | 0.8x | 300 | 50% |
| Buy and hold | 3.4% | -92.9% | 0.31 | 0.04 | 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 12-day average price crosses above the 96-day average
- Sell — Sell (to cash) when the 12-day average falls below the 96-day average