The 50 best breakouts of 2008–2026
Research · Case studies · Backtest
Our breakout backtest has 1,657 trades from 2008 to October 2026. Only 24% of them make money. The system works anyway because a handful of trades run for months and pay for everything else.
This post looks at those trades. We took the best entry in each stock and ranked them. Together these 50 trades made 854R, about 94% of the 910R the whole backtest made. The top 30 alone made 73%, the top 20 59%. The other 1,607 trades, taken together, roughly break even. (R is profit in multiples of the amount risked. +20R means twenty times the risk.)
For each one we look at three things on the day before entry: the stock score, the chart, and the market. Then what actually happened, with a daily chart of the whole trade and every execution on it.
How the trades are managed
Every trade follows the same rules. Buy the breakout with a stop under the base. When the stock first closes below its 20-day average, sell half at the next open. Sell the other half at the next open after the first close below the 50-day average. If the stop is hit first, the whole position goes. All but one of the 50 trades below sold half on the 20-day rule and rode the rest on the 50-day.
The list
| # | Stock | Held | Days | R | Stock score | S5FI | RSP/SPY 20d | In our system? |
|---|---|---|---|---|---|---|---|---|
| 1 | APP | Sep 2024 → Feb 2025 | 169 | +81.3 | +5 | 64 | +0.9% | yes |
| 2 | AMC | May 2021 → Jul 2021 | 65 | +54.7 | +1 | 78 | +2.4% | yes |
| 3 | SMCI | Jan 2024 → Apr 2024 | 98 | +53.2 | +4 | 87 | +1.4% | skipped |
| 4 | SWKS | Oct 2014 → Apr 2015 | 181 | +30.2 | +6 | 51 | +0.2% | yes |
| 5 | FTCH | Oct 2020 → Jan 2021 | 119 | +29.6 | +1 | 44 | +1.7% | yes |
| 6 | SATS | Nov 2025 → Feb 2026 | 87 | +26.7 | +1 | 55 | +2.3% | yes |
| 7 | SHOP | Nov 2019 → Feb 2020 | 102 | +25.6 | +1 | 71 | −0.2% | yes |
| 8 | VRT | Nov 2023 → Jun 2024 | 211 | +22.4 | +4 | 45 | −1.7% | skipped |
| 9 | RGTI | Jul 2025 → Nov 2025 | 132 | +21.0 | 0 | 80 | −0.1% | yes |
| 10 | SNDK | Dec 2025 → Mar 2026 | 102 | +20.8 | 0 | 56 | +2.1% | yes |
| 11 | QBTS | Sep 2025 → Nov 2025 | 63 | +20.3 | −2 | 54 | −0.1% | skipped |
| 12 | ENPH | Sep 2020 → Feb 2021 | 147 | +20.3 | +1 | 24 | +1.7% | yes |
| 13 | MRNA | Nov 2020 → Jan 2021 | 60 | +19.5 | 0 | 56 | −0.3% | yes |
| 14 | ROKU | Jul 2020 → Feb 2021 | 235 | +18.8 | +1 | 68 | −4.3% | skipped |
| 15 | WLL | Mar 2018 → Jul 2018 | 118 | +15.9 | +1 | 41 | +0.0% | yes |
| 16 | ZM | Aug 2020 → Nov 2020 | 68 | +15.6 | −2 | 78 | −3.1% | skipped |
| 17 | GEV | Dec 2025 → May 2026 | 178 | +15.3 | −1 | 52 | +1.5% | skipped |
| 18 | EAT | Aug 2024 → Feb 2025 | 185 | +15.2 | +4 | 71 | −0.4% | yes |
| 19 | NVTS | Apr 2026 → Jun 2026 | 71 | +14.4 | −1 | 52 | −1.3% | skipped |
| 20 | ELF | Nov 2023 → Apr 2024 | 129 | +14.4 | +4 | 76 | −1.6% | skipped |
| 21 | VRNA | May 2025 → Oct 2025 | 145 | +14.2 | +1 | 69 | −0.5% | yes |
| 22 | OKLO | Sep 2025 → Nov 2025 | 55 | +14.0 | 0 | 54 | −0.1% | yes |
| 23 | CAR | Aug 2021 → Dec 2021 | 124 | +13.6 | +1 | 67 | +0.9% | yes |
| 24 | DQ | Dec 2020 → Mar 2021 | 84 | +13.5 | −1 | 76 | +3.1% | skipped |
| 25 | OKTA | Apr 2019 → Aug 2019 | 127 | +13.0 | 0 | 70 | −1.0% | yes |
| 26 | GH | Oct 2025 → Feb 2026 | 108 | +12.1 | +2 | 44 | −0.7% | yes |
| 27 | AR | Feb 2022 → Jun 2022 | 126 | +12.0 | +2 | 42 | +1.5% | yes |
| 28 | LNC | Jul 2009 → Oct 2009 | 91 | +11.6 | 0 | 78 | +0.8% | yes |
| 29 | STRL | Apr 2026 → Jul 2026 | 87 | +11.3 | +2 | 48 | +0.2% | yes |
| 30 | COUP | Apr 2019 → Aug 2019 | 112 | +11.2 | −1 | 73 | +0.1% | skipped |
| 31 | IONQ | Sep 2025 → Oct 2025 | 42 | +11.1 | −2 | 54 | −0.1% | skipped |
| 32 | ZS | Nov 2020 → Feb 2021 | 98 | +10.9 | −2 | 81 | +3.0% | skipped |
| 33 | TGTX | Oct 2024 → Jan 2025 | 69 | +10.7 | −1 | 61 | −0.8% | skipped |
| 34 | CLVS | Jun 2017 → Aug 2017 | 58 | +10.5 | 0 | 61 | −0.6% | yes |
| 35 | TTD | Sep 2020 → Jan 2021 | 102 | +9.9 | −3 | 24 | +1.7% | skipped |
| 36 | KTOS | Jan 2026 → Feb 2026 | 35 | +9.8 | −1 | 56 | +0.7% | skipped |
| 37 | NTLA | May 2021 → Sep 2021 | 111 | +9.7 | −1 | 74 | +1.2% | skipped |
| 38 | LULU | Mar 2011 → May 2011 | 65 | +9.7 | +4 | 49 | +0.4% | yes |
| 39 | APPS | Nov 2020 → Mar 2021 | 102 | +9.7 | +1 | 80 | +4.8% | skipped |
| 40 | CHWY | Nov 2020 → Feb 2021 | 99 | +9.7 | 0 | 81 | +3.7% | skipped |
| 41 | TCK | Oct 2016 → Dec 2016 | 53 | +9.3 | 0 | 43 | −0.0% | yes |
| 42 | FSLR | Oct 2013 → Dec 2013 | 62 | +9.3 | −1 | 64 | +0.5% | skipped |
| 43 | M | Oct 2021 → Dec 2021 | 49 | +9.3 | +1 | 37 | +1.5% | yes |
| 44 | NTAP | Jul 2026 → Oct 2026 | 85 | +9.3 | −1 | 61 | +1.8% | skipped |
| 45 | SPWR | Sep 2013 → Nov 2013 | 84 | +9.3 | n/a | 30 | −0.2% | yes (not scored) |
| 46 | NVDA | May 2024 → Jul 2024 | 76 | +9.1 | −1 | 57 | +0.3% | skipped |
| 47 | ETSY | Nov 2020 → Feb 2021 | 93 | +8.9 | +2 | 80 | +5.8% | skipped |
| 48 | ITMN | Apr 2014 → Jul 2014 | 81 | +8.9 | n/a | 52 | +0.1% | yes (not scored) |
| 49 | PANW | Oct 2014 → Aug 2015 | 281 | +8.7 | +1 | 59 | +0.5% | yes |
| 50 | CSIQ | Dec 2013 → Mar 2014 | 70 | +8.2 | +1 | 75 | +0.4% | yes |
S5FI is the share of S&P 500 stocks above their 50-day average. RSP/SPY 20d is how the equal-weight S&P 500 did against the normal index over the last 20 trading days. Both are explained in our post “Focus on what’s under the index”.
What they had in common
1. The charts looked ordinary
At entry, the best trades looked almost exactly like the average trade, and like the trades that got stopped out. Same volatility, same stop size, roughly the same distance from the 50-day average. You can’t pick the 50R winner from the chart on day one.
| At entry (median) | Top 50 | All trades | Trades that hit the stop |
|---|---|---|---|
| Average daily range | 5.3% | 5.2% | 5.2% |
| Stop distance | 3.8% | 4.2% | 4.0% |
| Distance above 50-day average | 4.8% | 4.7% | 5.2% |
| Below 52-week high (in ADRs) | 1.9 | 2.4 | 2.3 |
| Above 52-week low | +278% | +242% | +241% |
| S5FI | 60 | 62 | 62 |
| VIX | 17.4 | 17.1 | 16.7 |
The two real differences are highlighted. The winners were already leaders, up a median 278% from their 52-week low against 242% for the average trade, and they were breaking out closer to their highs.
2. The market was in an uptrend every time
All 50 were entered with the S&P 500 above its 200-day average. Breadth was usually neutral to good: the median S5FI was 60, and RSP/SPY was above our −1.1% skip line for 45 of the 50. Big winners rarely start in a broken market.
3. High stock scores show up far more often than chance
Our stock score runs from about −5 to +6 and adds up eleven fundamental and valuation checks: growth for the price, earnings growth, free-cash-flow yield, sensible P/S and P/E, and penalties for guidance cuts, very rich valuations and mega-caps. In our system it sets the size: −1 or lower is skipped, 0 to +1 is the smallest size, +4 and up is the largest.
Only 3% of scored trades reach +4 or higher. 7 of the 48 scored trades in the top 50 did: APP, SMCI, SWKS, VRT, EAT, ELF, LULU. That is about 4 times more often than chance, and six of them are in the top 30. High scores cluster at the very top. When a fast grower is already profitable and not priced like one, the upside can be very large.
But the score doesn’t find the monsters. Half of the top 50 scored between 0 and +2, 15 scored below zero (QBTS, ZM, GEV, NVTS, DQ, COUP, IONQ, ZS, TGTX, TTD, KTOS, NTLA, FSLR, NTAP, NVDA), and the #2 trade, AMC in the 2021 meme squeeze, had nothing to do with fundamentals at all. Several low scores also just mean thin data (Farfetch, Shopify, Okta, Oklo, Teck). The score sets how much to risk. It doesn’t tell you which trade will be the big one. It was also designed using this same set of trades, so treat these numbers as description, not proof.
4. Some were luck, and that’s fine
Several winners had a big event soon after entry. Zoom reported earnings three days later. Moderna announced vaccine results eleven days later. Nvidia reported and announced its split two weeks later. Intellia published its CRISPR data a month after one entry and three days after another. Merck agreed to buy Verona eight weeks later, and Russia invaded Ukraine two weeks into the Antero trade. No screen sees those coming. A breakout system gets paid for being in strong stocks when the news hits. It doesn’t predict the news.
5. Our filters skipped 22 of the 50
Our full system skips trades with a stock score of −1 or lower, trades when RSP/SPY is down more than 1.1% over 20 days, and trades when S5FI is 80 or higher. 22 of these 50 winners fell into a skip: SMCI, VRT, QBTS, ROKU, ZM, GEV, NVTS, ELF, DQ, COUP, IONQ, ZS, TGTX, TTD, KTOS, NTLA, APPS, CHWY, FSLR, NTAP, NVDA, ETSY. They get more common further down the list: 10 of the top 30, but 12 of the 20 trades ranked 31–50, mostly because of the score rule. That’s the price of the filters, and it isn’t small. Over the full backtest they still raise the return and roughly halve the worst drawdown, because they remove far more losers than winners.
6. They were held for months
The median hold was 98 days, against 58 days for a typical winning trade. Selling half on the 20-day average locks in part of the move early; the half that rides the 50-day average is where the big R comes from.
7. They come in clusters
11 of the 50 started in 2020 and 9 in 2025. Momentum markets with a strong theme (AI infrastructure, quantum computing, the pandemic winners) produce the biggest runs, and they come in clusters.
The 50 trades
Each card shows what the system knew the day before entry. The stock score is the sum of eleven checks; the text says which ones fired. Average daily range (ADR) is the stock’s normal daily move as a percent of its price. Prices are adjusted for later splits.
1. APP +81.3Rtaken
Stock score. +5, one of only a handful of trades in 18 years to score this high. Five checks fired at once: cheap for its growth (0.22), earnings growth far above 25%, a 4.6% free-cash-flow yield, P/S of 7.6 and P/E of 36. That is the profile the score is built to find: a fast grower that is already highly profitable and not yet priced like one. It got the full 1.6% size.
Technicals. First breakout of the move: 1.6 ADRs below the high, sitting right on the 20-day average, gapping up 1.5% on entry day, with a 3.5% stop.
Market. Recovering from the August 2024 volatility shock. SPY was still at its 50-day average, VIX 19, S5FI 64, and RSP/SPY was up 0.9%, so breadth was improving.
What happened. The November 2024 earnings showed the new e-commerce ad business taking off. The first half was sold on Dec 11, 2024 at $327.60 after the first close below the 20-day average, and the rest on Feb 27, 2025 at $346.44. Almost 4× the stock price, and +81R on the trade.
2. AMC +54.7Rtaken
Stock score. +1, and only by accident. The one check that fired was price-to-sales between 5 and 10: AMC’s revenue had collapsed in the pandemic, so even its beaten-down market value looked “reasonable” on sales. Nothing else in the numbers was positive. The company was losing heavily and kept raising cash by selling new shares.
Technicals. Volatile (7.1% average daily range) with a 5.8% stop.
Market. Strong and broad. RSP/SPY was up 2.4%, so the average stock was beating the index, S5FI was 78, VIX 20, and the S&P 500 was 14% above its 200-day average.
What happened. Two weeks later retail traders started the second meme-stock squeeze of 2021 and AMC multiplied in a matter of days. The first half was sold in early July on the first close below the 20-day average, a month after the peak, and the second in mid-July on a close below the 50-day average. Not a fundamentals story at all: pure crowd momentum, and the clearest case on this list of why the score says nothing about where the next monster comes from.
Sign in to read the rest of this research: the full results, equity curves and caveats. It's free.