Trend-Following Backtester · Guide · backtest 한국어
equity · US
Upwork Inc. backtest
10 trend-following strategies were compared on the full daily history of Upwork Inc.. 9 beat buy-and-hold CAGR; SMA 크로스오버 ranks first by Sharpe, matching the main backtester. The return/drawdown alternative is ADX / DI 방향성 (CAGR 8.4%, MDD -23.6%).
Results by strategy
9 of 10 beat buy and hold (CAGR -10.2%, drawdown -87.5%).
Sharpe leader (same as main): SMA 크로스오버 — CAGR 22.1%, MDD -58.4%, Sharpe 0.65, 43% exposure.
Return/drawdown alternative: ADX / DI 방향성 — CAGR is 32.4%p higher than buy and hold, while drawdown improves by 29.1%p (CAGR 8.4%, MDD -23.6%, exposure 7%).
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=14, slow=37 |
22.1% | -58.4% | 0.65 | 0.38 | 4.8x | 41 | 43% |
| Supertrend period=29, mult=3.8 |
20.2% | -64.7% | 0.62 | 0.31 | 4.2x | 30 | 39% |
| 볼린저 밴드 돌파 n=47, k=3.4 |
14.0% | -36.5% | 0.61 | 0.38 | 2.8x | 8 | 13% |
| Keltner 채널 돌파 emaPeriod=48, atrPeriod=22, mult=2.1 |
15.9% | -52.7% | 0.57 | 0.30 | 3.2x | 30 | 28% |
| ADX / DI 방향성 period=32, threshold=27 |
8.4% | -23.6% | 0.55 | 0.36 | 1.9x | 8 | 7% |
| Donchian 채널 돌파 entryN=115, exitN=26 |
13.4% | -45.6% | 0.53 | 0.29 | 2.7x | 10 | 24% |
| ROC 모멘텀 n=94, threshold=0.1 |
12.2% | -66.9% | 0.49 | 0.18 | 2.5x | 54 | 34% |
| EMA 크로스오버 fast=1, slow=171 |
11.6% | -59.0% | 0.47 | 0.20 | 2.4x | 34 | 36% |
| MACD fast=18, slow=60, signal=17 |
-2.7% | -83.2% | 0.17 | -0.03 | 0.8x | 69 | 47% |
| Parabolic SAR step=0.02, maxStep=0.34 |
-16.9% | -89.2% | -0.21 | -0.19 | 0.2x | 167 | 45% |
| Buy and hold | -10.2% | -87.5% | 0.15 | -0.12 | 0.4x | 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 14-day average price crosses above the 37-day average
- Sell — Sell (to cash) when the 14-day average falls below the 37-day average