STRASMORE/EXPLORE 2,170 QUERIES

Days to cover by trading-volume tier: every name in the June 30, 2026 settlement

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-07-26, from What Is Days to Cover? Short Interest Ratio.

as of table 4×7read in context →
Days to cover by trading-volume tier: every name in the June 30, 2026 settlement — 4 rows by 7 columns, computed from US exchange, SIP and OPRA data.
adv_tiernamesnames_fmtlowest_reportedmedian_days_to_coverpct_above_5_dayspct_at_floor
under 1M shares/day1602016,02011.2123.946.5
1M to 5M22552,25512.7719.126
5M to 20M72772712.0212.131.5
20M+ shares/day22022011.283.642.7
Rows × columns
4 × 7
Computed
Completeness
No missing values
Source
US exchange, SIP and OPRA market data
Licence
Strasmore terms · free, no signup
Formats
JSON · CSV · the SQL below

What each column holds

Column definitions for Days to cover by trading-volume tier: every name in the June 30, 2026 settlement, derived from the stored result.
ColumnTypeRangeNotes
adv_tier text 4 distinct values (1M to 5M, 20M+ shares/day, 5M to 20M…)
names number 220 to 16,020
names_fmt text 4 distinct values (16,020, 2,255, 220…)
lowest_reported number every row is 1
median_days_to_cover number 1.21 to 2.77
pct_above_5_days number 3.6 to 23.9 percent
pct_at_floor number 26 to 46.5 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
SELECT multiIf(avg_daily_volume < 1000000, 'under 1M shares/day',
               avg_daily_volume < 5000000, '1M to 5M',
               avg_daily_volume < 20000000, '5M to 20M',
               '20M+ shares/day') AS adv_tier,
       count() AS names,
       if(count() < 1000,
          toString(count()),
          concat(toString(intDiv(count(), 1000)), ',', leftPad(toString(count() % 1000), 3, '0'))) AS names_fmt,
       round(min(days_to_cover), 2) AS lowest_reported,
       round(quantileDeterministic(0.5)(days_to_cover, cityHash64(ticker)), 2) AS median_days_to_cover,
       round(countIf(days_to_cover >= 5) / count() * 100, 1) AS pct_above_5_days,
       round(countIf(days_to_cover = 1) / count() * 100, 1) AS pct_at_floor
FROM global_markets.stocks_short_interest
WHERE settlement_date = '2026-06-30'
  AND days_to_cover IS NOT NULL
  AND avg_daily_volume > 0
GROUP BY adv_tier
ORDER BY min(avg_daily_volume)

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 analysisWhat Is Days to Cover? Short Interest Ratio
Two crowding measures, six names: short interest as % of shares outstanding vs. days to cover table 6×5 GME days to cover, settlement by settlement: June 2020 through the January 29, 2021 squeeze print series 15×5 Highest days to cover among liquid names (5M+ shares/day ADV): settlement of June 30, 2026 ranking 12×4 Every settlement since March 2026: and how long it took to arrive series 8×6 Days to cover across liquid names (5M+ shares/day ADV): settlement of June 30, 2026 ranking 5×2 Days to cover, four familiar names: settlement of June 30, 2026 ranking 4×4 See all 2,170 queries →