Skip to main content
All manual pages

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

Squeeze Leaderboard — top candidates ranked by squeeze score, with SI %float, days-to-cover, borrow fee, momentum 5d, sector, ignition flags, and delisting cross-ref badges
Squeeze Leaderboard — top candidates ranked by squeeze score, with SI %float, days-to-cover, borrow fee, momentum 5d, sector, ignition flags, and delisting cross-ref badges

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 ON Tuesday morning is the textbook squeeze-setup re-entry.
  • Risk screen: a HTB flag 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.

FactorSourceCadence
Short interest % float, shares short, days-to-coverFINRA twice-monthly publication (15 + end-of-month settlement dates) scraped via Yahoo Financehourly 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 rateSchwab 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, sectorReal-time market data (Schwab / Yahoo), persisted in squeeze_scoresUpdated every market hour by squeeze-recompute cron at :10 past the hour
Squeeze ranksDerived hourly from the latest scoreStored 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 in squeeze-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

  1. 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.
  2. A 90+ score with HTB is a "no borrow available" tell — the short-sellers can't unwind either, so this is a slow-burn setup, not a fast squeeze.
  3. Mix with the live scanner: the squeeze leaderboard is a slow-moving filter. Cross-reference with the high-short-interest-squeeze preset in the live Scanner (preset 7) for intraday entries.
  4. Read the badges first (2026-08-11): top-ranked rows that carry STILL SETUP are the actionable candidates. A ALREADY SQUEEZED row at #1 is yesterday's news; flip forward. COOLING rows have already started unwinding.
  • 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