Trend-Following Backtester · Guide · backtest 한국어
equity · US
Willdan Group, Inc. backtest
10 trend-following strategies were compared on the full daily history of Willdan Group, Inc.. 4 beat buy-and-hold CAGR; SMA 크로스오버 ranks first by Sharpe, matching the main backtester. The return/drawdown alternative is SMA 크로스오버 (CAGR 24.1%, MDD -47.9%).
Results by strategy
4 of 10 beat buy and hold (CAGR 9.9%, drawdown -89.2%).
Sharpe leader (same as main): SMA 크로스오버 — CAGR 24.1%, MDD -47.9%, Sharpe 0.74, 55% exposure.
Return/drawdown alternative: SMA 크로스오버 — CAGR is 14.2%p higher than buy and hold, while drawdown improves by 41.3%p (CAGR 24.1%, MDD -47.9%, exposure 55%).
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=44, slow=269 |
24.1% | -47.9% | 0.74 | 0.50 | 70.7x | 14 | 55% |
| Donchian 채널 돌파 entryN=91, exitN=75 |
22.3% | -56.8% | 0.72 | 0.39 | 52.4x | 16 | 52% |
| ROC 모멘텀 n=147, threshold=0.05 |
18.5% | -48.3% | 0.64 | 0.38 | 28.2x | 132 | 51% |
| EMA 크로스오버 fast=51, slow=99 |
16.2% | -62.1% | 0.58 | 0.26 | 19.2x | 30 | 54% |
| Supertrend period=21, mult=4.9 |
9.7% | -80.1% | 0.43 | 0.12 | 6.2x | 50 | 53% |
| Keltner 채널 돌파 emaPeriod=56, atrPeriod=12, mult=3.1 |
6.7% | -58.1% | 0.38 | 0.12 | 3.6x | 56 | 26% |
| 볼린저 밴드 돌파 n=54, k=2.7 |
3.2% | -70.5% | 0.25 | 0.05 | 1.9x | 58 | 27% |
| ADX / DI 방향성 period=36, threshold=37 |
1.7% | -21.2% | 0.25 | 0.08 | 1.4x | 2 | 1% |
| MACD fast=22, slow=50, signal=13 |
-1.9% | -88.1% | 0.18 | -0.02 | 0.7x | 214 | 52% |
| Parabolic SAR step=0.02, maxStep=0.38 |
-8.9% | -92.6% | 0.03 | -0.10 | 0.2x | 400 | 50% |
| Buy and hold | 9.9% | -89.2% | 0.45 | 0.11 | 6.5x | 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 44-day average price crosses above the 269-day average
- Sell — Sell (to cash) when the 44-day average falls below the 269-day average