Trend-Following Backtester · Guide · backtest 한국어
equity · US
Primoris Services Corporation backtest
10 trend-following strategies were compared on the full daily history of Primoris Services Corporation. 3 beat buy-and-hold CAGR; EMA 크로스오버 ranks first by Sharpe, matching the main backtester. The return/drawdown alternative is Donchian 채널 돌파 (CAGR 15.0%, MDD -50.4%).
Results by strategy
3 of 10 beat buy and hold (CAGR 14.5%, drawdown -70.3%).
Sharpe leader (same as main): EMA 크로스오버 — CAGR 16.7%, MDD -60.1%, Sharpe 0.66, 58% exposure.
Return/drawdown alternative: Donchian 채널 돌파 — CAGR is 2.2%p higher than buy and hold, while drawdown improves by 10.1%p (CAGR 15.0%, MDD -50.4%, exposure 49%).
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 |
|---|---|---|---|---|---|---|---|
| EMA 크로스오버 fast=42, slow=58 |
16.7% | -60.1% | 0.66 | 0.28 | 16.0x | 48 | 58% |
| 볼린저 밴드 돌파 n=37, k=3 |
9.5% | -37.1% | 0.65 | 0.26 | 5.1x | 36 | 18% |
| SMA 크로스오버 fast=28, slow=126 |
16.2% | -60.8% | 0.65 | 0.27 | 14.9x | 44 | 58% |
| Donchian 채널 돌파 entryN=68, exitN=46 |
15.0% | -50.4% | 0.64 | 0.30 | 12.3x | 30 | 49% |
| ROC 모멘텀 n=122, threshold=-0.01 |
11.6% | -58.2% | 0.52 | 0.20 | 7.3x | 88 | 61% |
| Supertrend period=28, mult=3.2 |
10.4% | -72.7% | 0.49 | 0.14 | 6.0x | 90 | 59% |
| Keltner 채널 돌파 emaPeriod=59, atrPeriod=15, mult=3.2 |
7.3% | -53.1% | 0.43 | 0.14 | 3.6x | 46 | 29% |
| ADX / DI 방향성 period=28, threshold=9 |
7.1% | -66.6% | 0.40 | 0.11 | 3.4x | 234 | 50% |
| MACD fast=30, slow=58, signal=24 |
6.7% | -75.3% | 0.37 | 0.09 | 3.2x | 138 | 53% |
| Parabolic SAR step=0.025, maxStep=0.38 |
-2.3% | -61.3% | 0.09 | -0.04 | 0.7x | 441 | 55% |
| Buy and hold | 14.5% | -70.3% | 0.54 | 0.21 | 11.4x | 1 | 100% |
Rules of the top strategy
Uses two exponential averages (more weight on recent prices) and trades their crossover.
- Buy — Buy when the 42-day EMA crosses above the 58-day EMA
- Sell — Sell when the 42-day EMA falls below the 58-day EMA