← Learn

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.

taken by our systemskipped by a filter
0R10R20R30R40R50R60R70R80RAPP+81.3AMC+54.7SMCI+53.2SWKS+30.2FTCH+29.6SATS+26.7SHOP+25.6VRT+22.4RGTI+21.0SNDK+20.8QBTS+20.3ENPH+20.3MRNA+19.5ROKU+18.8WLL+15.9ZM+15.6GEV+15.3EAT+15.2NVTS+14.4ELF+14.4VRNA+14.2OKLO+14.0CAR+13.6DQ+13.5OKTA+13.0GH+12.1AR+12.0LNC+11.6STRL+11.3COUP+11.2IONQ+11.1ZS+10.9TGTX+10.7CLVS+10.5TTD+9.9KTOS+9.8NTLA+9.7LULU+9.7APPS+9.7CHWY+9.7TCK+9.3FSLR+9.3M+9.3NTAP+9.3SPWR+9.3NVDA+9.1ETSY+8.9ITMN+8.9PANW+8.7CSIQ+8.2
Profit in R (multiples of the amount risked) for the best entry in each of the 50 stocks.

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

#StockHeldDaysRStock scoreS5FIRSP/SPY 20dIn our system?
1APPSep 2024 → Feb 2025169+81.3+564+0.9%yes
2AMCMay 2021 → Jul 202165+54.7+178+2.4%yes
3SMCIJan 2024 → Apr 202498+53.2+487+1.4%skipped
4SWKSOct 2014 → Apr 2015181+30.2+651+0.2%yes
5FTCHOct 2020 → Jan 2021119+29.6+144+1.7%yes
6SATSNov 2025 → Feb 202687+26.7+155+2.3%yes
7SHOPNov 2019 → Feb 2020102+25.6+171−0.2%yes
8VRTNov 2023 → Jun 2024211+22.4+445−1.7%skipped
9RGTIJul 2025 → Nov 2025132+21.0080−0.1%yes
10SNDKDec 2025 → Mar 2026102+20.8056+2.1%yes
11QBTSSep 2025 → Nov 202563+20.3−254−0.1%skipped
12ENPHSep 2020 → Feb 2021147+20.3+124+1.7%yes
13MRNANov 2020 → Jan 202160+19.5056−0.3%yes
14ROKUJul 2020 → Feb 2021235+18.8+168−4.3%skipped
15WLLMar 2018 → Jul 2018118+15.9+141+0.0%yes
16ZMAug 2020 → Nov 202068+15.6−278−3.1%skipped
17GEVDec 2025 → May 2026178+15.3−152+1.5%skipped
18EATAug 2024 → Feb 2025185+15.2+471−0.4%yes
19NVTSApr 2026 → Jun 202671+14.4−152−1.3%skipped
20ELFNov 2023 → Apr 2024129+14.4+476−1.6%skipped
21VRNAMay 2025 → Oct 2025145+14.2+169−0.5%yes
22OKLOSep 2025 → Nov 202555+14.0054−0.1%yes
23CARAug 2021 → Dec 2021124+13.6+167+0.9%yes
24DQDec 2020 → Mar 202184+13.5−176+3.1%skipped
25OKTAApr 2019 → Aug 2019127+13.0070−1.0%yes
26GHOct 2025 → Feb 2026108+12.1+244−0.7%yes
27ARFeb 2022 → Jun 2022126+12.0+242+1.5%yes
28LNCJul 2009 → Oct 200991+11.6078+0.8%yes
29STRLApr 2026 → Jul 202687+11.3+248+0.2%yes
30COUPApr 2019 → Aug 2019112+11.2−173+0.1%skipped
31IONQSep 2025 → Oct 202542+11.1−254−0.1%skipped
32ZSNov 2020 → Feb 202198+10.9−281+3.0%skipped
33TGTXOct 2024 → Jan 202569+10.7−161−0.8%skipped
34CLVSJun 2017 → Aug 201758+10.5061−0.6%yes
35TTDSep 2020 → Jan 2021102+9.9−324+1.7%skipped
36KTOSJan 2026 → Feb 202635+9.8−156+0.7%skipped
37NTLAMay 2021 → Sep 2021111+9.7−174+1.2%skipped
38LULUMar 2011 → May 201165+9.7+449+0.4%yes
39APPSNov 2020 → Mar 2021102+9.7+180+4.8%skipped
40CHWYNov 2020 → Feb 202199+9.7081+3.7%skipped
41TCKOct 2016 → Dec 201653+9.3043−0.0%yes
42FSLROct 2013 → Dec 201362+9.3−164+0.5%skipped
43MOct 2021 → Dec 202149+9.3+137+1.5%yes
44NTAPJul 2026 → Oct 202685+9.3−161+1.8%skipped
45SPWRSep 2013 → Nov 201384+9.3n/a30−0.2%yes (not scored)
46NVDAMay 2024 → Jul 202476+9.1−157+0.3%skipped
47ETSYNov 2020 → Feb 202193+8.9+280+5.8%skipped
48ITMNApr 2014 → Jul 201481+8.9n/a52+0.1%yes (not scored)
49PANWOct 2014 → Aug 2015281+8.7+159+0.5%yes
50CSIQDec 2013 → Mar 201470+8.2+175+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 50All tradesTrades that hit the stop
Average daily range5.3%5.2%5.2%
Stop distance3.8%4.2%4.0%
Distance above 50-day average4.8%4.7%5.2%
Below 52-week high (in ADRs)1.92.42.3
Above 52-week low+278%+242%+241%
S5FI606262
VIX17.417.116.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

AppLovin · entry Sep 11, 2024 at 88.29 · exit Feb 27, 2025 · 169 days

Avg daily range4.4%
Stop distance3.5%
vs 50-day avg+5.8%
Below 52w high1.6 ADR
Above 52w low+154%
RSP/SPY 20d+0.9%
VIX19.1
SPY vs 200-day+6.7%

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

AMC Entertainment · entry May 11, 2021 at 101.51 · exit Jul 15, 2021 · 65 days

Avg daily range7.1%
Stop distance5.8%
vs 50-day avgn/a
Below 52w highn/a
Above 52w lown/a
RSP/SPY 20d+2.4%
VIX19.7
SPY vs 200-day+13.7%

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.