Trend-Following Backtester · Guide · backtest 한국어
equity · US
Williams-Sonoma, Inc. backtest
10 trend-following strategies were compared on the full daily history of Williams-Sonoma, Inc.. 0 beat buy-and-hold CAGR; Donchian 채널 돌파 ranks first by Sharpe, matching the main backtester.
Results by strategy
0 of 10 beat buy and hold (CAGR 15.2%, drawdown -89.5%).
Sharpe leader (same as main): Donchian 채널 돌파 — CAGR 13.9%, MDD -73.9%, Sharpe 0.52, 82% exposure.
No strategy retained at least 75% of buy-and-hold CAGR while reducing drawdown by both 20% relatively and 5 percentage points absolutely.
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 |
|---|---|---|---|---|---|---|---|
| Donchian 채널 돌파 entryN=12, exitN=57 |
13.9% | -73.9% | 0.52 | 0.19 | 272.9x | 159 | 82% |
| Supertrend period=24, mult=4.8 |
9.4% | -68.9% | 0.44 | 0.14 | 47.9x | 155 | 55% |
| MACD fast=22, slow=59, signal=31 |
9.4% | -76.7% | 0.44 | 0.12 | 47.2x | 321 | 51% |
| ADX / DI 방향성 period=47, threshold=27 |
3.8% | -19.4% | 0.44 | 0.19 | 4.9x | 12 | 5% |
| SMA 크로스오버 fast=57, slow=215 |
8.8% | -86.8% | 0.41 | 0.10 | 37.2x | 53 | 64% |
| EMA 크로스오버 fast=57, slow=216 |
8.4% | -82.5% | 0.41 | 0.10 | 32.8x | 47 | 65% |
| Keltner 채널 돌파 emaPeriod=38, atrPeriod=25, mult=2.6 |
6.5% | -47.7% | 0.38 | 0.14 | 14.8x | 209 | 34% |
| Parabolic SAR step=0.005, maxStep=0.26 |
6.9% | -85.5% | 0.37 | 0.08 | 18.0x | 361 | 55% |
| 볼린저 밴드 돌파 n=43, k=2.5 |
5.8% | -53.2% | 0.37 | 0.11 | 11.2x | 150 | 28% |
| ROC 모멘텀 n=148, threshold=-0.04 |
6.0% | -87.8% | 0.34 | 0.07 | 12.5x | 313 | 68% |
| Buy and hold | 15.2% | -89.5% | 0.54 | 0.17 | 438.8x | 1 | 100% |
Rules of the top strategy
A new high means a trend starting; a new low means it’s over (turtle-trading style).
- Buy — Buy on a breakout above the highest high of the last 12 days
- Sell — Sell when price breaks below the lowest low of the last 57 days