The week's contracts by strike bucket ($20 buckets; tails capped at $80 and $240)
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 SPCX: The Week It Went Underwater.
| strike_bucket | call_contracts | put_contracts | put_share_pct | expiring_by_jul17_pct | pct_of_biggest_bucket |
|---|---|---|---|---|---|
| $80 | 3949 | 91378 | 95.9 | 1.8 | 7.8 |
| $100 | 7474 | 118334 | 94.1 | 9.3 | 10.3 |
| $120 | 14297 | 333149 | 95.9 | 46.2 | 28.5 |
| $140 | 474486 | 745914 | 61.1 | 83.2 | 100 |
| $160 | 461688 | 84946 | 15.5 | 77.9 | 44.8 |
| $180 | 214378 | 6951 | 3.1 | 70.4 | 18.1 |
| $200 | 104763 | 16795 | 13.8 | 64.9 | 10 |
| $220 | 46573 | 1180 | 2.5 | 71.7 | 3.9 |
| $240 | 413356 | 2229 | 0.5 | 83.7 | 34.1 |
- Rows × columns
- 9 × 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 |
|---|---|---|---|
strike_bucket |
text | 9 distinct values ($100, $120, $140…) | |
call_contracts |
number | 3,949 to 474,486 | count |
put_contracts |
number | 1,180 to 745,914 | count |
put_share_pct |
number | 0.5 to 95.9 | percent |
expiring_by_jul17_pct |
number | 1.8 to 83.7 | percent |
pct_of_biggest_bucket |
number | 3.9 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('$', toString(toUInt32(bucket))) AS strike_bucket,
toUInt64(sumIf(size, substring(ticker, 13, 1) = 'C')) AS call_contracts,
toUInt64(sumIf(size, substring(ticker, 13, 1) = 'P')) AS put_contracts,
round(100.0 * sumIf(size, substring(ticker, 13, 1) = 'P') / sum(size), 1) AS put_share_pct,
round(100.0 * sumIf(size, substring(ticker, 7, 6) <= '260717') / sum(size), 1) AS expiring_by_jul17_pct,
round(100 * sum(size) / max(sum(size)) OVER (), 1) AS pct_of_biggest_bucket
FROM global_markets.options_trades
WHERE startsWith(ticker, 'O:SPCX') AND length(ticker) = 21
AND toUInt32OrZero(substring(ticker, 14, 8)) > 0
AND sip_timestamp >= toDateTime64('2026-07-06 00:00:00', 9) AND sip_timestamp < toDateTime64('2026-07-11 00:00:00', 9)
GROUP BY least(greatest(floor(toFloat64(toUInt32OrZero(substring(ticker, 14, 8))) / 1000 / 20) * 20, 80), 240) AS bucket
ORDER BY bucket
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 analysisSPCX: The Week It Went Underwater
Large recent debuts, first month on one ruler: first trade to the day-28 close (ET regular hours)
table 7×8
→
The new entity's short-interest prints to date, with implied days-to-cover
table 2×5
→
The symbol's trading history by month: the gap and the new entity's arrival
series 12×5
→
The week's heaviest tickers by regular-hours dollar volume: where the newcomer now sits
ranking 12×4
→
Median quoted spread by session, regular hours (bps of midpoint)
series 5×3
→
SPCX by session: close, change, shares, dollars
series 5×5
→
See all 2,170 queries →