Tapeboard's Short Squeeze Score (setup v5) takes the US stocks with short interest of at least 15% of float and ranks them by odds of a large move: 70% on their 20-day volatility percentile and 30% on their 5-day float-rotation percentile. It is not a directional call. Historically, top-10 names moved +20% within five sessions about 17% of the time and fell 20% about 12% of the time, against 4.5% and 2.3% for all stocks.
What the score measures
The Tapeboard Short Squeeze Score (setup v5) ranks heavily shorted US stocks, short interest of at least 15% of float, by their historical odds of a large price move over the next one to two weeks. A higher score means a bigger chance of a ±20% move, in either direction.
The score is not a directional call. In our out-of-sample test, the top-10 names hit +20% within five sessions 16.6% of the time and fell 20% 12.0% of the time. For all stocks the figures were 4.5% and 2.3%. The median five-day return of top-ranked names was slightly negative (about −1% to −2%). We tested short interest, days to cover, borrow fee, fee change, availability, short-interest change, rotation, momentum, and machine-learned blends. None of them reliably predicted "up rather than down". So each row on the leaderboard shows both odds.
One gate, two ranked inputs
The formula
Each trading day, the stocks that pass the universe rules (below) and have short interest ≥ 15% of float form the gated set, typically 60–115 names. Each gated name gets a percentile rank for 20-day volatility and for 5-day float rotation within that set, and the score is:
score = 100 × ( 0.7 × pct(vol20) + 0.3 × pct(rot5) )
pct(x) is the average-tie percentile rank within the gated set: ascending ranks 1..n, tied values share their average rank, divided by n. The board sorts by score descending, with ties broken by higher short interest. Percentiles are outlier-proof, so there are no z-scores, no min-max rescaling, and no "already squeezed" decay multiplier. Names up 30%+ over five sessions get an "already ran" badge instead, because removing them did not help in the backtest.
| INPUT | ROLE | DEFINITION |
|---|---|---|
| Short interest % float | Gate (≥ 15%) | FINRA consolidated short interest (latest published settlement, split-adjusted) divided by float. Names at 15% or above enter the ranked set; SI% itself carries no weight inside it. Readings above 120% of float are treated as data errors. |
| 20-day volatility (vol20) | 70% | Population standard deviation of the last 20 daily log returns, ln(close / previous close). |
| 5-day float rotation (rot5) | 30% | Total volume over the last 5 sessions divided by float, i.e. how many times the float changed hands in a week. |
| Borrow fee, fee change, days to cover, daily short-volume ratio, SI change, 5-day momentum | 0% (context) | Shown on the leaderboard and ticker pages for context only. In the backtest none of them improved the odds. Borrow fee raised the crash rate more than the hit rate, and days to cover and short-volume ratio had zero or negative predictive value. |
Universe rules, applied before ranking
What is eligible to be ranked
These rules run before any percentile is computed, so the ranked board is the board you see, with no gaps in the rank numbers:
US-listed common equity only; leveraged/inverse ETPs, ETFs, warrants and units are excluded. OTC-quoted names (FINRA market class OTC) are excluded. Last close must be at least $1, 20-day average volume at least 100,000 shares, median daily dollar volume at least $500,000, and market cap at least $25M. The stock needs complete daily bars for its recent history, including each of the last five sessions. Names whose bar history is incomplete are withheld, never ranked on partial data. The short-interest settlement must be at most 40 days old.
Point-in-time and split-safe short interest. Short interest is admitted by FINRA settlement date, never by the day we ingested it, and only after FINRA has published it. If FINRA flags a stock split for the settlement, or the float basis shifts sharply between settlement and today (the reverse-split tell), the reading is treated as missing and the name is not ranked. This matters because pre-split short shares divided by a post-split float can inflate SI% by 10× or more. A FINRA settlement row is never overwritten by a lagging secondary source for the same day.
Calibrated odds by rank
What historically happened next
The odds shown next to each leaderboard row come from this table. It is an out-of-sample test covering October 2025 to September 2026 (244 trading days), and the weights and gate were chosen only on earlier data (March 2024 to September 2025). "+20%" means the intraday high reached 20% above the scoring-day close within the next five sessions; "−20%" means the intraday low reached 20% below it.
| RANK BUCKET | P(+20% ≤ 5 SESSIONS) | P(−20% ≤ 5 SESSIONS) | P(+30% ≤ 10 SESSIONS) | MEDIAN 5-DAY RETURN |
|---|---|---|---|---|
| Rank 1–10 | 16.6% | 12.0% | 12.4% | −1.8% |
| Rank 11–25 | 13.3% | 7.3% | 12.1% | −1.5% |
| Rank 26–50 | 10.3% | 3.8% | 9.4% | −0.8% |
| Rank 51+ (still ≥15% SI) | 5.4% | 2.2% | 5.7% | −0.5% |
| All stocks (base rate) | 4.5% | 2.3% | 4.2% | −0.2% |
Over the same window, the top 25 hit +20% within five sessions 14.6% of the time (95% CI 11.6–17.1%), against a 4.5% base rate. The crash rate was about 9%. Confidence intervals are wide: the sample is roughly 49 independent blocks and includes a high-crash regime in Q4 2025. We re-validate quarterly and whenever a data source changes.
The In play list is separate, and not ranked
Stocks moving hard today (up 7% or more on the day, or trading at 3× normal volume) appear in a separate "In play" list, whatever their short interest. They are not blended into the ranked board, because same-day movers historically mean-revert. Names up 7%+ went on to hit +20% within the next five sessions 11–13% of the time, and fell 20% about 8% of the time. Names already up 20%+ on the day fell another 20% 15–17% of the time, with a median next-five-day return of −2% to −3%. Those odds are shown next to each In play row.
Where each input comes from and how often it refreshes
| INPUT | SOURCE | CADENCE |
|---|---|---|
| Short interest | FINRA consolidated short-interest file (Rule 4560), including its stock-split and market-class flags | Twice monthly. FINRA publishes about 8–9 trading days after each mid-month and month-end settlement, and we ingest it the same evening. |
| Float | Latest reported float shares, sanity-checked against market cap | Daily for tracked names. |
| Daily bars (vol20, rot5, liquidity rules) | Split-adjusted daily OHLCV from our market-data provider, fetched only for gated names | Each recompute. Intraday recomputes use bars through the prior close, and the evening run uses today's close. |
| Borrow fee (context) | Interactive Brokers stock-loan availability | Daily. |
| Heavy short volume flag (context) | FINRA Consolidated NMS daily short-sale volume: the ratio stayed at or above 50% of reported volume on consecutive sessions within the past 7 days | Daily. This is not the Reg SHO threshold securities list. |
What this score cannot tell you
Direction. The score finds stocks likely to move a lot. It does not say which way. Heavily shorted, hard-to-borrow stocks underperform on average, which is consistent with the academic literature.
Short interest is settlement-delayed. FINRA publishes twice a month, about 8–9 trading days after settlement, so the reading behind the gate can be two to four weeks old. Real-time short interest is not published in US markets.
Float is an estimate. The backtest built float from SEC shares outstanding. Production uses the latest reported float, sanity-checked against market cap. Names whose float basis looks inconsistent are withheld.
No catalyst detection. The score is structural. Pair it with the news feed, filings, and earnings calendar.
Last reviewed and changelog
Last reviewed: 2026-10-02
2026-09-28, setup v5. Replaced the weighted z-score composite with a gate (short interest ≥ 15% of float, point-in-time and split-safe) plus a percentile blend of 20-day volatility (70%) and 5-day float rotation (30%). Borrow fee, fee change, days to cover, short-volume ratio, SI change and momentum became context-only. Calibrated odds are now published per rank bucket, and same-day movers moved into a separate In play list. Why: an audit found the old composite's rank had near-zero correlation with subsequent large moves, and that DTC and short-volume ratio (its biggest effective drivers) had zero or negative predictive value. Historical scores were not re-scored.
2026-06-09, v2 weighted z-score composite (SI / borrow fee / utilization / short-volume ratio / DTC / momentum / fee change). 2026-05-03, v1 initial publication.