STRASMORE/EXPLORE 3,256 QUERIES 22Y EQUITIES · 12Y OPTIONS

3,256 answered market questions

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

Does IPO GMP Predict Listing Gains?
Dispersion of the opening move, by first-session dollar turnoverranking · 2026-10-03 · 4×4Preview: 4 ranked values, largest first. Median listing-day move versus the offer price, by listing yearranking · 2026-10-03 · 10×4Preview: 10 ranked values, smallest first. Median open-to-close move, grouped by the size of the opening moveranking · 2026-10-03 · 5×3Preview: 5 ranked values, largest first. Offer to open, and open to close, on the heaviest-traded recent listing daysranking · 2026-10-03 · 12×3Preview: 12 ranked values, largest first.
How to Read an Event Contract Ladder
One threshold, re-read every session: implied probability above a fixed strikeseries · 2026-10-01 · 28×3Preview: a 16-point series, ending lower. A real strike ladder: SPY call prices by threshold, one pinned sessionranking · 2026-10-01 · 12×3Preview: 12 ranked values, smallest first. Ladder audit by expiration: rung count, ordering breaks, and probability inside the 8% bandseries · 2026-10-01 · 5×4Preview: a 5-point series, roughly flat. Differencing the rungs: probability above each threshold, and the bucket between themranking · 2026-10-01 · 11×3Preview: 11 ranked values, smallest first.
Brier Score: How to Grade a Forecast
Brier score of the market's own stated probability, by underlyingranking · 2026-08-13 · 6×4Preview: 6 ranked values, smallest first. The market's Brier score across expiry horizons, SPYranking · 2026-08-13 · 6×4Preview: 6 ranked values, smallest first. SPY option deltas against how often those contracts finished in the moneyranking · 2026-08-13 · 10×4Preview: 10 ranked values, smallest first.
Dispersion of the opening move, by first-session dollar turnover

Dispersion of the opening move, by first-session dollar turnover

most recentas of ranking 4×4read in context →
Dispersion of the opening move, by first-session dollar turnover — 4 rows by 4 columns, computed from US exchange, SIP and OPRA data.
day1_turnover_tierlistingsmedian_offer_to_open_pctp10_to_p90_spread
under $5M traded17812.161672.8
$5M to $50M6521.21917.8
$50M to $500M8943.864.1
$500M and up15232.8103.9
the exact SQL behind every number
WITH day_one AS
(
    SELECT
        i.ticker                                          AS ticker,
        i.list_date                                       AS list_date,
        (toFloat64(d.open_px) / i.offer_price - 1) * 100  AS offer_to_open,
        toFloat64(d.open_px) * toFloat64(d.day_volume)    AS day1_turnover
    FROM
    (
        SELECT
            ticker,
            toDate(argMax(listing_date, last_updated))         AS list_date,
            argMax(toFloat64(final_issue_price), last_updated) AS offer_price
        FROM global_markets.stocks_ipos
        WHERE listing_date >= '2017-01-01'
          AND listing_date <  '2026-09-01'
          AND final_issue_price > 0
          AND currency_code = 'USD'
          AND ticker NOT IN ('SPCX')
        GROUP BY ticker
    ) AS i
    INNER JOIN
    (
        SELECT
            ticker,
            date,
            max(open)   AS open_px,
            max(volume) AS day_volume
        FROM global_markets.stocks_daily_aggs
        WHERE date >= '2017-01-01'
          AND date <  '2026-09-01'
        GROUP BY ticker, date
    ) AS d
        ON d.ticker = i.ticker AND d.date = i.list_date
    WHERE d.day_volume > 0
      AND d.open_px > 0
      AND i.offer_price > 0
)
SELECT
    multiIf(day1_turnover <   5000000, 'under $5M traded',
            day1_turnover <  50000000, '$5M to $50M',
            day1_turnover < 500000000, '$50M to $500M',
                                       '$500M and up') AS day1_turnover_tier,
    count()                                            AS listings,
    round(quantileDeterministic(0.5)(offer_to_open, cityHash64(ticker)), 1) AS median_offer_to_open_pct,
    round(quantileDeterministic(0.9)(offer_to_open, cityHash64(ticker))
        - quantileDeterministic(0.1)(offer_to_open, cityHash64(ticker)), 1) AS p10_to_p90_spread
FROM day_one
GROUP BY day1_turnover_tier
ORDER BY min(day1_turnover)
$