Trend-Following Backtester · Guide · backtest 한국어
equity · US
Freshpet, Inc. backtest
10 trend-following strategies were compared on the full daily history of Freshpet, Inc.. 8 beat buy-and-hold CAGR; SMA 크로스오버 ranks first by Sharpe, matching the main backtester. The return/drawdown alternative is EMA 크로스오버 (CAGR 23.0%, MDD -48.2%).
Results by strategy
8 of 10 beat buy and hold (CAGR 11.5%, drawdown -79.0%).
Sharpe leader (same as main): SMA 크로스오버 — CAGR 24.6%, MDD -54.2%, Sharpe 0.79, 62% exposure.
Return/drawdown alternative: EMA 크로스오버 — CAGR is 13.0%p higher than buy and hold, while drawdown improves by 24.8%p (CAGR 23.0%, MDD -48.2%, exposure 61%).
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=31, slow=233 |
24.6% | -54.2% | 0.79 | 0.45 | 13.4x | 9 | 62% |
| 볼린저 밴드 돌파 n=59, k=0.9 |
20.2% | -52.0% | 0.77 | 0.39 | 8.8x | 61 | 53% |
| EMA 크로스오버 fast=50, slow=137 |
23.0% | -48.2% | 0.76 | 0.48 | 11.5x | 15 | 61% |
| Keltner 채널 돌파 emaPeriod=77, atrPeriod=17, mult=1.2 |
19.3% | -55.7% | 0.74 | 0.35 | 8.0x | 59 | 56% |
| Supertrend period=35, mult=4.3 |
19.5% | -65.1% | 0.71 | 0.30 | 8.2x | 39 | 63% |
| ROC 모멘텀 n=122, threshold=-0.02 |
19.5% | -52.7% | 0.68 | 0.37 | 8.2x | 54 | 66% |
| Donchian 채널 돌파 entryN=20, exitN=14 |
12.7% | -62.3% | 0.54 | 0.20 | 4.1x | 71 | 53% |
| Parabolic SAR step=0.005, maxStep=0.3 |
12.5% | -59.4% | 0.53 | 0.21 | 4.0x | 105 | 56% |
| ADX / DI 방향성 period=12, threshold=36 |
6.1% | -30.8% | 0.46 | 0.20 | 2.0x | 57 | 17% |
| MACD fast=7, slow=39, signal=9 |
7.8% | -67.2% | 0.39 | 0.12 | 2.4x | 240 | 52% |
| Buy and hold | 11.5% | -79.0% | 0.47 | 0.15 | 3.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 31-day average price crosses above the 233-day average
- Sell — Sell (to cash) when the 31-day average falls below the 233-day average