Short Squeeze Scanner
The Squeeze Leaderboard ranks US equities by short-squeeze probability using a composite score of FINRA short interest, days-to-cover, float utilization, borrow-fee, and 5-day momentum. Top 50 scored names rendered live every market hour, with the inside quote, sparkline history, and delisting cross-reference badge attached to each row.
The Squeeze Leaderboard surfaces where short-sellers are most concentrated and exposed — a real squeeze setup shows high short interest % of float against tight daily volume (days-to-cover) AND a fresh catalyst (momentum ignition). Tapeboard's squeeze scanner churns the FINRA bi-monthly short-interest file through a composite formula (score 0-100) every market hour and surfaces the top-50 candidates with the live inside quote + a lineage of how each name got there.
What it is

A ranked table of 50 top squeeze-scored tickers, sorted descending by score. Each row shows rank, symbol, score/100, short interest as % of float, days-to-cover, borrow fee rate, 5-day momentum %, sector, price, market cap, the live inside-quote spread chip, and one of three status badges: IGNITION ON when the squeeze scanner detected a volume + SI convergence (a current-state signal, not a prediction), HTB (hard-to-borrow) when the borrow-fee oracle flagged it, or ON MVLS CLOCK when the ticker is on the Nasdaq delisting watchlist (cross-referenced from /nasdaq-delisting-watchlist).
When to use it
- Pre-market: scan the top-10 for runners with a fresh catalyst. Tick from the market open if SI % + days-to-cover stack into a tight float.
- Mid-day / continuation: a ticker ranked #5 on Monday that earns
IGNITION ONTuesday morning is the textbook squeeze-setup re-entry. - Risk screen: a
HTBflag with a 50% SI% is a "don't short this" warning — borrow is unavailable or prohibitively expensive, which is itself a squeeze convergence.
Open it
- Path:
/scanner/squeeze(auth-gated; find in the SCREENERS sidebar group — SHORT SQUEEZE) - SEO landing (anonymous / non-auth):
/short-squeeze-stocks(public leaderboard, read-only) - Per-ticker page:
/stock/:symbol/short-squeeze(full score history + sparkline + delisting cross-ref) - Methodology:
/methodology/short-squeeze-score(the formula, fully transparent) - Related surfaces:
/short-squeeze-stocks/highest-borrow-fee(borrow-fee ranking) ·/short-squeeze-stocks/threshold-list(Reg-SHO threshold list)
Data sources
The squeeze score is composite FINRA + market-data — all upstream: nothing is synthesized.
| Factor | Source | Cadence |
|---|---|---|
| Short interest % float, shares short, days-to-cover | FINRA twice-monthly publication (15 + end-of-month settlement dates) scraped via Yahoo Finance | hourly during market hours (yahoo-si-ingest cron) — stored in short_interest_snapshots keyed by date + short_interest_date (the FINRA settlement date, NOT the snapshot date) |
| Borrow fee rate | Schwab borrow-fee oracle (where available; null on ~8% of rows where broker doesn't publish) | Daily snapshot at market open |
| Float utilization, 5-day momentum, market cap, sector | Real-time market data (Schwab / Yahoo), persisted in squeeze_scores | Updated every market hour by squeeze-recompute cron at :10 past the hour |
| Squeeze ranks | Derived hourly from the latest score | Stored in squeeze_scores (the latest row, dated today) |
The siAsOfDate column shows the FINRA settlement date that backs the SI% figure. This is 14-16 days old at the start of each bi-monthly cycle — that is correct, not stale. Every platform (Yahoo, Finviz, MarketBeat) shows the same siAsOfDate. Real-time short interest does not exist publicly in US markets.
How the score works (0-100)
Full formula is on the /methodology/short-squeeze-score page, but the shape is:
- Short interest % of float (the dominant weight)
- Days-to-cover (shares short / avg daily volume — how many sessions of buying pressure it'd take to unsqueeze the shorts)
- Float utilization (a tighter float is cheaper to squeeze)
- Borrow-fee rate (a higher fee = harder existing-borrow = less likely to unwind = higher conviction)
- 5-day price momentum (the ignition kernel — has price recently MOVED in the squeeze direction?)
IGNITION ON triggers when the score crosses a composite threshold of SI% + momentum (see methodology). This is a current-state flag, NOT a prediction — it tells you the data matches a textbook squeeze setup TODAY, not that a squeeze will happen tomorrow.
Filter controls
- Min market cap: filters out micro-cap names (sub-$50M MVLS) where the score would be screaming but the name doesn't trade. Default
$50M. - Sector: pick one sector from the dropdown (Healthcare, Tech, Financials, etc.). Multi-sector select is on the roadmap.
- Include risky: opt-in to low-quality flagged names (
rs_survivor,illiquid,sentinel_dtc,missing_data). Off by default — the leaderboard filters these out via the data-quality classifier insqueeze-quality.ts. - Limit: leaderboard size (default 50 / max 500).
Cross-reference: delisting clock
When a top-squeeze ticker is ALSO on the Nasdaq Delisting Watchlist, the row carries an amber badge: ON MVLS CLOCK with the MVLS (market value of listed securities) and consecutive days below $5M (see /manual/nasdaq-delisting). These are the highest-risk combination cases — a sub-$5M MVLS name with a 70% short interest is a textbook squeeze setup that ALSO faces delisting risk. Cross-reference concludes the squeeze audit.
Per-ticker page
Click any row to open /stock/:symbol/short-squeeze. The page shows:
- The current squeeze score + score percentile (the rank-position across all scored tickers)
- 30-day score sparkline (where the line rises through a key level, that's the moment the setup emerged)
- 5-day momentum chart
- Short-interest timeline (bars showing up/down changes per FINRA publication)
- Delisting cross-ref badge if applicable
- The adjacent movers (which other tickers moved in sync this week)
Status badges (2026-08-11)
Three new badges surface on the top-ranked rows to answer the oldest question this leaderboard has — *"did this already squeeze, or is it still ahead?"* — without you having to flip to a chart:
ALREADY SQUEEZED— red tag when the stock has already gapped +10% or more today. The score alone can't see today's move, so a #1-ranked ticker reads identically whether the squeeze fired this morning or is still ahead. This badge says: you already missed the easy entry.COOLING— blue tag when the stock is down -5%+ on the day. Short-sellers may be unwinding into panic buying, or the squeeze already popped and the unwind is over — either way the score is the *prior* state, not the *current* state.STILL SETUP— green tag when today's price change is modest (< 5% in either direction). A high score with this badge is the clean setup — the data still holds and price hasn't moved against you yet.
The score-cell hover now also shows yesterday's close + today's percent change from yesterday, so you can read the gap inline without leaving the leaderboard.
SI freshness badge (2026-08-11)
Next to the SI %Float cell, an amber SI Nd chip appears when the short-interest reading is more than 7 days old. NASDAQ publishes the bi-monthly FINRA settlement file on a 15th + month-end cadence, so SI is *structurally* 7-26 days stale at any given moment — every platform shows the same date. This badge makes that visible inline instead of implying today's data, and explains why a high SI% doesn't always trigger ignition: the score silently re-weights the SI component lower as it ages, so the fresher fee, util, and days-to-cover parts carry it.
Pro tips
- Don't trade a sub-50 score — the score is a confidence signal. A 30/100 doesn't mean a 30% chance of squeezes; it means the data isn't there.
- A 90+ score with
HTBis a "no borrow available" tell — the short-sellers can't unwind either, so this is a slow-burn setup, not a fast squeeze. - Mix with the live scanner: the squeeze leaderboard is a slow-moving filter. Cross-reference with the
high-short-interest-squeezepreset in the live Scanner (preset 7) for intraday entries. - Read the badges first (2026-08-11): top-ranked rows that carry
STILL SETUPare the actionable candidates. AALREADY SQUEEZEDrow at #1 is yesterday's news; flip forward.COOLINGrows have already started unwinding.
Related
- Scanner (
⌘2) — the live scanner carries a "High Short Interest Squeeze" preset you can use for intraday - Nasdaq Delisting Watchlist — squeeze + delisting cross-reference
- Research — the per-ticker page cross-references the squeeze score in its right rail
- Methodology — the full math behind the score