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.
Last year I published an article on this exact strategy: 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 classic 20-day exit is tight enough to get shaken out of trends it was right about, and every re-entry pays the breakout's chop tax again. 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?
The original article leaned on trend-following folklore: the longer the lookback, the more meaningful the breakout. The sweep says otherwise — on SPY, entries get weaker as they get longer:
| 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 N-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 those live almost entirely in thin, heavily-filtered cells our reliability rule flags anyway. This confirms the strongest claim from the original article with harder evidence than it had: on an index with a structural upward drift, selling weakness is a fight against the house. Markets are not random — and on equity indices the non-randomness points up. 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. False breakouts aren't an edge case — they're the norm: 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 best excursion (+2.57%) barely outweighed the average worst (−2.75%). A breakout entry buys you a coin-flip's worth of immediate comfort, and no filter changes that.
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's the general lesson of regime filters: they decide when your edge is worth taking, and on SPY, big-range, high-volatility conditions are when breakouts earn their keep.
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% — statistical noise. Breakouts still resolve upward more often than not (62.6% positive even now), but the size of the follow-through has been arbitraged to almost nothing on this index. Momentum persistence is real and centuries old; that doesn't obligate it to be large, here, now.
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 tested worst. The 20-day-low exit — the "20 out" in the name — lost to a plain 20-bar clock. Longer entry lookbacks weakened results on SPY instead of strengthening them. 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 the damage is small, but real costs shrink every number here.
- The buy-and-hold benchmark is price-only. With dividends reinvested, SPY's true CAR is higher than the 8.8% shown — the honest comparison is worse for the strategy, not better.
- 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 seven 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. 2.7% CAR at half exposure with half the market's drawdown is a diversifier — pair it with mean-reversion tools like Casey Bands rather than asking it to be your whole account.








