GME days to cover: as reported in the file, and recomputed on the volume that traded while the print was pending
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
2026-07-31
shares short m
53.7
file adv m
3.15
reported days to cover
17.06
tape adv since settlement m
10.99
days to cover on recent volume
4.89
days of difference
12.17
sessions measured
7
- Rows × columns
- 1 × 8
- Period covered
- 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 | 2026-07-31 | |
shares_short_m |
number | every row is 53.7 | count |
file_adv_m |
number | every row is 3.15 | |
reported_days_to_cover |
number | every row is 17.06 | |
tape_adv_since_settlement_m |
number | every row is 10.99 | |
days_to_cover_on_recent_volume |
number | every row is 4.89 | count |
days_of_difference |
number | every row is 12.17 | |
sessions_measured |
number | every row is 7 |
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 latest AS (SELECT max(settlement_date) AS d FROM global_markets.stocks_short_interest),
arrived AS (
SELECT toDate(min(_ingest_time)) AS a
FROM global_markets.stocks_short_interest
WHERE settlement_date = (SELECT d FROM latest)
),
tape AS (
SELECT count(DISTINCT toDate(toTimeZone(window_start, 'America/New_York'))) AS sessions,
sum(toFloat64(volume)) AS shares
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'GME'
AND toDate(toTimeZone(window_start, 'America/New_York')) > (SELECT d FROM latest)
AND toDate(toTimeZone(window_start, 'America/New_York')) <= (SELECT a FROM arrived)
AND toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York')) BETWEEN 570 AND 959
)
SELECT toString((SELECT d FROM latest)) AS settlement,
round(si.short_interest / 1e6, 1) AS shares_short_m,
round(si.avg_daily_volume / 1e6, 2) AS file_adv_m,
round(si.days_to_cover, 2) AS reported_days_to_cover,
round(tape.shares / tape.sessions / 1e6, 2) AS tape_adv_since_settlement_m,
round(si.short_interest / (tape.shares / tape.sessions), 2) AS days_to_cover_on_recent_volume,
round(abs(si.short_interest / (tape.shares / tape.sessions) - si.days_to_cover), 2) AS days_of_difference,
tape.sessions AS sessions_measured
FROM global_markets.stocks_short_interest AS si, tape
WHERE si.ticker = 'GME'
AND si.settlement_date = (SELECT d FROM latest)
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 pipeline lag in one row: plus the bulk backfill these figures deliberately exclude
scalar 1×6
→
The current state of the cycle: the newest print on file, and the one still in the pipeline
scalar 1×6
→
Every incrementally-delivered settlement: measured on one date, on file days later
series 10×3
→
GME, winter 2020-21: each short interest print and the price move before it went public (as-traded prices)
table 6×5
→
The blind window: what five stocks did between the settlement date and the day its short interest was published
table 5×6
→
The publication lag in one row: fastest, median and slowest across incrementally-delivered settlements
scalar 1×4
→
See all 2,170 queries →