What Is a Short Squeeze? GameStop, Measured
A short squeeze is a rally that feeds on short sellers buying to close. GameStop's 2021 records, short interest, days to cover and price, tell it in numbers.
A short squeeze is a rapid price rise in a heavily shorted stock that feeds on itself: as the price climbs, short sellers closing their positions must buy shares, and that buying is itself new demand. The term gets thrown at every sharp rally; the real thing leaves specific fingerprints, in price, volume, the short-interest record, and the options tape. The most famous case on record, GameStop, January 2021, sits in our warehouse, and this page walks the whole arc number by number: setup, spike, options side, and the crash that followed.
How does a short squeeze work?
Short selling is a bet on a falling price: borrow shares, sell them, and plan to buy them back cheaper. A buyer of stock can lose at most what they paid; a short seller's potential loss has no ceiling, growing dollar-for-dollar as the price rises. A short position is also a future purchase, every borrowed share must eventually be bought back and returned.
That future buying is the squeeze fuel. When a heavily shorted stock starts rising, every short seller faces the same arithmetic at once, and closing means buying, alongside everyone else's closing purchases. The higher the price, the more positions hit their pain threshold, the more forced buying arrives. Short interest, the total count of shares sold short, measures how much of that future buying is stacked up.
GameStop, measured: the short interest side
GameStop entered November 2020 as one of the most heavily shorted names on US exchanges. The exchange-reported record, settlement by settlement:
| settled | shares_short_m | days_to_cover |
|---|---|---|
| 2020-11-13 | 67.5 | 14 |
| 2020-11-30 | 68 | 8.7 |
| 2020-12-15 | 68.1 | 6.9 |
| 2020-12-31 | 71.2 | 6.1 |
| 2021-01-15 | 61.8 | 2.1 |
| 2021-01-29 | 21.4 | 1 |
| 2021-02-12 | 16.5 | 1 |
| 2021-02-26 | 14.2 | 1 |
| 2021-03-15 | 10.2 | 1 |
| 2021-03-31 | 10.7 | 1 |
The exact SQL behind every number
SELECT toString(settlement_date) AS settled,
round(short_interest / 1e6, 1) AS shares_short_m,
round(days_to_cover, 1) AS days_to_cover
FROM global_markets.stocks_short_interest
WHERE ticker = 'GME'
AND settlement_date >= '2020-11-01'
AND settlement_date <= '2021-03-31'
ORDER BY settlement_dateAs of the 2020-11-13 settlement, 67.5 million GME shares were sold short and days to cover stood at 14, closing every short would take roughly that many full days of the stock's typical volume. By the 2021-01-29 settlement, short interest had fallen to 21.4 million shares, roughly two-thirds of the position unwound inside three months, with days to cover at 1.
GameStop, measured: price and volume
Over the same weeks, the weekly price and volume record from the minute-by-minute tape:
| week_of | week_low | week_high | week_close | shares_traded_m |
|---|---|---|---|---|
| 2021-01-03 | 17.06 | 19.45 | 17.97 | 33 |
| 2021-01-10 | 17.05 | 43.57 | 35.9 | 306 |
| 2021-01-17 | 36.06 | 76.76 | 63.7 | 361 |
| 2021-01-24 | 61.13 | 513.12 | 315.72 | 558 |
| 2021-01-31 | 49 | 384.89 | 67.2 | 301 |
| 2021-02-07 | 46.52 | 75.8 | 52.6 | 116 |
| 2021-02-14 | 38.5 | 54.2 | 42.71 | 56 |
The exact SQL behind every number
SELECT toString(toStartOfWeek(day)) AS week_of,
round(min(lo), 2) AS week_low,
round(max(hi), 2) AS week_high,
round(argMax(cl, day), 2) AS week_close,
round(sum(vol) / 1e6, 0) AS shares_traded_m
FROM (
SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS day,
min(toFloat64(low)) AS lo,
max(toFloat64(high)) AS hi,
argMax(toFloat64(close), window_start) AS cl,
sum(toFloat64(volume)) AS vol
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'GME'
AND window_start >= '2021-01-04 04:00:00'
AND window_start < '2021-02-20 04:00:00'
GROUP BY day
)
GROUP BY week_of
ORDER BY week_ofThe first week of January 2021 printed a low of $17.06 on 33 million shares traded. Three weeks later, the week of 2021-01-24, the tape printed $513.12 at the high and 558 million shares changed hands in five sessions. Volume is the squeeze fingerprint's third leg: forced buying does not happen quietly.
The up-leg, the give-back, and the second act, the whole 2021 arc in one receipt row:
| january_low | late_january_high | low_to_peak_multiple | february_low | february_low_date | peak_to_trough_pct | march_rebound_high |
|---|---|---|---|---|---|---|
| 17.05 | 513.12 | 30.1 | 38.5 | 2021-02-19 | 92.5 | 348.5 |
The exact SQL behind every number
WITH daily AS (
SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS day,
min(toFloat64(low)) AS lo,
max(toFloat64(high)) AS hi
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'GME'
AND window_start >= '2021-01-04 04:00:00'
AND window_start < '2021-04-01 04:00:00'
GROUP BY day
)
SELECT round(minIf(lo, day < '2021-02-01'), 2) AS january_low,
round(maxIf(hi, day < '2021-02-01'), 2) AS late_january_high,
round(maxIf(hi, day < '2021-02-01') / minIf(lo, day < '2021-02-01'), 1) AS low_to_peak_multiple,
round(minIf(lo, day >= '2021-02-01' AND day < '2021-03-01'), 2) AS february_low,
toString(argMinIf(day, lo, day >= '2021-02-01' AND day < '2021-03-01')) AS february_low_date,
round((1 - minIf(lo, day >= '2021-02-01' AND day < '2021-03-01') / maxIf(hi, day < '2021-02-01')) * 100, 1) AS peak_to_trough_pct,
round(maxIf(hi, day >= '2021-03-01'), 2) AS march_rebound_high
FROM dailyFrom a January low of $17.05 to a late-January high of $513.12: a 30.1x move inside a single month. The panels line up, the two weeks of the steepest climb are the same two weeks short interest collapsed from 61.8 million (settled 2021-01-15) to 21.4 million (settled 2021-01-29). Price spike, volume surge, and a large short-interest drop across the same dates: that co-movement is the squeeze signature. (Prices are as-traded in 2021, before GME's later 4-for-1 split.)
One honest caveat: short interest is reported only twice a month, on a lag, see why short interest is two weeks old, so the record shows the unwind in snapshots, and it cannot say which purchases were shorts closing versus new buyers arriving. The daily-flavored cousin has its own trap: short volume is not short interest.
What made GameStop the stock that squeezed
The mechanics say why a heavily shorted stock can squeeze; January 2021's well-documented calendar shows why this one did. On January 11, 2021, Chewy co-founder Ryan Cohen joined GameStop's board. Over the following two weeks the stock became the WallStreetBets forum's central preoccupation, with heavy retail flow arriving alongside the accelerating tape. On January 27, Melvin Capital, the most prominent GME short, confirmed it had closed its position. On January 28, Robinhood and other brokers restricted opening purchases in GME and related names; the stock printed its as-traded record high that morning and gave most of it back inside two hours, the January 28 tape, minute by minute has that session in full. The data cannot rank these forces; the record shows them all arriving inside the same three weeks.
The gamma squeeze: the options side
GameStop's January was not only a stock story. A gamma squeeze is a related but distinct mechanism: traders buy call options, the market makers on the other side are short those calls, and standard practice is to hedge by buying the underlying stock. That hedge grows as the price rises toward and through the calls' strikes, the same self-reinforcing loop with a different forced buyer: a dealer hedging rather than a short seller closing. January 2021 ran both at once, and the options tape shows the shape:
| week_of | call_contracts_m | put_contracts_m | call_share_pct | premium_bn |
|---|---|---|---|---|
| 2021-01-03 | 0.27 | 0.13 | 66.6 | 0.06 |
| 2021-01-10 | 1.53 | 0.93 | 62.1 | 0.9 |
| 2021-01-17 | 1.74 | 1.74 | 49.9 | 1.91 |
| 2021-01-24 | 2.07 | 3.97 | 34.3 | 23.54 |
| 2021-01-31 | 1.3 | 2.64 | 33 | 6.7 |
The exact SQL behind every number
SELECT toString(toStartOfWeek(toDate(toTimeZone(sip_timestamp, 'America/New_York')))) AS week_of,
round(sumIf(size, substring(ticker, 12, 1) = 'C') / 1e6, 2) AS call_contracts_m,
round(sumIf(size, substring(ticker, 12, 1) = 'P') / 1e6, 2) AS put_contracts_m,
round(100.0 * sumIf(size, substring(ticker, 12, 1) = 'C') / sum(size), 1) AS call_share_pct,
round(sum(toFloat64(price) * size * 100) / 1e9, 2) AS premium_bn
FROM global_markets.options_trades
WHERE ticker >= 'O:GME21' AND ticker < 'O:GME24'
AND sip_timestamp >= toDateTime('2021-01-04 00:00:00')
AND sip_timestamp < toDateTime('2021-02-06 00:00:00')
GROUP BY week_of
ORDER BY week_ofIn the first January week, calls were 66.6% of GME option contract volume, call-heavy flow is the raw material of dealer hedging. By the peak week, premium reached $23.54 billion, against $0.06 billion four weeks earlier, and the mix had flipped: 3.97 million put contracts against 2.07 million calls, a 34.3% call share. Early in the move the options tape leaned upside; at the top, downside bets dominated.
After the peak
Squeezes end, every covered short is a short that cannot cover again, and the arc receipt carries the aftermath. From the late-January high of $513.12, GME traded down to $38.5 by 2021-02-19: a 92.5% peak-to-trough drawdown in roughly three weeks. Nor was that the end, March 2021 printed $348.5 at the high, a second leg that arrived after the reported short position was already small.
And the short side did not rebuild: the settlement record runs through 2021-03-31, with short interest at 10.7 million shares and days to cover at 1. Whatever traded GME in March 2021, it was not the same crowded short exiting twice.
Other squeezes in the record
The same January squeezed a basket of heavily shorted names, the price extremes and the short interest on either side of the month, for four of them:
| ticker | jan_low | jan_high | low_to_high_multiple | short_dec31_m | short_feb12_m |
|---|---|---|---|---|---|
| KOSS | 2.82 | 174 | 61.7 | 0.6 | 0.3 |
| GME | 17.05 | 513.12 | 30.1 | 71.2 | 16.5 |
| AMC | 1.91 | 25.8 | 13.5 | 39 | 48.1 |
| BB | 6.52 | 28.77 | 4.4 | 39.6 | 32.4 |
The exact SQL behind every number
WITH px AS (
SELECT ticker,
round(min(toFloat64(low)), 2) AS jan_low,
round(max(toFloat64(high)), 2) AS jan_high,
round(max(toFloat64(high)) / min(toFloat64(low)), 1) AS low_to_high_multiple
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker IN ('GME', 'AMC', 'KOSS', 'BB')
AND window_start >= '2021-01-04 04:00:00'
AND window_start < '2021-01-30 04:00:00'
GROUP BY ticker
),
si AS (
SELECT ticker,
round(anyIf(short_interest, settlement_date = '2020-12-31') / 1e6, 1) AS short_dec31_m,
round(anyIf(short_interest, settlement_date = '2021-02-12') / 1e6, 1) AS short_feb12_m
FROM global_markets.stocks_short_interest
WHERE ticker IN ('GME', 'AMC', 'KOSS', 'BB')
AND settlement_date IN ('2020-12-31', '2021-02-12')
GROUP BY ticker
)
SELECT px.ticker AS ticker,
px.jan_low AS jan_low,
px.jan_high AS jan_high,
px.low_to_high_multiple AS low_to_high_multiple,
si.short_dec31_m AS short_dec31_m,
si.short_feb12_m AS short_feb12_m
FROM px
INNER JOIN si ON px.ticker = si.ticker
ORDER BY px.low_to_high_multiple DESCKoss, a small headphone maker, printed the group's largest multiple, 61.7x from January low to January high, with reported short interest falling from 0.6 million to 0.3 million shares across the month. BlackBerry ran 4.4x. The table also carries a discriminator: AMC spiked 13.5x, yet its reported short interest was higher on February 12 (48.1 million shares) than on December 31 (39 million), new shorts opened faster than old ones closed, and AMC also issued new shares that month. A price spike alone is not evidence of covering; the short-interest record on either side is the check.
What is days to cover, and what counts as high?
Days to cover divides short interest by average daily volume: how many typical days of the stock's entire volume it would take to buy back every shorted share (what is days to cover holds the full calibration). It is the standard gauge of how crowded the short side is relative to the exit, GME's 14 in November 2020 meant a very narrow exit. For scale, the whole liquid end of the market at the latest settlement on file:
| settled | liquid_names | median_days_to_cover | p90_days_to_cover | max_days_to_cover | names_at_10_plus |
|---|---|---|---|---|---|
| 2026-07-31 | 721 | 2.1 | 5.5 | 14.5 | 3 |
The exact SQL behind every number
SELECT toString(max(settlement_date)) AS settled,
count() AS liquid_names,
round(quantileDeterministic(0.5)(days_to_cover, cityHash64(ticker)), 1) AS median_days_to_cover,
round(quantileDeterministic(0.9)(days_to_cover, cityHash64(ticker)), 1) AS p90_days_to_cover,
round(max(days_to_cover), 1) AS max_days_to_cover,
countIf(days_to_cover >= 10) AS names_at_10_plus
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')Among the 721 names averaging five million shares a day or more, the median days to cover at the 2026-07-31 settlement was just 2.1, the 90th percentile 5.5, and only 3 names sat at 10 or above (the highest: 14.5). A GameStop-2020-style reading is a genuine outlier, not a common condition.
The most crowded shorts right now
Aggregates hide the names. The same settlement file, sorted, the ten most crowded liquid shorts at the latest print (full leaderboard treatment: the most-shorted stocks list):
| ticker | days_to_cover | shares_short_m | avg_daily_volume_m | settled |
|---|---|---|---|---|
| IBRX | 14.5 | 129 | 8.9 | 2026-07-31 |
| NWBO | 10.8 | 69.9 | 6.5 | 2026-07-31 |
| IQ | 10.4 | 71.7 | 6.9 | 2026-07-31 |
| GERN | 9.9 | 76.8 | 7.8 | 2026-07-31 |
| ABCL | 9.7 | 48.3 | 5 | 2026-07-31 |
| IAUX | 9.5 | 83.9 | 8.8 | 2026-07-31 |
| XBI | 9.5 | 78.8 | 8.3 | 2026-07-31 |
| RXRX | 9.3 | 180.8 | 19.4 | 2026-07-31 |
| ALLO | 9.2 | 60.8 | 6.6 | 2026-07-31 |
| PTON | 8.9 | 61.1 | 6.9 | 2026-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 10The math, once by hand: the current leader, IBRX, reports 129 million shares short against an average of 8.9 million traded per day, divide the two, and closing every position would take about 14.5 days of typical volume. Traders screen that reading alongside two inputs this table cannot show: the float (a big short position in a small float is a tighter exit) and the borrow fee, the annualized cost of holding the short.
Two cautions. High days to cover is a precondition, not a forecast, names sit on this list for years while drifting lower, and shorts are sometimes simply right. And chasing a squeeze already underway means buying what forced buyers have already lifted; the arc receipt above shows the other side of that trade.
FAQ
What is a gamma squeeze?
Forced buying that runs through the options market: traders buy calls, the dealers who sold them hedge by buying stock, and the hedge grows as the price rises. The forced buyer is a hedging dealer rather than a covering short seller. GameStop's January 2021 move showed both at once, with calls at 66.6% of its option volume in the month's first week.
How is a short squeeze different from an ordinary rally?
The setup and the fingerprint. The setup is a large short position relative to trading volume, high short interest and high days to cover. The fingerprint is a sharp price rise on heavy volume across the same weeks that reported short interest collapses. AMC's January 2021 spike shows why the check matters: the price ran 13.5x while reported short interest rose.
What are other examples of short squeezes besides GameStop?
January 2021 alone produced several: Koss ran 61.7x inside the month while its reported short interest halved; BlackBerry ran 4.4x. The classic earlier case is Volkswagen in October 2008, a disclosure that most of the free float was already spoken for coincided with the stock briefly ranking as the world's most valuable company.
Can you predict a short squeeze?
No metric predicts one. What the data can show is the precondition: how much short interest is stacked up and how many days of volume it represents. Traders watch short interest and days to cover for exactly that reason, remembering the reading is about two weeks old when it publishes.
Was GameStop in 2021 really a short squeeze?
The record shows the squeeze signature clearly: days to cover of 14 in November 2020, then a 30.1x price move within weeks, concurrent with short interest falling from 67.5 million to 21.4 million shares. Other forces traded alongside, options activity, retail volume, and the data cannot apportion credit among them.
Every number above comes from a stored, versioned query, expand the SQL under any panel, or pull the same records for any ticker on the Strasmore terminal.