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.6%, MDD -48.2%).
Results by strategy
8 of 10 beat buy and hold (CAGR 10.1%, drawdown -79.0%).
Sharpe leader (same as main): SMA 크로스오버 — CAGR 25.2%, MDD -54.2%, Sharpe 0.81, 62% exposure.
Return/drawdown alternative: EMA 크로스오버 — CAGR is 15.1%p higher than buy and hold, while drawdown improves by 24.8%p (CAGR 23.6%, 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 |
25.2% | -54.2% | 0.81 | 0.47 | 14.0x | 8 | 62% |
| EMA 크로스오버 fast=50, slow=137 |
23.6% | -48.2% | 0.77 | 0.49 | 12.0x | 14 | 61% |
| 볼린저 밴드 돌파 n=59, k=0.9 |
18.7% | -52.0% | 0.74 | 0.36 | 7.5x | 61 | 52% |
| Keltner 채널 돌파 emaPeriod=77, atrPeriod=17, mult=1.2 |
17.8% | -55.7% | 0.70 | 0.32 | 6.9x | 59 | 55% |
| ROC 모멘텀 n=122, threshold=-0.02 |
19.9% | -52.7% | 0.68 | 0.38 | 8.4x | 50 | 66% |
| Supertrend period=35, mult=4.3 |
18.0% | -65.1% | 0.68 | 0.28 | 7.0x | 39 | 62% |
| Donchian 채널 돌파 entryN=20, exitN=14 |
11.3% | -62.3% | 0.50 | 0.18 | 3.5x | 71 | 53% |
| ADX / DI 방향성 period=12, threshold=36 |
6.6% | -30.8% | 0.49 | 0.21 | 2.1x | 56 | 17% |
| Parabolic SAR step=0.005, maxStep=0.3 |
11.1% | -59.4% | 0.49 | 0.19 | 3.4x | 105 | 56% |
| MACD fast=7, slow=39, signal=9 |
6.1% | -67.2% | 0.34 | 0.09 | 2.0x | 239 | 52% |
| Buy and hold | 10.1% | -79.0% | 0.44 | 0.13 | 3.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 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