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

2,170 answered market questions

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

Quadruple Witching vs Triple Witching
SPY volume on quarterly expiration Fridays, against the average ordinary Fridayseries · 2026-08-22 · 13×4Preview: a 13-point series, ending higher. Share of SPY regular hours volume by half hour: expiration Friday vs the Friday afterseries · 2026-08-22 · 14×3Preview: a 14-point series, ending lower. Average absolute open to close move on SPY Fridays, expiration vs ordinary, by yearranking · 2026-08-22 · 10×4Preview: 10 ranked values, smallest first. Percent of regular hours volume printed in the 4:00 p.m. minute, six large listingsranking · 2026-08-22 · 6×3Preview: 6 ranked values, largest first.
SPY volume on quarterly expiration Fridays, against the average ordinary Friday

SPY volume on quarterly expiration Fridays, against the average ordinary Friday

most recentas of series 13×4read in context →
SPY volume on quarterly expiration Fridays, against the average ordinary Friday — 13 rows by 4 columns, computed from US exchange, SIP and OPRA data.
session_datesession_labelspy_volume_millionsvs_ordinary_friday_ratio
2023-03-17Mar 2023140.41.87
2023-06-16Jun 2023114.21.52
2023-09-15Sep 2023111.81.49
2023-12-15Dec 2023141.61.89
2024-03-15Mar 2024107.61.43
2024-06-21Jun 202463.40.84
2024-09-20Sep 202477.51.03
2024-12-20Dec 2024124.71.66
2025-03-21Mar 202583.81.12
2025-06-20Jun 202594.11.25
2025-09-19Sep 202597.91.3
2025-12-19Dec 2025103.51.38
2026-03-20Mar 2026165.62.21
the exact SQL behind every number
WITH fridays AS
(
    SELECT
        date,
        toFloat64(volume) AS vol,
        (toMonth(date) IN (3, 6, 9, 12) AND toDayOfMonth(date) BETWEEN 15 AND 21) AS is_expiry
    FROM global_markets.stocks_daily_aggs
    WHERE ticker = 'SPY'
      AND date >= '2023-01-01'
      AND date <  today()
      AND toDayOfWeek(date) = 5
),
ordinary AS
(
    SELECT avg(vol) AS avg_ordinary_friday
    FROM fridays
    WHERE is_expiry = 0
)
SELECT
    toString(f.date)                         AS session_date,
    formatDateTime(f.date, '%b %Y')          AS session_label,
    round(f.vol / 1e6, 1)                    AS spy_volume_millions,
    round(f.vol / o.avg_ordinary_friday, 2)  AS vs_ordinary_friday_ratio
FROM fridays AS f
CROSS JOIN ordinary AS o
WHERE f.is_expiry = 1
ORDER BY f.date
$