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_outcomes

expiry_outcomes

as of ranking 5×2read in context →
expiry_outcomes — 5 rows by 2 columns, computed from US exchange, SIP and OPRA data.
outcomeexpiries
1. Finished at or near zero (5% of the premium or less)10
2. Lost more than half1
3. Lost up to half5
4. Gained, less than doubled1
5. Doubled or better4
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
    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
),
outcomes AS
(
    SELECT
        a.exp_date                                          AS exp_date,
        greatest(s.spot - a.strike, 0.0) / a.premium_before AS premium_ratio
    FROM atm AS a
    INNER JOIN spy_by_day AS s
        ON s.d = a.exp_date
)
SELECT
    tupleElement(b, 1)                                                                         AS outcome,
    countIf(o.premium_ratio >= tupleElement(b, 2) AND o.premium_ratio < tupleElement(b, 3))    AS expiries
FROM
(
    SELECT arrayJoin([
        ('1. Finished at or near zero (5% of the premium or less)', -1.0, 0.05),
        ('2. Lost more than half',                                   0.05, 0.5),
        ('3. Lost up to half',                                       0.5,  1.0),
        ('4. Gained, less than doubled',                             1.0,  2.0),
        ('5. Doubled or better',                                     2.0,  1000000.0)
    ]) AS b
) AS buckets
CROSS JOIN outcomes AS o
GROUP BY outcome
ORDER BY outcome
$