STRASMORE/EXPLORE 2,170 QUERIES

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.

as of table 9×6read in context →
The week's contracts by strike bucket ($20 buckets; tails capped at $80 and $240) — 9 rows by 6 columns, computed from US exchange, SIP and OPRA data.
strike_bucketcall_contractsput_contractsput_share_pctexpiring_by_jul17_pctpct_of_biggest_bucket
$8039499137895.91.87.8
$100747411833494.19.310.3
$1201429733314995.946.228.5
$14047448674591461.183.2100
$1604616888494615.577.944.8
$18021437869513.170.418.1
$2001047631679513.864.910
$2204657311802.571.73.9
$24041335622290.583.734.1
Rows × columns
9 × 6
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 The week's contracts by strike bucket ($20 buckets; tails capped at $80 and $240), derived from the stored result.
ColumnTypeRangeNotes
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 →