STRASMORE/EXPLORE 2,549 QUERIES

top_contracts

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-09-24, from why-open-interest-updates-once-a-day.

as of ranking 12×3read in context →
top_contracts — 12 rows by 3 columns, computed from US exchange, SIP and OPRA data.
contractvolume_thousandsshare_of_day_pct
Jun 17 $300 C113.312.91
Jun 17 $302 C52.55.98
Jun 17 $297 C51.35.85
Jun 18 $300 C50.55.75
Jun 17 $295 P47.75.44
Jun 17 $305 C38.84.42
Jun 17 $297 P37.94.32
Jun 18 $297 C19.72.25
Jun 17 $300 P182.05
Jun 17 $290 P17.62.01
Jun 17 $292 P17.62
Jun 18 $295 P15.81.8
Rows × columns
12 × 3
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 top_contracts, derived from the stored result.
ColumnTypeRangeNotes
contract text 12 distinct values
volume_thousands number 15.8 to 113.3 count
share_of_day_pct number 1.8 to 12.91 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.

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
    concat(
        formatDateTime(expiration_date, '%b %e'),
        ' $',
        toString(toUInt32(toFloat64(strike_price))),
        ' ',
        option_type
    )                                                               AS contract,
    round(contracts_traded / 1000, 1)                               AS volume_thousands,
    round(100 * contracts_traded / sum(contracts_traded) OVER (), 2) AS share_of_day_pct
FROM
(
    SELECT
        expiration_date,
        strike_price,
        option_type,
        sum(volume) AS contracts_traded
    FROM global_markets.options_greeks
    WHERE underlying_symbol = 'AAPL'
      AND date = '2026-06-16'
      AND volume > 0
    GROUP BY expiration_date, strike_price, option_type
)
ORDER BY volume_thousands DESC
LIMIT 12
⌘/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 analysiswhy-open-interest-updates-once-a-day
daily_volume_reset series 21×4 → intraday_volume_build series 13×3 → short_interest_calendar series 12×3 → Top 25 weekly-options underlyings by distinct contracts traded, with expiration weekdays ranking 25×4 → Annualized volatility vs total return, 25 large caps, calmest to wildest (~2 years) ranking 25×3 → SPY options median spread by expiration date, near-the-money strikes only ranking 25×4 → See all 2,549 queries →