Signal-only research · No auto-trading · Not financial advice
20-Day Breakout + 10-Day Trailing Stop
Every day, scan for symbols that make a new 20-day high (long) or new 20-day low (short). Rank them by volatility-normalised strength — (close − 20d SMA) / ATR(14) — enter the top 5 per side, and exit on a 10-day trailing stop. Backtested on 5 years of real data with a 10,000-run block-bootstrap Monte Carlo, net of fees & slippage.
1 · Historical Backtest 5Y · 2021-08 → 2026-08
43 Bybit USDT perps (crypto) + 153 US stocks + 38 index ETFs + 18 commodity ETFs. Returns = equal-weight sum of per-trade % P&L. Net = after 5.5 bps taker fee + 5 bps slippage per side (21 bps round-trip). Drawdowns reported at the account level (compounded, 1% risk/trade) — the sum-of-returns line has no bounded drawdown and can swing below zero, which is why naive "maxDD" figures there exceed 100% and contradict profitability.
| Asset class | Trades | Gross ret | Net ret | Win rate | Profit factor | Verdict |
| Crypto-perps (Bybit) | 1,726 | +2,460.7% | +2,098.2% | 17.3% | 1.33 | STRONG |
| Stocks (US) | 2,457 | +103.8% | -412.2% | 16.2% | 0.90 | WEAK |
| Indexes | 1,612 | -103.5% | -442.0% | 14.9% | 0.70 | WEAK |
| Commodities / Futures | 1,386 | -513.2% | -804.3% | 13.3% | 0.70 | WEAK |
2 · Monte Carlo — Equal-Weight Return Distribution 10,000 SIMS · NET
Block-bootstrap resampling of the actual realised trade P&L list (preserves regime autocorrelation), compounded into equity curves. Net of costs. MaxDD = genuine account drawdown (compounded R-multiples at 1% risk), not the unbounded sum-line metric.
| Asset class | Terminal P5 | Terminal P50 | Terminal P95 | P(profit) | MaxDD P50 |
| Crypto-perps (Bybit) | +163.8% | +2,148.8% | +4,346.3% | 96.3% | 26.6% |
| Stocks (US) | -1,128.3% | -429.2% | +379.9% | 18.3% | 72.7% |
| Indexes | -675.8% | -442.0% | -193.9% | 0.3% | 73.2% |
| Commodities / Futures | -1,364.6% | -808.0% | -186.7% | 1.7% | 59.9% |
| All combined | -1,551.5% | +549.7% | +2,975.2% | 65.0% | 92.7% |
Read: only crypto-perps has a robust edge — ~96% of sims are profitable and even the P5 outcome is positive. Stocks, indexes and commodities are net losers after realistic costs; their P(profit) is in the single digits. The edge is real, and it is crypto-specific.
3 · Monte Carlo — Compounded Equity 1% RISK / TRADE · NET
The realistic one. Each trade is sized as a constant 1% of equity risked and the equity curve is compounded via each trade's net R-multiple — i.e. what a low-leverage account actually following the strategy would have seen over 5 years.
Crypto · 5y CAGR
+23.2%
MC P5 → P95+2.0% → +53.1%
Equity after 5y×2.84
Max DD (actual)19.0%
P(profit)96.5%
Stocks · 5y CAGR
-22.3%
MC P5 → P95-31.0% → -12.8%
Equity after 5y×0.28
Max DD (actual)71.7%
P(profit)0.0%
Commodities · 5y CAGR
-15.4%
MC P5 → P95-22.7% → -6.7%
Equity after 5y×0.43
Max DD (actual)61.0%
P(profit)0.2%
Compounded CAGR distribution by asset class (5th / 50th / 95th percentile)
5th pct (worst)
50th pct (median)
95th pct (best)
| Asset class | Trades | Equity ×5y | CAGR | MC CAGR P5 | MC CAGR P50 | MC CAGR P95 | P(profit) | MaxDD P50 |
| Crypto-perps (Bybit) | 1,726 | ×2.84 | +23.2% | +2.0% | +23.5% | +53.1% | 96.5% | 26.5% |
| Stocks (US) | 2,457 | ×0.28 | -22.3% | -31.0% | -21.8% | -12.8% | 0.0% | 72.5% |
| Indexes | 1,612 | ×0.28 | -22.4% | -29.2% | -22.4% | -14.6% | 0.0% | 73.3% |
| Commodities / Futures | 1,386 | ×0.43 | -15.4% | -22.7% | -15.2% | -6.7% | 0.2% | 59.6% |
| All combined | 7,181 | ×0.10 | -37.2% | -52.9% | -37.3% | -13.6% | 0.9% | 92.8% |
4 · Parameter Sensitivity CRYPTO · GROSS · ACCOUNT-LEVEL MAXDD
All 30 lookback × trailing-stop combinations were profitable gross — the edge is not a single lucky parameter point. MaxDD is the account-level figure (compounded, 1% risk), so values are bounded and comparable (the old unbounded sum-line "maxDD" produced impossible >100% values). Top rows by terminal return:
| Lookback | Trail | Trades | Terminal | Win rate | Profit factor | Max DD |
| 10 | 15 | 2,127 | +3,310.0% | 14.4% | 1.44 | 22.4% |
| 40 | 15 | 1,220 | +3,219.4% | 16.3% | 1.74 | 11.9% |
| 15 | 10 | 1,961 | +3,051.1% | 17.4% | 1.45 | 18.9% |
| 15 | 15 | 1,867 | +3,018.8% | 15.0% | 1.46 | 17.7% |
| 30 | 15 | 1,364 | +2,995.7% | 15.8% | 1.61 | 14.1% |
| 30 | 10 | 1,412 | +2,984.8% | 18.2% | 1.60 | 15.5% |
| 40 | 20 | 1,195 | +2,921.5% | 14.6% | 1.67 | 11.4% |
| 20 | 10 | 1,726 | +2,460.7% | 17.4% | 1.40 | 16.4% |
The 20/10 specification is not the peak terminal-return point (that's 10/15 and 40/15), but all combos cluster PF 1.2–1.8 with account drawdowns mostly 10–30% — a broad, stable edge region rather than a knife-edge. Bold row = strategy as specified (20-day lookback, 10-day trail).
5 · Yearly & Long/Short Decomposition CRYPTO · NET · 21 BPS RT
Same backtest (20d lookback / 10d trail, top-5 per side), broken down by calendar year and by direction. Returns are net of the 21 bps round-trip cost. Long/short columns show trade count and net P&L for each side per year.
| Year | Trades | Gross ret | Net ret | Win rate | PF | Longs (n · net) | Shorts (n · net) |
| 2021* | 73 | -140.1% | -155.4% | 8.2% | 0.44 | 41 · -133.9% | 32 · -21.5% |
| 2022 | 276 | -156.7% | -214.6% | 17.0% | 0.78 | 133 · -491.5% | 143 · +276.8% |
| 2023 | 313 | +1,159.8% | +1,094.1% | 19.8% | 2.19 | 180 · +1,153.4% | 133 · -59.3% |
| 2024 | 368 | +348.9% | +271.6% | 14.7% | 1.18 | 223 · +491.1% | 145 · -219.5% |
| 2025 | 377 | +741.0% | +661.9% | 17.0% | 1.40 | 194 · +776.4% | 183 · -114.5% |
| 2026* | 319 | +507.8% | +440.8% | 20.7% | 1.41 | 161 · +284.9% | 158 · +155.9% |
Long vs Short — full period
| Side | Trades | Share | Net ret | Net P&L share | Win rate | PF | Avg R |
| LONG | 932 | 54.0% | +2,080.4% | 99.2% | 15.9% | 1.52 | +0.11R |
| SHORT | 794 | 46.0% | +17.8% | 0.8% | 19.0% | 1.01 | +0.02R |
Read: the period was LONG-heavy by trade count (54.0% of 1,726 trades) and LONG-heavy by returns (99.2% of net P&L). A trailing-stop strategy produces low win rates on both sides; the difference is average R — longs carry the edge while shorts are roughly breakeven net of costs. First/last years are partial windows of the 2021-08 → 2026-08 data.
Yearly net return by side
LONG net %
SHORT net %
6 · Methodology & Caveats READ ME
- Signal: long when today's high > max(high of prior 20d); short when today's low < min(low of prior 20d). Entry at next bar's open (no look-ahead).
- Ranking: volatility-normalised strength (close − 20d SMA) / ATR(14); top 5 longs + top 5 shorts per day.
- Exit: 10-day trailing stop computed from the preceding bars only (never includes the current bar — including it self-triggers the stop). Longs fill at min(stop, open), shorts at max(stop, open) — gaps fill adversarially.
- Costs: 5.5 bps taker + 5 bps slippage per side = 21 bps round-trip, applied on every trade.
- Monte Carlo: block-bootstrap resamples the actual realised trade P&L list (block ≈ n/50 to preserve autocorrelation), 10,000 sims, both equal-weight sum-of-returns and constant-1%-risk compounded variants.
- Drawdown metric: account-level DD comes from compounding net R-multiples at constant 1% risk (equity floored at 0 — an account is ruined, not negative). The equal-weight sum-of-returns line is not an account and its peak-to-trough can exceed 100%; it is never reported as a drawdown.
- Survivorship bias: only currently-trading symbols are included (crypto perps limited to 43 symbols with full 5y history; many alts listed later).
- Sum-of-returns caveat: §1–2 terminal numbers are the standard cross-sectional edge metric and overstate a real compounded portfolio; the §3 compounded figures are the realistic account-level picture.
- Signal-only: this is research. No auto-trading. Not financial advice.