20 case studies · 18,310 ignitions scanned · a base rate measured on 14,674

Anatomy of a Runner

What the twenty biggest winners of the last four years had in common on the way up, the six things that were reliably true at the top — and what the unfiltered base rate looks like when the same signature is measured across 5,416 stocks instead of the twenty that worked.

Twenty names, four years, four completely different market regimes — a bear market, an AI melt-up, a crypto cycle, a quantum-and-power mania. The surface stories share nothing. The structure repeats almost exactly.

What follows is what actually generalized across all twenty, stated as testable claims rather than aphorisms. Where a claim only held for some of them, the exceptions are named — those are usually the more instructive cases.

Read Section 04 first if you are going to act on any of this. Sections 01–03 describe twenty stocks selected because they won. Buying the pattern they share indiscriminately across 5,416 stocks that were not selected at all — the unfiltered base rate, no selection whatsoever — returned a median −22.6% over twelve months, 38.7 points behind the S&P 500.

The anatomy below is real. What it cannot tell you on its own is the size of the job selection has to do, and that is what Section 04 measures — including which of my own claims the full data did not support.

The one rule everything else hangs on

The ignition catalyst does not deliver good news. It falsifies the specific bear thesis that produced the low.

Every one of these twenty was cheap because the market believed one concrete, nameable thing about it. The move started the day that exact thing was proven false — not the day something merely good happened. Carvana was going bankrupt, so EBITDA went to −0.9% with a promise of positive. BridgeBio's drug had failed, so the identical endpoint hit at p<0.0001. Affirm's borrowers would default in a recession, so delinquencies fell to 2.1%. The SEC would shut Coinbase down, so BlackRock made it the custodian of its bitcoin ETF. AppLovin was a low-margin games company, so operating margin went 28% → 54% in two quarters.

Section 01

The five phases, and what each one actually looks like

01

The base

3–24 months

Not always a washout — and screening only for washouts is the single most expensive mistake in this dataset. Four distinct base types appeared, and the best multi-year outcome came from the type most screens reject.

The common element is not the shape. It is that the stock stopped making lower lows while the bad news was still true. In 2025, four of five made a visibly higher low before ignition; MDGL is the notable exception, printing a fresh low the week before the readout.

02

Ignition

1–3 sessions

The measurable signature, consistent across the set:

03

Extension

4–24 months

This is where the money is and where almost everybody gets shaken out. Every single one of these twenty had a −25% to −45% drawdown inside the advance, usually while the fundamentals were still accelerating.

Position size, not conviction, determined who survived this phase. A −44% drawdown is survivable at 3% of a book and career-ending at 30%.

04

Distribution

2–12 weeks

The top is a zone, and it has a recognizable cluster of markers. Section 02 lists them ranked by how reliably they fired. The compressed version: the news gets unambiguously good, the last bear converts, the sell-side targets stop implying upside, and the company sells stock.

05

Decline

6–20 months

In sixteen of the twenty, the business was still improving when the stock topped. These were not fundamental breaks; they were multiple compressions. Median drawdown from peak: about −60%.

Section 02

Top signals, ranked by how often they actually fired

SignalFiredThe evidence
Dilutive raise into strength9 of 20SMMT sold $235M at $22.70 four days before its $33.62 top. MSTR pre-announced $21B of equity three weeks before its peak. MDGL sold $259M two days after the gap. PL's $1.5B ATM cut the stock 26% in a single day. SMCI raised $1.5B in converts days before the high. Also OPEN, IREN, CVNA, BTU.
Last bear thesis resolved8 of 20COIN peaked after the SEC case was dismissed and it joined the S&P 500 — every overhang formally gone. PBF's dividend was reinstated in the exact week of its high, with short interest bled from 18.6% to 9.3%. OXY's FERC approval for Berkshire to go to 50% landed ten days before the top.
Index inclusion7 of 20SMCI peaked between the S&P 500 announcement (Mar 1) and its effective date (Mar 18). APP topped three months after inclusion, COIN two months after, MSTR just before its Nasdaq-100 add. Once a name is in every index, the passive bid is spent. Counterexample: CVNA's Dec 2025 add came with revenue accelerating to +58%.
Growth deceleration at a high multiple6 of 20APP guided +57–60% after printing +68% — a five-point deceleration against 45× sales, and the stock halved. AFRM decelerated +46.6% → +29.6% at 6.9× forward sales and simply stopped working for eighteen months.
Analyst targets below spot5 of 20CVNA at ~$48 with a $37.69 consensus. AFRM at ~$73 with a $54.38 mean target. When no analyst's target implies upside, the marginal buyer is not institutional. Its mirror image is target escalation: Cantor took IREN from $100 to $142 on the day of the high.
Margin deteriorating in plain sight4 of 20SMCI's gross margin fell in every quarter from Sep 2022 through Dec 2023 while the stock rose 246%. It then broke, 15.5% → 10.2%, on Aug 6 2024 — three weeks before Hindenburg. Revenue growth is the seduction; margin direction is the truth.

Two signals that look decisive and are not.

Valuation never marked a top. All four 2022 commodity names peaked at 2–6× that year's realized earnings. PBF's high came at 2.2× earnings; AMR's at 2.4×. "It's extended" was wrong every step of the way up. Valuation tells you the size of the eventual decline, not its timing.

A short report is a hypothesis, not a thesis. Hindenburg attacked CVNA and SMCI with structurally similar allegations. CVNA more than doubled to $485; SMCI fell 84.8%. The difference wasn't allegation quality — it was that SMCI delayed its 10-K the next day and then lost Ernst & Young. A short report only becomes actionable when an auditor, a regulator, an exchange, or the company's own P&L validates it.

Section 03

Earnings days: the same beat means opposite things

Measured across 451 earnings reactions in these names — every report from 2019 through August 2026, with each reaction tagged by which phase the stock was in at the time.

PhasenMedian dayUp days10d beforeNext 10dAvg move
Base242−0.9%49%+0.5%−1.5%11.1%
In the run59+7.9%68%+5.8%+3.5%14.9%
Post-top150−2.0%45%−0.6%+0.5%8.5%

Three things fall out of that table, and the third is the tradeable one.

Reports inside the run are structurally different. Median reaction +7.9% versus −0.9% in the base, with 68% of them positive. The market is not reacting to the number; it is reacting to a number that keeps confirming a thesis it has already decided to believe.

These stocks run into their reports during the advance — a median +5.8% over the ten sessions before the print, against +0.5% in the base. That run-up is also why the average absolute move is largest in this phase (14.9%): more is priced in, so more can go wrong.

Post-earnings drift only pays inside the run

PhaseAfter a +3% or better reactionContinues
Base−0.1% over the next 10 sessions (n=107)50%
In the run+5.6% over the next 10 sessions (n=37)70%
Post-top−0.6% over the next 10 sessions (n=51)47%
The repeated pattern

Buying a strong earnings reaction pays in exactly one phase, and is a coin flip or a trap in the other two.

In an established uptrend, a +3% or better print continues 70% of the time for a median +5.6%. The identical reaction in a base returns −0.1%. After the top it returns −0.6% and continues just 47% of the time — which is precisely the reaction that feels safest to buy, because the company is still beating and the stock is "cheaper than it was." AppLovin's post-peak reports were still strong. The stock still halved.

The practical version: the phase is the filter, and the earnings reaction is the trigger. Establish which regime a stock is in first — above a rising 50-day, making higher highs, no top signals fired — and only then treat a strong print as a reason to act. Reverse that order and the statistics invert on you.

Section 04

Base rates: buying every ignition, with no selection at all

Everything above this line came from twenty stocks chosen because they won. That is survivorship bias, and the only way to know whether any of it means anything is to run the signature against a universe that was not selected for success.

So: 5,416 US common stocks — every NYSE, NASDAQ and AMEX listing that had enough history — scanned from 2018 to August 2026 for the ignition signature itself. A close up 12% or more, on at least 3× the 50-day average volume, above $1, with at least $5M traded that day. That produced 18,310 ignitions. 14,674 of them had a full twelve months of forward data, and those are what the base rate below is measured on. The filter table in this section uses a third figure, 14,080 — the subset that also has twelve months of matched S&P data, which is what the “vs S&P” column requires. The three are not interchangeable: quote each with the number beside it.

Buy the close of every one of them, indiscriminately, with no selection at all. Hold twelve months. That is the unfiltered base rate — nobody trades this way, which is the point of measuring it — and here is every outcome:

Where 14,674 ignition trades actually ended up 12 months after buying the ignition close · 5,416 US stocks · 2018–2026
loss gain −80% or worse: 13.1% (1,928 trades)13%−80 to −60: 12.9% (1,894 trades)13%−60 to −40: 12.9% (1,893 trades)13%−40 to −20: 12.6% (1,853 trades)13%−20 to 0: 11.3% (1,661 trades)11%0 to +20: 8.9% (1,302 trades)9%+20 to +40: 6.8% (996 trades)7%+40 to +60: 4.9% (717 trades)5%+60 to +100: 6.0% (874 trades)6%+100 to +200: 6.0% (880 trades)6%+200% or more: 4.6% (676 trades)5% −80%or worse−80 to−60−60 to−40−40 to−20−20 to00 to+20+20 to+40+40 to+60+60 to+100+100 to+200+200%or more
Unfiltered median outcome −22.6%, measured on the 14,674 ignitions that had a full twelve months of forward data — not on all 18,310 found by the scan. The S&P 500 returned a median +17.4% over the same windows. The three tallest bars are all losses of 40% or more.
HorizonnMedianPositive
1 month17,963−6.1%39%
3 months17,483−11.3%37%
6 months16,576−16.1%37%
12 months14,674−22.6%37%
The finding

The unfiltered base rate — every ignition bought indiscriminately, with no selection at all — is a median −22.6% at twelve months across the 14,674 ignitions with a full twelve months of forward data, 63% of them losers, a third of them down more than half, while the S&P 500 returned a median +17.4% over the same windows.

It underperformed the index by 38.7 percentage points at the median and beat it only 29% of the time. The median trade was 50% underwater at its worst point. It is negative at every horizon tested, so this is not a gap a holding period closes. It is the gap selection and risk management exist to close, and the rest of this section measures how far three conditions get.

How badly the biased sample lied

Running the identical scan on the original 43 hand-picked tickers gave a median twelve-month return of +82.5%. The unfiltered base rate, across every ignition with no selection at all, is −22.6% (n = 14,674). That is a 105-point error, and it is entirely an artifact of which stocks were in the universe. I published the +82.5% with a warning attached; the warning was not strong enough, and this is what it was hiding.

Unfiltered, the payoff rests on a handful of outliers

On those same 14,674 trades the mean return is +9.1% while the unfiltered median is −22.6%. That gap is the whole story. The distribution is violently right-skewed:

OutcomeProbability
+900% or more0.47%
+400% or more1.61%
Double (+100% or more)10.6%
Lose half or more32.7%
Lose 80% or more13.1%

The top 1% of trades generate 132% of all the profit. Strip out those 147 trades and the mean goes from +9.1% to −2.9%; strip out the top 5% and it is −15.5%. So the positive average is not something an indiscriminate buyer can rely on — it is a handful of enormous outliers carrying fourteen thousand ordinary trades, and buying with no selection at all means holding hundreds of positions through 50% drawdowns for any chance of catching one. That concentration is the problem selection exists to solve, and the table below measures how much of it three conditions solve.

That, incidentally, is exactly what the twenty case studies in this document are: the top 1%. They are real, their anatomy is real, and they are also precisely the survivors a hand-picked sample is made of, which is why the unfiltered base rate has to be measured separately.

What selection is worth: the lose-half rate falls from 32.7% to 14.6%

Why this table says −22.7% and the section above says −22.6%. They are the same measurement on two different populations, and both are correct. The base rate above is measured on the 14,674 ignitions with a full twelve months of forward data. This table needs a benchmark on every row, so it uses the 14,080 that also have twelve months of matched S&P data — 594 fewer trades, and a median 0.1 of a point lower. Quote either one with its own number beside it; they are not interchangeable.

Stacked filternKeptMedian 12mvs S&PLoserMedian drawdown
No filter14,080100%−22.7%−38.7%63%−50.2%
Bull tape11,63082.6%−23.0%−39.7%63%−50.4%
+ above the 200-day7,56853.8%−15.9%−32.7%60%−44.6%
+ within 30% of the high5,01035.6%−8.9%−25.0%56%−37.4%
+ volume 5–15×2,02214.4%−8.4%−24.2%56%−37.4%
+ day up 12–35%1,77012.6%−5.8%−22.4%55%−35.1%
+ $50M+ traded1,0287.3%−3.4%−19.4%53%−32.8%

Every filter moves the number, and the best configuration I could build sits at a median −3.4%, still 19.4 points behind the index. Nothing built out of price and volume alone closes that distance, which is an argument for being more selective than a mechanical screen can be, not for looking somewhere else.

How to read the filter table

Two numbers, not one. The −3.4% row keeps 1,028 of 14,080 trades — 7.3%, discarding 92.7% of the breakouts to get there. A filter that throws away almost everything is a different object from one that improves almost everything, which is why every row states what it kept.

And every figure in it is in-sample. Seven conditions were searched; the winning stack above uses six — count the rows beneath “No filter” and you will find six, which is the honest number. The combination is reported on the same 14,080 trades it was chosen from, with no holdout and no out-of-sample period. Searching seven to keep six is the multiple-testing problem in one line: the more conditions tried, the more likely the winner is luck. So −3.4% and the 14.6% lose-half rate illustrate that filtering moves the number; they are not evidence that −3.4% is achievable on trades the search has not seen. The unfiltered −22.6% is unaffected — it is a base rate over everything, not a configuration selected from a search. A holdout re-run is the next piece of work on this study.

What the filters do is the finding of this section. They cut the catastrophe rate by more than half — lose-half-or-more falls from 32.7% to 14.6% — while leaving the upside intact, with doubles holding steady at 10.6% to 11.3%. The mean rises and the top 1% of trades carries a far smaller share of the profit. The payoff stops depending on a handful of miracles. Three conditions checked in ten seconds do that much to the shape of the bet; the judgment in the case files, which a price series cannot see, starts from there.

Which of my earlier claims survived

ClaimVerdictWhat the full data says
More volume is worseHELDStronger than I thought. 3–5×: −5.9% median, 53% losers. 15×+: −50.0% median, 76% losers.
Bigger day is worseHELD12–20%: −12.3%. 35%+: −49.7%, 73% losers. The most exciting day is the worst bet.
Deep wrecks are worstHELDWithin 10% of the 52-week high: −4.8%. More than 60% below it: −51.1%, 73% losers.
Trend mattersHELDAbove the 200-day: −15.8%. Below: −35.9%. Below the 50-day: −41.2%.
The tape is the dominant variableWRONGBull tape −23.0%, bear tape −21.1%. No difference at all. This was my single loudest claim and it was pure survivorship artifact.
Gaps beat intraday buildsNOISEGapped −21.5% vs flat open −21.1%. Nothing there.

The tape reversal is the one to internalise. In the 43-stock sample, bull-versus-bear looked like the largest single input in the whole dataset — +90.6% against +6.8%. Across 5,416 stocks the two are identical.

The mechanism is obvious in hindsight: the twenty winners ran in bull markets, so a filter that selects for bull markets selects for them. It measured my own sample, not the world. Every conditional finding in a biased sample is suspect in exactly this way, which is why the four that did survive are worth more than they look.

What this is for

The case studies are not invalidated — they are recontextualised. Twenty companies really did rise several hundred percent, the ignition days really did look like that, and the tops really did carry the markers in Section 02. What the base rate adds is the scale of the work in between. The signature is where you start looking, not what you act on, and the distance between the unfiltered number and a result worth having is exactly what selection, sizing and the exit are for.

And notice what this scan could not test. It measured price and volume, because that is all a price series contains. It could not check whether the catalyst falsified a nameable bear thesis, whether gross margin was rising, whether the company was buying its own stock or selling it, whether the backlog had one customer in it. Those are the things the twenty case files actually teach, and they are the things a mechanical scan is blind to. The most defensible reading of this entire document is that the chart pattern is necessary and nowhere near sufficient, and whatever separates a good outcome from the unfiltered base rate lives in the judgment the price data cannot see.

Which remains untested. I would not trade any of this on my say-so.

Section 05

The candidate scorecard

Score a live candidate out of 23. The price-based items now carry weights measured across 5,416 stocks rather than asserted; Section 04 also killed two items that used to sit here (closing in the top third of the day's range, and the market tape) because neither one moved the numbers. A high score does not make this a good trade — the best filter stack in Section 04 still trailed the index by 19.4 points, in-sample, keeping only 7.3% of trades. Treat the score as a way to rank candidates against each other and to avoid the worst setups, not as a green light.

+3
You can state the bear thesis in one sentenceAnd the catalyst that just landed falsifies exactly that sentence. If you can't name what the market believed, you don't have a setup — you have a stock that went up.
+3
Ignition volume under 15×, day under 35%The counterintuitive one, and it got stronger with more data. Modest beats extreme: 3–5× volume medians −5.9% while 15×+ medians −50.0% with 76% losers; a 12–20% day medians −12.3% while a 35%+ day medians −49.7%. The most dramatic ignition is the worst bet on the board. Score zero above 15× or 35%.
+2
A sign change, not a beatEBITDA, operating income, gross margin or free cash flow crossing zero. A first profitable quarter reprices a company; a 4% revenue beat does not.
+2
Margin direction is upCheck it before revenue. CVNA's gross margin led revenue by four quarters — the entire 1,000% move happened during negative revenue growth. SMCI's falling margin was the warning nobody read.
+2
Constrained supply of stockSmall float, high short interest, or an active buyback. AMR retired 17.6% of its shares in 2022 out of a 15.6M-share float — $522M of buybacks equal to 46% of its starting market cap.
+2
The company is buying, not sellingBuybacks and insider purchases score. An ATM, a convert, or a secondary scores zero and is the most reliable top signal in the dataset.
+2
Sell-side targets sit above the priceAnd are being raised. When consensus drops below spot, the institutional bid is already gone.
+2
Room left in the multipleNot "is it cheap" — is there a plausible path to a much higher multiple. 4× sales going to 45× is a different trade from 45× going to 60×.
+1
Not yet in the major indicesIndex inclusion is a future buyer. Already-included means that buyer has come and gone.
+3
Above the 200-day, and within 30% of the 52-week highMeasured across 5,416 stocks: above the 200-day cuts the median loss from −35.9% to −15.8%; within 30% of the high cuts it further to −8.9% and roughly halves the odds of losing half your money. Note what is not here — the market tape, which made no difference at all in the full data despite dominating the biased sample.
+1
A theme with a second and third derivativeThe best runs had a widening narrative — AI compute → power → cooling → optics. A single-company story caps out faster.

Section 06

A scan you can actually run

  1. Daily: the volume-shock list. Every US stock over $500M cap that closed up ≥12% on ≥3× its 50-day average volume. This is the raw ignition filter — perhaps 5–20 names a day, most of them noise.
  2. Filter to sign changes. Read only the ones where a P&L line crossed zero, a default risk was removed, a pivotal trial read out, or a contract changed the business model. Discard revenue beats. This usually leaves one or two a week.
  3. Write the bear thesis before you look at the chart. One sentence: what did the market believe last week that it can no longer believe? If you can't write it, skip the name. This step does more work than every technical filter combined.
  4. Check the base type and the supply. Higher low or coiled range; float, short interest, share count trend over eight quarters. A rising share count during a run is disqualifying — it was BTU's tell in 2022 and it never made a new high after April.
  5. Check margin direction over the last six quarters. Before revenue, before valuation. This is the single highest-yield fundamental check in the whole dataset.
  6. Size for a −40% drawdown that you will not sell. It is coming, and in sixteen of these twenty it came while the business was still improving.
  7. Use earnings as the trigger, never the filter. Confirm the phase first — above a rising 50-day, higher highs, no top signals fired — and only then act on a strong print. A +3% reaction is worth +5.6% over ten sessions inside a run and −0.6% after the top.
  8. Set the exit on the top-signal list, not on price. An ATM announcement, index inclusion, consensus falling below spot, or the first guided deceleration. Not "it's up a lot."

Section 07

The four things I'd have got wrong

The 2022 energy move was mostly not a short squeeze

The popular framing is wrong for three of the four commodity names. PBF was a genuine squeeze — 18.6% of float short at the March 2022 peak, halved within six weeks. But BTU had 1.1 days to cover and shorts added the entire way up (6.3M → 17.9M shares) and simply got run over in stages. AMR was 4.3% of float, OXY 3.6%. OXY's mechanism was a float sink, not a cover — Berkshire bought 61M shares in three days.

All four of those names ignited in the same week

OXY, BTU, AMR and PBF all went vertical in the week of Feb 28 – Mar 4, 2022, on 1.8–3.5× volume, off the same trigger. When a macro shock lands, the setups differentiate the outcomes, not the catalyst. AMR — buying back 46% of its market cap into a 15.6M-share float — went on to 7.4×. BTU, issuing stock and hedged short its own product, never exceeded its April 2022 high.

Anchor shareholders are not floors

Berkshire kept buying OXY the whole way down to roughly 28% of the company. The stock still fell 55% from $77.13. World-class ownership does not underwrite a commodity price.

A 60% drawdown is not the end of the story

MDGL fell 63% over five months in 2023 — dilution and a catalyst vacuum, not a data failure — then got FDA approval and traded above $500 by 2026. BBIO fell 45% in 2024 on a competitor's trial success, bottomed before its own approval, and then rose 179% in 2025. The mid-thesis shakeout and the actual top look identical in the moment. The only thing that separates them is whether the fundamental engine is still running — which is why the margin check matters more than the chart.

Where this goes next

Sourced from SEC filings, company press releases, and contemporaneous reporting; the underlying research tags each figure by how firmly it was verified. Returns are calendar-year; market caps are as of the start of the relevant year. Price data through August 2026.
The known limitation of the base rate is the universe, not overfitting. It is measured across the whole sample, with nothing fitted to it, so there is no in-sample caveat to apply — that caveat belongs to the filter stack in Section 04, which is labelled where it appears. The universe is an August 2026 snapshot of listings that still exist, so it contains no delistings. Stocks that went to zero and left the exchange are missing from it, and every one of them would have been a loss. The real −22.6% is therefore worse than −22.6%, not better. Rebuilding the universe from dated point-in-time records, so delisted and renamed tickers are included, is open work and this page will be re-run against it.
This is a study of what happened, not advice about what to buy. Every name here also had a drawdown that would have stopped out most people who owned it.

Educational content only. Not investment advice. Past performance of any stock does not indicate future results.
The Runner Tape is published by Bnar Karim in British Columbia, Canada. He is not registered as an adviser or a dealer under the Securities Act (British Columbia) or the securities legislation of any other province or territory, and is not registered with the SEC or any U.S. state. Nothing here is a recommendation to buy, sell or hold any security, and nothing here is tailored, or purports to be tailored, to the needs or circumstances of any person. We do not make price predictions. Trading involves substantial risk of loss. We do not track our members’ trading results and make no claims about them. Every case study discloses any financial or other interest we hold in the security it covers; we hold none, and we accept no payment from any issuer.