STRASMORE/EXPLORE 3,171 QUERIES

Traded per-contract records by underlying, August 2021 onward

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-10-07, from What Breaks an Options Backtest.

as of table 5×7read in context →
Traded per-contract records by underlying, August 2021 onward — 5 rows by 7 columns, computed from US exchange, SIP and OPRA data.
symbolcontract_countdistinct_contractscontract_days_readabledistinct_contracts_readablecoverage_fromcoverage_to
SPY96510044334439.65 million433.44 thousandJun 2014Oct 2026
NVDA38874801179963.89 million118.00 thousandJun 2014Oct 2026
AAPL2933737859812.93 million85.98 thousandJun 2014Oct 2026
MSFT2552633798322.55 million79.83 thousandJun 2014Oct 2026
KO71050133059710.50 thousand33.06 thousandJun 2014Oct 2026
Rows × columns
5 × 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 Traded per-contract records by underlying, August 2021 onward, derived from the stored result.
ColumnTypeRangeNotes
symbol text 5 distinct values (AAPL, KO, MSFT…)
contract_count number 710,501 to 9,651,004 count
distinct_contracts number 33,059 to 433,443 count
contract_days_readable text 5 distinct values (2.55 million, 2.93 million, 3.89 million…)
distinct_contracts_readable text 5 distinct values
coverage_from text 1 distinct value (Jun 2014)
coverage_to text 1 distinct value (Oct 2026)

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.

Run it yourself

This is the exact query behind the result above. Change a ticker, a date or a column and run it against the warehouse — no account, no key. The no-signup tier is smaller than the one this page was computed on; a query that reaches past it comes back saying which plan runs it.

SELECT
    underlying_symbol                             AS symbol,
    count()                                       AS contract_count,
    countDistinct(ticker)                         AS distinct_contracts,
    formatReadableQuantity(count())               AS contract_days_readable,
    formatReadableQuantity(countDistinct(ticker)) AS distinct_contracts_readable,
    formatDateTime(min(date), '%b %Y')            AS coverage_from,
    formatDateTime(max(date), '%b %Y')            AS coverage_to
FROM global_markets.options_greeks
WHERE underlying_symbol IN ('SPY', 'AAPL', 'MSFT', 'NVDA', 'KO')
  AND iv_converged = 1
  AND volume > 0
GROUP BY symbol
ORDER BY contract_count DESC
⌘/Ctrl + Enter

Work with this data in your AI assistant

Opens ready to query, with this page's data. Free, no account.

More from this analysisWhat Breaks an Options Backtest
How much of a modelled credit survives one volatility point of vega table 6×5 → In-the-money calls with extrinsic value below the upcoming dividend table 5×5 → Contracts that traded once, and contracts still trading at expiry series 57×5 → One SPY put traced through its final weeks, June 2024 expiry series 35×5 → NVDA on July 17, 2026: the close and the post close window table 30×3 → Where IV percentile sits furthest above IV rank, latest session table 12×6 → See all 3,171 queries →