Trend-Following Backtester · Guide · backtest 한국어
equity · US
Sunrun Inc. backtest
10 trend-following strategies were compared on the full daily history of Sunrun Inc.. 9 beat buy-and-hold CAGR; Keltner 채널 돌파 ranks first by Sharpe, matching the main backtester. The return/drawdown alternative is 볼린저 밴드 돌파 (CAGR 6.6%, MDD -18.3%).
Results by strategy
9 of 10 beat buy and hold (CAGR -0.9%, drawdown -94.1%).
Sharpe leader (same as main): Keltner 채널 돌파 — CAGR 17.3%, MDD -48.0%, Sharpe 0.66, 19% exposure.
Return/drawdown alternative: 볼린저 밴드 돌파 — CAGR is 18.2%p higher than buy and hold, while drawdown improves by 46.1%p (CAGR 6.6%, MDD -18.3%, exposure 4%).
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 |
|---|---|---|---|---|---|---|---|
| Keltner 채널 돌파 emaPeriod=29, atrPeriod=27, mult=2.8 |
17.3% | -48.0% | 0.66 | 0.36 | 5.8x | 30 | 19% |
| 볼린저 밴드 돌파 n=20, k=3.4 |
6.6% | -18.3% | 0.56 | 0.36 | 2.0x | 8 | 4% |
| Donchian 채널 돌파 entryN=123, exitN=11 |
8.9% | -50.7% | 0.47 | 0.18 | 2.6x | 20 | 14% |
| ROC 모멘텀 n=3, threshold=-0.12 |
0.2% | -95.6% | 0.38 | 0.00 | 1.0x | 165 | 94% |
| Parabolic SAR step=0.01, maxStep=0.12 |
3.5% | -88.2% | 0.34 | 0.04 | 1.5x | 144 | 49% |
| Supertrend period=17, mult=2.7 |
1.5% | -84.5% | 0.30 | 0.02 | 1.2x | 84 | 41% |
| ADX / DI 방향성 period=23, threshold=16 |
3.0% | -79.9% | 0.28 | 0.04 | 1.4x | 80 | 28% |
| SMA 크로스오버 fast=72, slow=121 |
-0.3% | -75.2% | 0.25 | -0.00 | 1.0x | 24 | 42% |
| EMA 크로스오버 fast=30, slow=217 |
-0.3% | -78.6% | 0.22 | -0.00 | 1.0x | 18 | 38% |
| MACD fast=13, slow=58, signal=16 |
-6.6% | -97.7% | 0.18 | -0.07 | 0.5x | 136 | 52% |
| Buy and hold | -0.9% | -94.1% | 0.39 | -0.01 | 0.9x | 1 | 100% |
Rules of the top strategy
Breaking above the channel top (average plus a multiple of volatility) signals an upside breakout.
- Buy — Buy when the close breaks above the 29-day average + 2.8× volatility (Keltner top)
- Sell — Sell when the close falls back to the 29-day average