GME, winter 2020-21: each short interest print and the price move before it went public (as-traded prices)
Answered against 22 years of US equities and 12 years of US options data and published with the query that produced it. This result is stored as of 2026-08-22, from Why Short Interest Data Is Always Two Weeks Old.
| settlement | shares_short_m | close_at_settlement | close_8_sessions_later | move_while_pending_pct |
|---|---|---|---|---|
| 2020-12-15 | 68.1 | 13.87 | 20.98 | 51.3 |
| 2020-12-31 | 71.2 | 18.81 | 31.44 | 67.1 |
| 2021-01-15 | 61.8 | 35.49 | 197.44 | 456.3 |
| 2021-01-29 | 21.4 | 328.24 | 51.19 | -84.4 |
| 2021-02-12 | 16.5 | 52.33 | 109.16 | 108.6 |
| 2021-02-26 | 14.2 | 101.6 | 263.05 | 158.9 |
- Rows × columns
- 6 × 5
- Period covered
- to
- Computed
- Completeness
- No missing values
- Source
- US exchange, SIP and OPRA market data
- Licence
- Strasmore terms · free, no signup
What each column holds
| Column | Type | Range | Notes |
|---|---|---|---|
settlement |
date | 2020-12-15 to 2021-02-26 | |
shares_short_m |
number | 14.2 to 71.2 | count |
close_at_settlement |
number | 13.87 to 328.24 | US dollars |
close_8_sessions_later |
number | 20.98 to 263.05 | US dollars |
move_while_pending_pct |
number | -84.4 to 456.3 | percent |
Computed from Strasmore's warehouse of US exchange, SIP and OPRA market data. Equity prices are delayed; options greeks and implied volatility are end-of-day. This result is stored, not recomputed on load — it is exactly the numbers that were returned on , and the query below is what returned them.
the exact SQL behind every number
WITH daily AS (
SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS session,
argMax(toFloat64(close), window_start) AS cl
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'GME'
AND window_start >= toDateTime('2020-12-01 00:00:00')
AND window_start < toDateTime('2021-03-15 00:00:00')
AND toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York')) BETWEEN 570 AND 959
GROUP BY session
),
ranked AS (
SELECT session, cl, row_number() OVER (ORDER BY session) AS n
FROM daily
)
SELECT toString(si.settlement_date) AS settlement,
round(si.short_interest / 1e6, 1) AS shares_short_m,
round(r0.cl, 2) AS close_at_settlement,
round(r8.cl, 2) AS close_8_sessions_later,
round((r8.cl / r0.cl - 1) * 100, 1) AS move_while_pending_pct
FROM global_markets.stocks_short_interest AS si
INNER JOIN ranked AS r0 ON r0.session = si.settlement_date
INNER JOIN ranked AS r8 ON r8.n = r0.n + 8
WHERE si.ticker = 'GME'
AND si.settlement_date >= toDate('2020-12-15')
AND si.settlement_date <= toDate('2021-02-26')
ORDER BY si.settlement_date
Run your own version of this
The same 22 years of US equities and 12 years of options data are queryable in SQL or plain English. A free account runs 100 queries a day and takes no card.
More from this analysisWhy Short Interest Data Is Always Two Weeks Old
The blind window: what five stocks did between the settlement date and the day its short interest was published
table 5×6
→
Every incrementally-delivered settlement: measured on one date, on file days later
series 10×3
→
The pipeline lag in one row: plus the bulk backfill these figures deliberately exclude
scalar 1×6
→
GME days to cover: as reported in the file, and recomputed on the volume that traded while the print was pending
scalar 1×8
→
The current state of the cycle: the newest print on file, and the one still in the pipeline
scalar 1×6
→
The short interest release schedule: recent FINRA settlement dates and names reported
series 16×2
→
See all 2,170 queries →