Strasmore Research
Learn Matt ConnorBy Matt Connor · Updated 2026-08-25 · data as of August 25, 2026 · refreshed weekly

Most Shorted Stocks Right Now, Measured

The most shorted stocks by days to cover and by shares short, from the latest exchange-reported settlement. Liquid names only, refreshed as new prints land.

"Most shorted" means two different lists depending on the yardstick, and most articles quietly pick one without telling you. This page shows both, computed from the latest exchange-reported short-interest settlement and restricted to liquid names, plus what most leaderboards skip: whether the crowding is building or fading, which stocks are getting more shorted print over print, and how prices have treated the names at the top. It refreshes as new settlements publish; the settled column in the first table tells you which print you are reading.

Most shorted by days to cover, the crowded exits

Days to cover divides shares short by average daily volume: how many typical days of the stock's entire tape the shorts would need to buy back. It is the squeeze-watcher's yardstick, and the fuller calibration lives in the linked guide.

QueryHighest days to cover among liquid names: latest settlement on file
tickerdays_to_covershares_short_mavg_daily_volume_msettled
IBRX14.51298.92026-07-31
NWBO10.869.96.52026-07-31
IQ10.471.76.92026-07-31
GERN9.976.87.82026-07-31
ABCL9.748.352026-07-31
IAUX9.583.98.82026-07-31
XBI9.578.88.32026-07-31
RXRX9.3180.819.42026-07-31
ALLO9.260.86.62026-07-31
PTON8.961.16.92026-07-31
The exact SQL behind every number
SELECT ticker,
       round(days_to_cover, 1) AS days_to_cover,
       round(short_interest / 1e6, 1) AS shares_short_m,
       round(avg_daily_volume / 1e6, 1) AS avg_daily_volume_m,
       toString(settlement_date) AS settled
FROM global_markets.stocks_short_interest
WHERE settlement_date = (SELECT max(settlement_date) FROM global_markets.stocks_short_interest)
  AND avg_daily_volume >= 5000000
  AND days_to_cover IS NOT NULL
  AND ticker NOT IN ('SPCX')
ORDER BY days_to_cover DESC, ticker
LIMIT 10
Run this yourself

The current leader, IBRX, carries 14.5 days to cover as of the 2026-07-31 settlement. The arithmetic is worth doing once in the open, with the leader's own numbers: 129 million shares short, divided by 8.9 million shares of average daily volume, is 14.5 full days of the stock's entire tape, every buyer and seller included, consumed by nothing but short covering. For scale, the median liquid name in the same file shows 2.1 days, and even the last row of this top ten, at 8.9 days, runs several multiples of that median. A reading this high says the exit is narrow; it does not say the exit will be needed, the squeeze mechanics explain what has to happen for that to matter.

Is the crowding building or fading?

A single settlement is a frozen frame. The same file goes back years, so the obvious next question, how did the current leaders get here?, has a data answer. This panel tracks today's top three days-to-cover names backward across the last eight settlements (about four months).

QueryToday's top-3 crowding leaders, traced back eight settlements
settlement_datecurrent_leader_dtcsecond_place_dtcthird_place_dtc
2026-04-159.518.18.4
2026-04-3010.67.85.7
2026-05-1510.67.312.5
2026-05-297.612.58.5
2026-06-151214.413.4
2026-06-308.711.59.5
2026-07-1511.99.211
2026-07-3114.510.810.4
The exact SQL behind every number
WITH dates AS (
    SELECT DISTINCT settlement_date AS d
    FROM global_markets.stocks_short_interest
    ORDER BY d DESC
    LIMIT 8
),
top3 AS (
    SELECT ticker, row_number() OVER (ORDER BY days_to_cover DESC, ticker) AS rank
    FROM global_markets.stocks_short_interest
    WHERE settlement_date = (SELECT max(d) FROM dates)
      AND avg_daily_volume >= 5000000
      AND days_to_cover IS NOT NULL
      AND ticker NOT IN ('SPCX')
    ORDER BY days_to_cover DESC, ticker
    LIMIT 3
)
SELECT toString(settlement_date) AS settlement_date,
       maxIf(round(days_to_cover, 1), ticker = (SELECT ticker FROM top3 WHERE rank = 1)) AS current_leader_dtc,
       maxIf(round(days_to_cover, 1), ticker = (SELECT ticker FROM top3 WHERE rank = 2)) AS second_place_dtc,
       maxIf(round(days_to_cover, 1), ticker = (SELECT ticker FROM top3 WHERE rank = 3)) AS third_place_dtc
FROM global_markets.stocks_short_interest
WHERE ticker IN (SELECT ticker FROM top3)
  AND settlement_date IN (SELECT d FROM dates)
GROUP BY settlement_date
ORDER BY settlement_date
Run this yourself

The columns follow the current leaders backward, so the latest row matches the table above: 14.5, 10.8 and 10.4 days. Read each column top to bottom and you see the texture a snapshot hides: crowding at this scale builds and unwinds across settlements, weeks and months, not overnight, and a name can spend an entire quarter in double digits without anything resolving. A blank cell means the ticker had no qualifying print that settlement. Half of squeeze-watching is simply knowing whether you are looking at a fresh arrival or a long-term resident; this panel answers that in one glance.

Most shorted by absolute shares, a very different list

QueryLargest short positions by shares: latest settlement, liquid names
tickershares_short_mdays_to_coveravg_daily_volume_m
PLUG294649
NVDA292.72.3127
GRAB271.95.847.1
RIG254.45.645.6
ONDS2351.9121.2
AUR195.57.725.3
SOFI190.82.288.2
RXRX180.89.319.4
OPEN164.62.565.8
SOUN162.74.239
The exact SQL behind every number
SELECT ticker,
       round(short_interest / 1e6, 1) AS shares_short_m,
       round(days_to_cover, 1) AS days_to_cover,
       round(avg_daily_volume / 1e6, 1) AS avg_daily_volume_m
FROM global_markets.stocks_short_interest
WHERE settlement_date = (SELECT max(settlement_date) FROM global_markets.stocks_short_interest)
  AND avg_daily_volume >= 5000000
  AND short_interest IS NOT NULL
  AND ticker NOT IN ('SPCX')
ORDER BY short_interest DESC, ticker
LIMIT 10
Run this yourself

Ranked by raw shares short, the list transforms: PLUG leads with 294 million shares against 49 million shares of daily volume, working out to 6 days to cover. Big positions do not automatically mean crowded exits: the least-crowded name in this size top ten could clear its entire short position in about 1.9 days of normal trading. Size and crowding are different axes. A name like NVDA can carry one of the largest absolute short positions on the tape and still be quick to exit at its enormous daily volume, while other names on the same size list carry days-to-cover well above the liquid-universe median, and hedges, market-making inventory, and relative-value trades all show up as "short interest" without any of it being a bet against the company. This is the core reading lesson: raw short interest measures size; days to cover measures crowding. The two lists overlap far less than most people expect, and when a name appears high on both, that is the combination worth a second look.

Which stocks are getting more shorted?

Both leaderboards are levels. The other question searchers ask, which stocks are getting MORE shorted right now, is a change, so it needs two settlements. This panel ranks liquid names by the growth in days to cover from the prior print to the latest one.

QueryBiggest days-to-cover increases, latest settlement vs. the prior print
tickerprior_dtclatest_dtcdtc_change
DVLT3.98.74.8
WEN3.88.54.7
SOC25.43.4
GERN6.89.93.2
WIT4.47.53.2
ALLO6.49.22.9
CLVT68.82.9
RIVN2.65.42.8
The exact SQL behind every number
WITH dates AS (
    SELECT DISTINCT settlement_date AS d
    FROM global_markets.stocks_short_interest
    ORDER BY d DESC
    LIMIT 2
)
SELECT ticker,
       round(anyIf(days_to_cover, settlement_date = (SELECT min(d) FROM dates)), 1) AS prior_dtc,
       round(anyIf(days_to_cover, settlement_date = (SELECT max(d) FROM dates)), 1) AS latest_dtc,
       round(anyIf(days_to_cover, settlement_date = (SELECT max(d) FROM dates))
             - anyIf(days_to_cover, settlement_date = (SELECT min(d) FROM dates)), 1) AS dtc_change
FROM global_markets.stocks_short_interest
WHERE settlement_date IN (SELECT d FROM dates)
  AND avg_daily_volume >= 5000000
  AND days_to_cover IS NOT NULL
  AND ticker NOT IN ('SPCX')
GROUP BY ticker
HAVING count() = 2 AND dtc_change >= 0.1
ORDER BY dtc_change DESC, ticker
LIMIT 8
Run this yourself

The top riser, DVLT, went from 3.9 to 8.7 days to cover in a single settlement gap, an increase of 4.8 days; the smallest move shown still added 2.8 days. One mechanical caveat before reading intent into any row: days to cover is a ratio, and it rises when shares short grow or when average volume shrinks. A stock going quiet after an eventful stretch can climb this table with not one new share sold short, short interest vs. short volume unpacks which measure moves for which reason.

Are the heavy shorts winning?

High short interest is a bet that has already been placed. Price says how the bet has been going. This panel takes the current crowding leaders and computes each one's price change across roughly the last month of sessions, from regular-hours closing prices (names without listed minute data drop out).

QueryCrowding leaders vs. their own price: about one month of sessions
tickerdays_to_coverreturn_pctfrom_sessionto_session
IBRX14.5-6.32026-07-212026-08-24
IQ10.4-19.32026-07-212026-08-24
GERN9.95.22026-07-212026-08-24
ABCL9.782.42026-07-212026-08-24
The exact SQL behind every number
WITH top5 AS (
    SELECT ticker, round(days_to_cover, 1) AS dtc
    FROM global_markets.stocks_short_interest
    WHERE settlement_date = (SELECT max(settlement_date) FROM global_markets.stocks_short_interest)
      AND avg_daily_volume >= 5000000
      AND days_to_cover IS NOT NULL
      AND ticker NOT IN ('SPCX')
    ORDER BY days_to_cover DESC, ticker
    LIMIT 5
),
daily AS (
    SELECT ticker,
           toDate(toTimeZone(window_start, 'America/New_York')) AS session,
           argMax(close, window_start) AS rth_close
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker IN (SELECT ticker FROM top5)
      AND window_start >= now() - INTERVAL 35 DAY
      AND toHour(toTimeZone(window_start, 'America/New_York')) * 60
          + toMinute(toTimeZone(window_start, 'America/New_York')) BETWEEN 570 AND 959
    GROUP BY ticker, session
),
moves AS (
    SELECT ticker,
           count() AS sessions,
           toString(min(session)) AS from_session,
           toString(max(session)) AS to_session,
           round((argMax(rth_close, session) / argMin(rth_close, session) - 1) * 100, 1) AS return_pct
    FROM daily
    GROUP BY ticker
    HAVING sessions >= 15
)
SELECT m.ticker AS ticker,
       t.dtc AS days_to_cover,
       m.return_pct AS return_pct,
       m.from_session AS from_session,
       m.to_session AS to_session
FROM moves m
INNER JOIN top5 t ON m.ticker = t.ticker
ORDER BY t.dtc DESC, m.ticker
Run this yourself

As of the latest session in the window (2026-08-24), the current days-to-cover leader has moved -6.3% over the month shown. Scan the return column against the days-to-cover column: a falling price alongside heavy shorting is a thesis being paid; a rising one is pressure on the crowd. On most prints this table shows both directions at once, the market rarely grades every heavy short the same way in the same month, and that spread is exactly why a high days-to-cover number alone settles nothing.

What a real squeeze looked like in this data

The famous case is worth replaying from the same file this page is built on, using the same three columns. GameStop's short interest through the January 2021 squeeze:

QueryGME through the January 2021 squeeze: the same three columns, settlement by settlement
settlement_dateshares_short_mavg_daily_volume_mdays_to_cover
2020-11-1367.54.814
2020-11-30687.88.7
2020-12-1568.19.96.9
2020-12-3171.211.66.1
2021-01-1561.829.42.1
2021-01-2921.496.81
2021-02-1216.540.41
2021-02-2614.235.21
2021-03-1510.235.91
2021-03-3110.7211
The exact SQL behind every number
SELECT toString(settlement_date) AS settlement_date,
       round(short_interest / 1e6, 1) AS shares_short_m,
       round(avg_daily_volume / 1e6, 1) AS avg_daily_volume_m,
       round(days_to_cover, 1) AS days_to_cover
FROM global_markets.stocks_short_interest
WHERE ticker = 'GME'
  AND settlement_date BETWEEN '2020-11-01' AND '2021-03-31'
ORDER BY settlement_date
Run this yourself

The shape is the whole lesson. Going into the event, GME printed 14 days to cover (2020-11-13), leaderboard territory, and still held 71.2 million shares short at year-end. Two prints later (2021-01-29), shares short had collapsed to 21.4 million while average daily volume exploded to 96.8 million shares, and days to cover read 1, below the ordinary liquid-market median, at the exact peak of the mania. That is the volume-denominator trap in one row: the ratio looked calm precisely when the squeeze was loudest. The January 28, 2021 tape shows what the trading itself looked like inside those two weeks, minute by minute.

How this list is built, and how to read it honestly

Numbers first, then the caveats that travel with every row above.

QueryThe receipts: universe size, filter bite, median crowding, and list churn at the latest print
tickers_reportedliquid_tickersliquid_median_dtcdtc_top10_repeatssize_top10_min_dtc
223397222.141.9
The exact SQL behind every number
WITH dates AS (
    SELECT DISTINCT settlement_date AS d
    FROM global_markets.stocks_short_interest
    ORDER BY d DESC
    LIMIT 2
),
top10_dtc_latest AS (
    SELECT ticker FROM global_markets.stocks_short_interest
    WHERE settlement_date = (SELECT max(d) FROM dates) AND avg_daily_volume >= 5000000
      AND days_to_cover IS NOT NULL AND ticker NOT IN ('SPCX')
    ORDER BY days_to_cover DESC, ticker LIMIT 10
),
top10_dtc_prior AS (
    SELECT ticker FROM global_markets.stocks_short_interest
    WHERE settlement_date = (SELECT min(d) FROM dates) AND avg_daily_volume >= 5000000
      AND days_to_cover IS NOT NULL AND ticker NOT IN ('SPCX')
    ORDER BY days_to_cover DESC, ticker LIMIT 10
),
size10_latest AS (
    SELECT ticker, days_to_cover FROM global_markets.stocks_short_interest
    WHERE settlement_date = (SELECT max(d) FROM dates) AND avg_daily_volume >= 5000000
      AND short_interest IS NOT NULL AND ticker NOT IN ('SPCX')
    ORDER BY short_interest DESC, ticker LIMIT 10
)
SELECT
    (SELECT count() FROM global_markets.stocks_short_interest
     WHERE settlement_date = (SELECT max(d) FROM dates)) AS tickers_reported,
    (SELECT count() FROM global_markets.stocks_short_interest
     WHERE settlement_date = (SELECT max(d) FROM dates) AND avg_daily_volume >= 5000000) AS liquid_tickers,
    (SELECT round(quantileDeterministic(0.5)(days_to_cover, cityHash64(ticker)), 1)
     FROM global_markets.stocks_short_interest
     WHERE settlement_date = (SELECT max(d) FROM dates) AND avg_daily_volume >= 5000000
       AND days_to_cover IS NOT NULL) AS liquid_median_dtc,
    (SELECT count() FROM top10_dtc_latest
     WHERE ticker IN (SELECT ticker FROM top10_dtc_prior)) AS dtc_top10_repeats,
    (SELECT round(min(days_to_cover), 1) FROM size10_latest) AS size_top10_min_dtc
Run this yourself
  • The liquidity floor bites hard, on purpose. The latest settlement file carries 22339 tickers; the five-million-share average-daily-volume floor keeps 722 of them. Without it, both leaderboards fill with microcaps whose sky-high days to cover is an artifact of near-zero volume, not of crowded shorting, untradeable names answering a question nobody asked.
  • The list is sticky, not frozen. 4 of the current top ten by days to cover also sat in the prior settlement's top ten. Membership at the top is persistent enough to be meaningful and churny enough that last print's list is not this print's list.
  • The data is dated by construction. Settlements are exchange-reported twice a month and publish on a lag, the print you are reading is already days old before it ever reaches a screen, and positions may have moved since.
  • No float column, no float math. This file reports shares short and average daily volume, so its honest yardstick is days to cover. The other popular gauge, short interest as a percent of float, needs share-float data this table does not carry, and the two can disagree: a high-float mega-cap can top the shares list while barely registering on either crowding measure.
  • One symbol is excluded by name in the SQL. A ticker in the current file was recently reassigned from one company to a newly listed one, and vendor feeds can mix the two entities' records under the shared symbol. Rather than risk attributing one company's short position to the other, every query on this page drops it; the exclusion list follows our symbol-identity checks at each refresh.
  • High short interest is a description, not a verdict. Heavily shorted names include both future squeezes and companies the market has correctly diagnosed. The table cannot tell you which is which, and neither can anyone selling you a screener.

Most shorted stocks FAQ

What is the most shorted stock right now?

By days to cover among liquid names, IBRX leads the latest settlement at 14.5 days. By absolute shares short, PLUG leads with 294 million shares. Both tables above refresh as settlements publish.

Which stocks are getting more shorted right now?

Measured as the change in days to cover between the two most recent settlements, DVLT added the most, 4.8 days, from 3.9 to 8.7. The movers table above lists the biggest print-over-print risers among liquid names.

Why do the two "most shorted" lists disagree?

They measure different things: shares short (size) versus shares short relative to daily volume (crowding). The size list ranks raw shares short, so it skews toward heavily traded names whose positions can be huge yet, for some of them, still quick to exit, while the crowding list surfaces names where the short position is large for that stock's tape.

Does high short interest mean a short squeeze is coming?

No. It is a precondition, not a prediction, most heavily shorted stocks never squeeze. GameStop printed 14 days to cover before the January 2021 squeeze, and plenty of stocks have printed similar numbers with no fireworks. The short interest guide covers what the number does and does not tell you.

How current is this data?

Each table reads the newest settlement on file (dated in the first table's settled column) and this page regenerates on refresh. Short interest is exchange-reported twice monthly with a publication lag of one to several weeks.


Every table is a stored, versioned query over the exchange-reported file, expand the SQL, or screen the full universe your own way on the Strasmore terminal.