The blind window: what five stocks did between the settlement date and the day its short interest was published
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.
| ticker | shares_short_m | close_at_settlement | close_when_published | move_while_pending_pct | sessions_in_window |
|---|---|---|---|---|---|
| GME | 53.7 | 21.72 | 18.83 | -13.3 | 8 |
| NVDA | 292.7 | 200.81 | 217.48 | 8.3 | 8 |
| TSLA | 68.5 | 311.11 | 332.8 | 7 | 8 |
| MU | 29.9 | 822.59 | 868.2 | 5.5 | 8 |
| AAPL | 141.6 | 309.03 | 304.9 | -1.3 | 8 |
- Rows × columns
- 5 × 6
- 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 |
|---|---|---|---|
ticker |
text | 5 distinct values (AAPL, GME, MU…) | |
shares_short_m |
number | 29.9 to 292.7 | count |
close_at_settlement |
number | 21.72 to 822.59 | US dollars |
close_when_published |
number | 18.83 to 868.2 | US dollars |
move_while_pending_pct |
number | -13.3 to 8.3 | percent |
sessions_in_window |
number | every row is 8 |
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)
),
daily AS (
SELECT ticker,
toDate(toTimeZone(window_start, 'America/New_York')) AS session,
argMax(toFloat64(close), window_start) AS rth_close
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker IN ('AAPL', 'TSLA', 'NVDA', 'GME', 'MU')
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
GROUP BY ticker, session
)
SELECT si.ticker AS ticker,
round(si.short_interest / 1e6, 1) AS shares_short_m,
round(argMin(d.rth_close, d.session), 2) AS close_at_settlement,
round(argMax(d.rth_close, d.session), 2) AS close_when_published,
round((argMax(d.rth_close, d.session) / argMin(d.rth_close, d.session) - 1) * 100, 1) AS move_while_pending_pct,
count() AS sessions_in_window
FROM global_markets.stocks_short_interest AS si
INNER JOIN daily AS d ON d.ticker = si.ticker
WHERE si.settlement_date = (SELECT d FROM latest)
GROUP BY si.ticker, si.short_interest
ORDER BY abs(move_while_pending_pct) DESC, si.ticker ASC
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
GME, winter 2020-21: each short interest print and the price move before it went public (as-traded prices)
table 6×5
→
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 →