TL;DR — the answer box
- The classic 40 in, 20 out — buy a close above the 40-day high, sell a close below the 20-day low — still makes money long-only on SPY: 84 trades over 33.4 years, $10,550.27 net on a $10,000 account (105.5% total, frictionless), 47.6% win rate, 2.7% CAR.
- The famous exit is the weak link. A plain 20-bar time exit beat the 20-day-low channel exit on every risk measure: 3.71 CAR vs 2.69, 18.2% max drawdown vs 26.3%, CAR/MaxDD 0.20 vs 0.10.
- Buy-and-hold beat both on raw return — 8.8% CAR (price-only) — but with a 56.5% max drawdown. The breakout system's case is survival, not speed: roughly half the market exposure and half the drawdown.
- The short side is a graveyard. Every unfiltered breakdown entry lost money; the 10-day version lost $18,266.49 with a 181.1% max drawdown — the account didn't just underperform, it died.
- The edge is decaying. Average 20-day return after a 40-day breakout: 0.851% in 1993–1999, 0.272% in the 2000s, 0.268% in the 2010s, 0.016% in 2020–2026.
How we tested
If you've ever watched a market close at a new 40-day high and wondered whether chasing it is discipline or delusion — this is for you.
It is the hedge-fund trend rule so old and so simple it feels like it can't possibly still work. Buy when price closes above its highest high of the last 40 days. Sell when it closes below its lowest low of the last 20. That piece made the argument from history. This rebuild makes it from the engine — every claim re-tested, and a few of my own conclusions overturned in the process. I explain the strategy's logic in The Hedge Fund Strategy No One Talks About on the StatOasis YouTube channel; this article is the unfiltered test.
The setup, in plain English. A Donchian channel is nothing more than the highest high and the lowest low of the last N days — two lines, no math beyond a maximum and a minimum. A channel breakout system buys strength (a close above the upper line) and exits on weakness (a close below the lower line). No prediction, no targets. The bet is that new highs lead to more new highs — that trends, once started, persist.
We tested it on SPY daily data from 1993-02-02 to 2026-06-12 — 8,398 bars, 33.4 years. The engine found 805 breakout events (a close above the prior 40-day high) and ran 1,188 backtest variants: two directions, six entry lengths (10/20/40/55/100/150 days), eleven exits (channel exits at 10/20/40/55 days head-to-head against fixed holds of 0–20 bars), and a 3×3 grid of volatility and trend regime filters. Every entry fills at the next bar's open — no look-ahead. Account: $10,000, full-account shares, no compounding, flat-only, frictionless. Every number below comes from the study's locked facts file, computed straight from the result CSVs.
Does the 40 in, 20 out strategy still make money on the S&P 500?
Yes — long-only, and modestly. The classic configuration, no filters:
| Metric | 40 in / 20 out (Long) | SPY buy-and-hold |
|---|---|---|
| Net result on $10,000 | $10,550.27 (105.5%) | 16.7x multiple |
| CAR (annual return) | 2.7% | 8.8% (price-only) |
| Max drawdown | 26.3% | 56.5% |
| Time in market | 51.4% | 100% |
| Trades | 84 (2.5/yr) | — |
| Win rate | 47.6% | — |
| Profit factor | 1.75 | — |
Profit factor — gross wins divided by gross losses — of 1.75 means the winners paid for the losers with real room to spare. The average win was $613.98 against an average loss of $318.38, a payoff ratio of 1.93: classic trend following, losing slightly more often than it wins but winning nearly twice as big.
Notice what the comparison actually says, though. Buy-and-hold made more than three times the annual return. The breakout system's entire case is the other two rows: it slept in cash almost half the time, and its worst valley was 26.3% deep against the index's 56.5%. This is a strategy you keep because you can survive it, not because it makes you rich. Survival is the product.
Is the 20-day-low exit actually the right exit?
I expected the channel exit to defend its crown. It didn't.
Same entries — a close above the 40-day high — eleven different ways out, long, no filters:
| Exit | Trades | Net profit | Win% | CAR | MaxDD% | CAR/MaxDD | Exposure% |
|---|---|---|---|---|---|---|---|
| Channel 10-day low | 119 | $7,285.15 | 44.5 | 1.84 | 29.0 | 0.06 | 42.8 |
| Channel 20-day low (the classic) | 84 | $10,550.27 | 47.6 | 2.69 | 26.3 | 0.10 | 51.4 |
| Channel 40-day low | 55 | $16,435.40 | 56.4 | 4.25 | 20.4 | 0.21 | 64.3 |
| Channel 55-day low | 41 | $20,765.42 | 63.4 | 5.40 | 25.0 | 0.22 | 71.8 |
| Hold 3 bars | 439 | $2,149.51 | 58.5 | 0.54 | 14.2 | 0.04 | 20.9 |
| Hold 10 bars | 256 | $6,335.90 | 61.3 | 1.79 | 21.2 | 0.08 | 33.5 |
| Hold 20 bars | 174 | $12,916.31 | 66.1 | 3.71 | 18.2 | 0.20 | 43.5 |
Two results here are worth the whole study.
First: the dumb time exit won its head-to-head. Holding every breakout for exactly 20 bars — no signal, no channel, just a calendar — beat the classic 20-day-low exit on net profit ($12,916.31 vs $10,550.27), max drawdown (18.2% vs 26.3%), and return-to-drawdown (0.20 vs 0.10), with a 66.1% win rate. The celebrated exit rule spent three decades being outperformed by "sell in a month."
Second: if you do use a channel exit, wider is better. The 40-day-low exit more than doubled the classic's CAR/MaxDD (0.21 vs 0.10), and the 55-day exit posted the best raw numbers in the table — $20,765.42 net, 63.4% win rate — but on only 41 trades, which is below our 50-trade reliability bar. Flagged, not trusted.
The pattern behind both results is the same: the tighter the exit, the more often it closed and the less it kept. The classic 20-day exit turned over 84 trades at 50.4 bars each; the 40-day exit took 55 at 97.2 bars and doubled the return-to-drawdown. The grid ranks exits, it does not isolate why. Give the trend room — with a wider channel or a fixed clock — and the same entries earn more with less pain.
Do longer breakouts really get stronger?
Trend-following folklore says the longer the lookback, the more meaningful the breakout. The sweep says otherwise — on SPY the 20-day entry posted the highest CAR of the six lengths tested, and every lookback longer than it earned less:
| Entry | Trades | Net profit | Win% | CAR | MaxDD% | CAR/MaxDD |
|---|---|---|---|---|---|---|
| 10-day high | 128 | $12,740.60 | 46.1 | 2.90 | 42.3 | 0.07 |
| 20-day high | 102 | $14,457.91 | 46.1 | 3.76 | 32.9 | 0.11 |
| 40-day high | 84 | $10,550.27 | 47.6 | 2.69 | 26.3 | 0.10 |
| 55-day high | 80 | $6,312.57 | 43.8 | 1.46 | 28.1 | 0.05 |
| 100-day high | 69 | $6,621.26 | 47.8 | 1.66 | 19.5 | 0.09 |
| 150-day high | 65 | $5,197.73 | 49.2 | 1.24 | 21.4 | 0.06 |
(All with the classic channel-20 exit, long, no filters.) The 20-day entry — the shortest one with a tolerable drawdown — beat the 150-day entry's CAR three times over, 3.76 to 1.24. Why? Because of something the events file makes embarrassingly clear: 74.2% of SPY's 40-day-high breakouts were also 200-day-plus highs. In an index that drifts up, a long-lookback breakout isn't an early trend signal — it's a late arrival at a party that's been running for months. The fresh breakouts carried the juice: events that broke the 40-day high but not yet the 55-day high averaged +1.457% over the next 20 days, versus +0.106% for breakouts at 200-day-plus highs.
One honest flag before you optimize: the single best reliable variant in the whole grid (entry 10, hold 20, trend filter on) posted a 0.37 CAR/MaxDD on 205 trades. It's a real cell, and it's also exactly the kind of lone peak I tell you not to trust. A grid maximum is a starting hypothesis, never a conclusion — that's the difference between testing for robustness and curve-fitting.
Why doesn't shorting breakouts work on stocks?
It doesn't just "not work." It ruins you. Mirrored breakdowns — a close below the prior N-day low, covered at the 20-day-high channel — long-side logic flipped honestly:
| Entry | Trades | Net profit | Win% | CAR | MaxDD% |
|---|---|---|---|---|---|
| 10-day low | 146 | −$18,266.49 | 18.5 | −5.81 | 181.1 |
| 20-day low | 102 | −$16,214.41 | 21.6 | −5.21 | 160.9 |
| 40-day low | 67 | −$13,621.55 | 20.9 | −4.33 | 135.9 |
| 55-day low | 48 | −$7,905.24 | 25.0 | −2.59 | 79.6 |
A max drawdown above 100% means the $10,000 account was gone before the backtest finished — the 10-day short variant drew down 181.1%. Across the entire grid, only 117 of 594 short variants ended positive, and 115 of those 117 sit below our 50-trade reliability floor, carry a regime filter, or both; exactly 2 are reliable and unfiltered. That is the strongest thing this grid says, and it is not subtle: 477 of the 594 tested short variants finished at or below zero on this SPY sample. That is a result on one index over one window, and it sits beside what a coin flip does on the same data. It's the same asymmetry we found when the identical breakout rule behaved differently on the Nasdaq, S&P, and Dow: the market you trade decides what your rule is worth.
Do trend and volatility filters fix false breakouts?
First, the uncomfortable base rate. Retests aren't an edge case — they're the norm under this study's own 60-bar definition: 94.2% of the 805 breakouts retested the broken level within 60 bars, and 53.0% touched it on the entry day itself. Within 20 bars, 80.1% of events traded at least +1% above entry at some point and 68.1% traded at least −1% below. The average worst excursion (−2.75%) slightly exceeded the average best (+2.57%) in size. Comfort and pain both turned up inside 20 bars, and those rates are measured across every event rather than split by filter state.
What the locked regime filters did change is the shape of the ride. On the classic 40/20 long:
| Filter state | Trades | Net profit | CAR | MaxDD% | CAR/MaxDD |
|---|---|---|---|---|---|
| No filters | 84 | $10,550.27 | 2.69 | 26.3 | 0.10 |
| ATR(20) rising only | 56 | $9,977.53 | 2.73 | 14.6 | 0.19 |
| SMA(100) rising only | 74 | $8,953.39 | 2.33 | 18.3 | 0.13 |
ATR — average true range, a standard gauge of recent daily movement — turned out to be the filter that mattered. Taking only breakouts while volatility was expanding kept almost all the profit on a third fewer trades and nearly halved the worst drawdown, doubling CAR/MaxDD from 0.10 to 0.19. The trend filter helped less. Neither turned water into wine; both bought a smoother seat. That is one tested state on one market, not a verdict on regime filters in general, and rising ATR is not the same condition as a big-range day.
Has the breakout edge decayed?
Decade by decade, from the events layer (every breakout measured, overlaps kept):
| Period | Events | Avg 5-day return | Avg 20-day return | % positive at 20 days |
|---|---|---|---|---|
| 1993–1999 | 173 | +0.198% | +0.851% | 66.5% |
| 2000–2009 | 150 | −0.260% | +0.272% | 60.7% |
| 2010–2019 | 279 | +0.129% | +0.268% | 63.1% |
| 2020–2026 | 203 | −0.036% | +0.016% | 62.6% |
The direction of travel is one way. The 1990s paid a breakout buyer +0.851% over the next month; the 2020s paid +0.016%, the smallest decade average in the table. Breakouts still resolve upward more often than not (62.6% positive even now), but the size of the follow-through has fallen to almost nothing on this index. Direction and size are different questions. The direction held in every era measured; the size did not.
The verdict — and the honest limits
Where the original claim holds: the strategy is real. Long-only channel breakouts on the S&P 500 made money across 33 years, through three crashes, on rules you can write on an index card. The short side is exactly as dead as claimed — deader, actually, with data. Simple survived.
Where the folklore breaks: the famous parts were beaten by plainer ones. The 20-day-low exit — the "20 out" in the name — lost to a plain 20-bar clock. The 20-day entry beat every longer lookback on SPY instead of the longest being strongest. And the per-breakout payoff has decayed every decade to near zero in the 2020s. The rule's skeleton works; its mythology doesn't.
One strategy on one market is a solo instrument. Trend following was always written for an orchestra — the hedge funds this rule comes from never traded it on one index; they traded it on dozens of markets at once and let diversification carry what no single market could. That portfolio test is the natural next study, on real futures data with proper roll treatment.
The limits, because a study that hides them isn't worth trusting:
- Frictionless. No commission or slippage. At 2.5 trades a year there are few fills to pay for, but no cost was modelled, so every number here is frictionless.
- The buy-and-hold benchmark is price-only. The 8.8% shown excludes dividends, and this study never computed a dividend-inclusive benchmark, so the true gap to a total-return SPY is not measured here.
- Thin cells are flagged, not trusted. The channel-55 exit's headline rests on 41 trades; several filter combinations run thinner. Across the grid, 608 of 1,188 variants clear the 50-trade bar.
- One market, one instrument. SPY the ETF, not index futures — no leverage, no roll costs, and conclusions about "trend following" beyond US large-caps are not licensed by this data.
- Decade rows are overlapping events, not independent samples — read them as drift, not as four independent experiments.
- No compounding, fixed $10,000. Deliberate — it keeps 1990s trades and 2020s trades comparable — but it means dollar figures are not what a compounding account would show.
What this means for you
- If you trade this on SPY, trade it long-only. The short side lost under every entry length tested — worst case −$18,266.49 on a $10,000 account.
- Rethink your exit before your entry. The 20-bar time exit beat the classic channel exit (0.20 vs 0.10 CAR/MaxDD). Wider channels (40/55) beat tight ones. Exit mythology is the cheapest thing to test and the most profitable thing to fix.
- Don't assume longer lookbacks are stronger — test your market. On SPY the 20-day entry beat the 150-day threefold on CAR. On another market the ranking may flip; that's the point of testing.
- Use the volatility filter if drawdown is what kills you. ATR-rising nearly halved max drawdown (26.3% → 14.6%) at almost no cost to profit.
- Size for the 26.3% drawdown, not the equity curve. If the worst valley in the backtest would make you quit, the strategy was never yours.
- Judge it as a portfolio ingredient, not a lottery ticket. It made a 2.7% CAR at 51.4% time in market with a 26.3% max drawdown against buy-and-hold's 56.5%. Whether those two properties diversify a portfolio is a correlation test this study never ran, so pair it with mean-reversion tools like Casey Bands and measure the pair rather than asking it to be your whole account.
Putting a breakout system of your own through the same survival questions starts with the backtest you already have. That is the input AlgoChef takes — it scores the result and stress-tests it rather than running the test again.








