Trend-Following Backtester · Guide · backtest 한국어
equity · US
Shopify Inc. backtest
10 trend-following strategies were compared on the full daily history of Shopify Inc.. 1 beat buy-and-hold CAGR; SMA 크로스오버 ranks first by Sharpe, matching the main backtester. The return/drawdown alternative is ROC 모멘텀 (CAGR 45.5%, MDD -46.4%).
Results by strategy
1 of 10 beat buy and hold (CAGR 45.9%, drawdown -84.8%).
Sharpe leader (same as main): SMA 크로스오버 — CAGR 47.2%, MDD -51.7%, Sharpe 1.07, 75% exposure.
Return/drawdown alternative: ROC 모멘텀 — CAGR is 1.3%p higher than buy and hold, while drawdown improves by 33.1%p (CAGR 45.5%, MDD -46.4%, exposure 78%).
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=58, slow=270 |
47.2% | -51.7% | 1.07 | 0.91 | 75.8x | 6 | 75% |
| ROC 모멘텀 n=191, threshold=-0.02 |
45.5% | -46.4% | 1.03 | 0.98 | 66.6x | 40 | 78% |
| EMA 크로스오버 fast=40, slow=203 |
43.4% | -46.3% | 1.03 | 0.94 | 56.7x | 8 | 74% |
| Donchian 채널 돌파 entryN=62, exitN=72 |
37.8% | -55.8% | 0.98 | 0.68 | 36.1x | 16 | 68% |
| 볼린저 밴드 돌파 n=57, k=1.5 |
24.1% | -48.1% | 0.84 | 0.50 | 11.2x | 49 | 45% |
| Supertrend period=26, mult=4.9 |
26.0% | -56.6% | 0.82 | 0.46 | 13.3x | 37 | 55% |
| ADX / DI 방향성 period=28, threshold=39 |
4.4% | -6.6% | 0.79 | 0.66 | 1.6x | 2 | 2% |
| Keltner 채널 돌파 emaPeriod=46, atrPeriod=28, mult=2.3 |
18.0% | -42.4% | 0.68 | 0.42 | 6.4x | 58 | 44% |
| MACD fast=18, slow=47, signal=18 |
5.9% | -71.8% | 0.34 | 0.08 | 1.9x | 131 | 52% |
| Parabolic SAR step=0.02, maxStep=0.36 |
2.1% | -82.5% | 0.26 | 0.03 | 1.3x | 263 | 56% |
| Buy and hold | 45.9% | -84.8% | 0.92 | 0.54 | 68.7x | 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 58-day average price crosses above the 270-day average
- Sell — Sell (to cash) when the 58-day average falls below the 270-day average