STRASMORE/EXPLORE 2,191 QUERIES

weekly_leaders

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-11, from which-stocks-have-weekly-options.

as of ranking 25×4read in context →
weekly_leaders — 25 rows by 4 columns, computed from US exchange, SIP and OPRA data.
symbolcontracts_thousandsnon_monthly_expirationsexpiry_weekdays
SPY1036Mon Tue Wed Thu Fri
QQQ9.536Mon Tue Wed Thu Fri
MU7.420Mon Wed Fri
GLD6.132Mon Tue Wed Thu Fri
SNDK5.58Fri
AMD5.221Mon Wed Fri
META4.921Mon Wed Fri
SMH4.631Mon Tue Wed Thu Fri
IWM4.135Mon Tue Wed Thu Fri
TSLA4.121Mon Wed Fri
SOXL3.918Mon Wed Fri
ASML3.28Fri
SLV3.222Mon Wed Fri
MSFT3.121Mon Wed Fri
AVGO321Mon Wed Fri
LITE2.98Fri
STX2.98Fri
INTC2.821Mon Wed Fri
GOOGL2.721Mon Wed Fri
USO2.615Wed Fri
DELL2.58Fri
GS2.58Fri
NVDA2.520Mon Wed Fri
LLY2.48Fri
AAPL2.321Mon Wed Fri
Rows × columns
25 × 4
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 weekly_leaders, derived from the stored result.
ColumnTypeRangeNotes
symbol text 25 distinct values (AAPL, AMD, ASML…)
contracts_thousands number 2.3 to 10 count
non_monthly_expirations number 8 to 36
expiry_weekdays text 4 distinct values (Fri, Mon Tue Wed Thu Fri, Mon Wed Fri…)

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
    underlying_symbol                                           AS symbol,
    round(uniqExact(ticker) / 1000, 1)                          AS contracts_thousands,
    uniqExactIf(expiration_date,
        NOT (toDayOfWeek(expiration_date) = 5
             AND toDayOfMonth(expiration_date) BETWEEN 15 AND 21)) AS non_monthly_expirations,
    arrayStringConcat(
        arrayMap(d -> arrayElement(['Mon', 'Tue', 'Wed', 'Thu', 'Fri'], d),
                 arraySort(groupUniqArray(toDayOfWeek(expiration_date)))),
        ' ')                                                    AS expiry_weekdays
FROM global_markets.options_greeks
WHERE date >= today() - 35
  AND date < today()
  AND expiration_date < today() + 60
  AND toDayOfWeek(expiration_date) <= 5
  AND volume > 0
  AND underlying_symbol NOT IN ('SPCX')
GROUP BY underlying_symbol
HAVING non_monthly_expirations > 0
ORDER BY contracts_thousands DESC, symbol
LIMIT 25

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 analysiswhich-stocks-have-weekly-options
by_weekday ranking 6×2 weekly_share ranking 4×2 aapl_chain series 12×5 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 When market headlines publish, by New York clock hour ranking 24×2 See all 2,191 queries →