Contracts traded during the week, by expiry date (single-pass scan; batch-generated)
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 Market Recap: Week of June 29, 2026.
| expiry | contracts_m | pct_of_biggest |
|---|---|---|
| 2026-07-02 | 74.1 | 100 |
| 2026-07-01 | 31.3 | 42.2 |
| 2026-07-17 | 30.9 | 41.7 |
| 2026-06-29 | 23.8 | 32.1 |
| 2026-07-10 | 22.1 | 29.8 |
| 2026-06-30 | 20.4 | 27.6 |
- Rows × columns
- 6 × 3
- 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 |
|---|---|---|---|
expiry |
date | 2026-06-29 to 2026-07-17 | |
contracts_m |
number | 20.4 to 74.1 | count |
pct_of_biggest |
number | 27.6 to 100 | 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 concat('20', substring(expiry_raw, 1, 2), '-', substring(expiry_raw, 3, 2), '-', substring(expiry_raw, 5, 2)) AS expiry,
round(sum(size) / 1e6, 1) AS contracts_m,
round(100 * sum(size) / max(sum(size)) OVER (), 1) AS pct_of_biggest
FROM (
SELECT substring(ticker, length(ticker) - 14, 6) AS expiry_raw, size
FROM global_markets.options_trades
WHERE sip_timestamp >= toDateTime64('2026-06-29 00:00:00', 9) AND sip_timestamp < toDateTime64('2026-07-03 00:00:00', 9)
)
GROUP BY expiry
ORDER BY contracts_m DESC
LIMIT 6
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 analysisMarket Recap: Week of June 29, 2026
Regular-hours dollar volume, week of June 29 (one reused-symbol listing excluded pending entity verification)
ranking 8×3
→
Treasury yields through the week (July 2 print not yet ingested at generation)
ranking 5×4
→
FINRA off-exchange short volume by session: coverage and marked-short share
ranking 4×4
→
Session by session: SPY close, change, and full-day volume
series 4×4
→
Week-over-week: the four index ETFs against the prior Friday's close
table 4×5
→
The session receipt: four traded days, one Friday closure, verified from the tape
scalar 1×3
→
See all 2,170 queries →