STRASMORE/EXPLORE 2,358 QUERIES 22Y EQUITIES · 12Y OPTIONS

2,358 answered market questions

every one with its exact SQL, its result and the date it was computed · free, no signup

where-to-find-options-trade-data
venue_sharetable · 2026-09-18 · 18×5 session_clockseries · 2026-09-18 · 14×5Preview: a 14-point series, ending higher. largest_printstable · 2026-09-18 · 10×7 iv_skewtable · 2026-09-18 · 29×4
what-is-the-cme-cvol-index
spy_term_structureranking · 2026-09-18 · 7×2Preview: 7 ranked values, largest first. spy_strike_weightsranking · 2026-09-18 · 11×4Preview: 11 ranked values, largest first.
what-are-tokenized-stocks
volume_by_segmentranking · 2026-09-18 · 5×3Preview: 5 ranked values, largest first. off_hours_shareranking · 2026-09-18 · 5×3Preview: 5 ranked values, largest first. aapl_dividendsseries · 2026-09-18 · 11×7Preview: a 11-point series, ending lower.
upcoming-ipo-lockup-expirations
prospectus_receiptstable · 2026-09-18 · 50×4 price_vs_offertable · 2026-09-18 · 51×5 lockup_pipelineseries · 2026-09-18 · 13×3Preview: a 13-point series, ending lower. lockup_calendartable · 2026-09-18 · 57×8 early_release_watchtable · 2026-09-18 · 25×6
upcoming-dividend-payment-dates
sector_gaptable · 2026-09-18 · 7×5 pay_daysseries · 2026-09-18 · 12×4Preview: a 12-point series, ending higher. pay_calendartable · 2026-09-18 · 30×8 gap_bucketsranking · 2026-09-18 · 6×4Preview: 6 ranked values, largest first.
the-september-effect
worst_septembersranking · 2026-09-18 · 3×2Preview: 3 ranked values, smallest first. septembers_by_yearranking · 2026-09-18 · 22×2Preview: 16 ranked values, smallest first. monthlytable · 2026-09-18 · 12×6 decadesranking · 2026-09-18 · 3×4Preview: 3 ranked values, largest first.
stock-split-candidates
stubborntable · 2026-09-18 · 12×5 split_historytable · 2026-09-18 · 16×6 candidatestable · 2026-09-18 · 15×8 aapl_traceseries · 2026-09-18 · 84×4Preview: a 16-point series, ending lower. aapl_splitstable · 2026-09-18 · 3×5
nasdaq-opening-cross-explained
open_minute_shareranking · 2026-09-18 · 5×4Preview: 5 ranked values, largest first. open_conditionsranking · 2026-09-18 · 14×3Preview: 14 ranked values, smallest first. aapl_open_minute_traceseries · 2026-09-18 · 21×4Preview: a 16-point series, ending higher.
market-wide-circuit-breakers-explained
trigger_levelstable · 2026-09-18 · 3×7 march_2020_sessionsseries · 2026-09-18 · 22×6Preview: a 16-point series, ending lower. halt_daysseries · 2026-09-18 · 4×8Preview: a 4-point series, ending lower. daily_recalcseries · 2026-09-18 · 15×5Preview: a 15-point series, ending lower.
how-much-money-do-you-need-to-trade-options
spread_ladderranking · 2026-09-18 · 8×3Preview: 8 ranked values, largest first. put_traceseries · 2026-09-18 · 31×5Preview: a 16-point series, ending lower. put_laddertable · 2026-09-18 · 8×5 call_laddertable · 2026-09-18 · 8×5
how-long-can-a-stock-trade-under-1-dollar
sub_dollar_trendseries · 2026-09-18 · 105×3Preview: a 16-point series, ending higher. streaksranking · 2026-09-18 · 4×3Preview: 4 ranked values, largest first. reverse_splits_monthlyseries · 2026-09-18 · 12×3Preview: a 12-point series, roughly flat. price_bucketsranking · 2026-09-18 · 5×4Preview: 5 ranked values, smallest first.
free-stock-data-api-in-python
avg_volume_by_tickerseries · 2026-09-18 · 4×4Preview: a 4-point series, ending lower. aapl_volume_traceseries · 2026-09-18 · 34×3Preview: a 16-point series, ending lower.
are-0dte-options-high-risk
strike_gammaranking · 2026-09-18 · 9×3Preview: 9 ranked values, largest first. premium_laddertable · 2026-09-18 · 5×5 greeks_ladderseries · 2026-09-18 · 5×5Preview: a 5-point series, ending lower. expiry_outcomesranking · 2026-09-18 · 5×2Preview: 5 ranked values, largest first. expiry_dayseries · 2026-09-18 · 21×6Preview: a 16-point series, ending lower.
when-do-vix-options-expire
wednesday_expiriesranking · 2026-09-17 · 12×3Preview: 12 ranked values, largest first.
what-is-the-3m10y-spread
recentseries · 2026-09-17 · 60×6Preview: a 16-point series, ending higher. monthlyseries · 2026-09-17 · 241×4Preview: a 16-point series, ending higher. inversionsseries · 2026-09-17 · 9×6Preview: a 9-point series, roughly flat. front_endseries · 2026-09-17 · 42×5Preview: a 16-point series, ending higher. episodes_comparedtable · 2026-09-17 · 3×9
what-does-cross-mean-in-trading
quote_statesranking · 2026-09-17 · 3×4Preview: 3 ranked values, largest first. cross_minutesseries · 2026-09-17 · 7×4Preview: a 7-point series, roughly flat. cross_codestable · 2026-09-17 · 13×5
Weekly Market Recap: The Week in Numbers
Where the volume went: most dollars traded over the past weekranking · 2026-09-17 · 8×2Preview: 8 ranked values, largest first. The eleven S&P 500 sectors over the past weekranking · 2026-09-17 · 11×2Preview: 11 ranked values, largest first. Biggest stock losers over the past weekranking · 2026-09-17 · 7×3Preview: 7 ranked values, smallest first. The major index ETFs over the past weekranking · 2026-09-17 · 4×4Preview: 4 ranked values, largest first. Biggest stock gainers over the past weekranking · 2026-09-17 · 7×3Preview: 7 ranked values, largest first. Daily market breadth: advancers vs decliners each session (names trading $500M+)series · 2026-09-17 · 5×3Preview: a 5-point series, roughly flat.
Upcoming Stock Splits Calendar
Upcoming US stock splits: announced, with a future effective datetable · 2026-09-17 · 30×5 Announced upcoming splits by directionranking · 2026-09-17 · 2×2Preview: 2 ranked values, largest first. Announced stock splits by effective month: forward vs reverseseries · 2026-09-17 · 4×4Preview: a 4-point series, ending lower.
Unusual Volume Stocks This Week, Measured
How the whole qualifying universe traded this week, bucketed by relative volumeranking · 2026-09-17 · 7×4Preview: 7 ranked values, smallest first. Persistence check: the eight leaders' daily relative volume across the five sessionstable · 2026-09-17 · 8×5 Highest relative volume this week: trailing 5 sessions vs. the prior 40, for names trading $500M+ in the weekseries · 2026-09-17 · 8×6Preview: a 8-point series, roughly flat. The board leader, day by day: daily relative volume and open-to-close change (last 15 sessions)series · 2026-09-17 · 15×5Preview: a 15-point series, roughly flat. Wild multiples the dollar floor removes: highest relative volume among names trading under $500M this weekseries · 2026-09-17 · 6×5Preview: a 6-point series, ending higher.
Unusual Options Activity: Last Session
Market-wide options volume by session, with monthly expirations labelledseries · 2026-09-17 · 25×5Preview: a 16-point series, ending higher. Calls or puts: the board's call and put contract volume on the same sessiontable · 2026-09-17 · 10×5 What follows a heavy options session: next-session absolute move vs. the same names on an ordinary daytable · 2026-09-17 · 5×6 What the session's contracts were made of: options volume by days to expiryranking · 2026-09-17 · 6×4Preview: 6 ranked values, largest first. Unusual options activity: last completed session vs. each underlying's own 20-session averagetable · 2026-09-17 · 10×8
twap-vs-vwap-vs-pov-orders
volume_curveseries · 2026-09-17 · 13×4Preview: a 13-point series, roughly flat. open_vs_lunchtable · 2026-09-17 · 5×6 lunch_povseries · 2026-09-17 · 13×4Preview: a 13-point series, ending higher. curve_dispersionseries · 2026-09-17 · 13×4Preview: a 13-point series, ending higher.
the-7-5-3-1-rule-mutual-funds
worst_windowstable · 2026-09-17 · 8×6 step_uptable · 2026-09-17 · 10×5 rolling_7yseries · 2026-09-17 · 193×5Preview: a 16-point series, ending higher. return_bucketsranking · 2026-09-17 · 5×3Preview: 5 ranked values, smallest first.
the-390-rule-in-options-trading
spy_trade_sizesranking · 2026-09-17 · 5×3Preview: 5 ranked values, largest first. spy_option_paceseries · 2026-09-17 · 14×3Preview: a 14-point series, ending lower. session_shapeseries · 2026-09-17 · 16×3Preview: a 16-point series, roughly flat. one_lot_shareranking · 2026-09-17 · 6×4Preview: 6 ranked values, largest first.
Short Squeeze Candidates This Week
Squeeze-shaped mechanics: crowded shorts among liquid names, with a rising priceranking · 2026-09-17 · 12×4Preview: 12 ranked values, largest first. The screened names ranked by short interest against shares outstanding (not float)table · 2026-09-17 · 10×5 Every past screened name, by what it did over the next 30 daysranking · 2026-09-17 · 6×3Preview: 6 ranked values, smallest first. From the whole settlement file down to the screened list, one rule at a timeranking · 2026-09-17 · 4×2Preview: 4 ranked values, largest first. Every input behind this screen, and how many days old it isseries · 2026-09-17 · 3×3Preview: a 3-point series, ending lower. Liquid names at 5+ and 10+ days to cover, settlement by settlementseries · 2026-09-17 · 12×4Preview: a 12-point series, ending higher.
santa-claus-rally
worst_windowstable · 2026-09-17 · 5×5 window_vs_decembertable · 2026-09-17 · 3×8 window_volumeranking · 2026-09-17 · 7×4Preview: 7 ranked values, smallest first. santa_windowstable · 2026-09-17 · 23×5 folklore_testtable · 2026-09-17 · 2×6
page 1 of 24
expiry_day

expiry_day

as of series 21×6read in context →
expiry_day — 21 rows by 6 columns, computed from US exchange, SIP and OPRA data.
expiry_dateexpiry_labelpremium_prior_closevalue_at_expirypct_of_premium_leftspy_move_pct
2026-06-01Mon Jun 12.50.58230.12
2026-06-02Tue Jun 22.712.63970.4
2026-06-03Wed Jun 31.6200-1.2
2026-06-04Thu Jun 43.993.56890.53
2026-06-05Fri Jun 52.9800-2.54
2026-06-08Mon Jun 83.953.72940.46
2026-06-09Tue Jun 92.7500-0.41
2026-06-10Wed Jun 103.6100-1.74
2026-06-11Thu Jun 115.4416.483032.3
2026-06-12Fri Jun 123.53.45990.4
2026-06-15Mon Jun 153.4811.913421.54
2026-06-16Tue Jun 162.2200-0.42
2026-06-17Wed Jun 172.2300-0.69
2026-06-18Thu Jun 180.890.941060.18
2026-06-22Mon Jun 223.1500-0.44
2026-06-23Tue Jun 232.7800-1.16
2026-06-24Wed Jun 242.752.2800.3
2026-06-25Thu Jun 252.6800-0.61
2026-06-26Fri Jun 263.6100-0.2
2026-06-29Mon Jun 293.869.762531.31
2026-06-30Tue Jun 302.315.32290.75
the exact SQL behind every number
WITH spy_by_day AS
(
    SELECT
        toDate(date)                             AS d,
        medianExact(toFloat64(underlying_close)) AS spot
    FROM global_markets.options_greeks
    WHERE underlying_symbol = 'SPY'
      AND date >= toDate('2026-06-01')
      AND date <  toDate('2026-07-01')
      AND underlying_close > 0
    GROUP BY d
),
last_sessions AS
(
    SELECT
        toDate(expiration_date) AS exp_date,
        max(toDate(date))       AS prior_session
    FROM global_markets.options_greeks
    WHERE underlying_symbol = 'SPY'
      AND expiration_date >= toDate('2026-06-01')
      AND expiration_date <  toDate('2026-07-01')
      AND date >= toDate('2026-05-22')
      AND date <  expiration_date
      AND volume > 0
    GROUP BY exp_date
),
atm AS
(
    SELECT
        toDate(g.expiration_date)                                                                                AS exp_date,
        argMin(toFloat64(g.strike_price), abs(toFloat64(g.strike_price) - toFloat64(g.underlying_close)))        AS strike,
        argMin(toFloat64(g.option_close), abs(toFloat64(g.strike_price) - toFloat64(g.underlying_close)))        AS premium_before,
        argMin(toFloat64(g.underlying_close), abs(toFloat64(g.strike_price) - toFloat64(g.underlying_close)))    AS spy_before
    FROM global_markets.options_greeks AS g
    INNER JOIN last_sessions AS ls
        ON ls.exp_date = toDate(g.expiration_date) AND ls.prior_session = toDate(g.date)
    WHERE g.underlying_symbol = 'SPY'
      AND lower(toString(g.option_type)) IN ('call', 'c')
      AND g.date >= toDate('2026-05-22')
      AND g.date <  toDate('2026-07-01')
      AND g.volume > 0
      AND g.option_close > 0
    GROUP BY exp_date
)
SELECT
    toString(a.exp_date)                                                                   AS expiry_date,
    concat(formatDateTime(a.exp_date, '%a %b '), toString(toDayOfMonth(a.exp_date)))       AS expiry_label,
    round(a.premium_before, 2)                                                             AS premium_prior_close,
    round(greatest(s.spot - a.strike, 0.0), 2)                                             AS value_at_expiry,
    round(greatest(s.spot - a.strike, 0.0) / a.premium_before * 100, 0)                    AS pct_of_premium_left,
    round((s.spot / a.spy_before - 1) * 100, 2)                                            AS spy_move_pct
FROM atm AS a
INNER JOIN spy_by_day AS s
    ON s.d = a.exp_date
ORDER BY a.exp_date
$