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

2,173 answered market questions

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

How Futures Margin Works: SPAN and Calls
SPY typical and largest daily move, month by month since 2019series · 2026-08-10 · 91×4Preview: a 16-point series, ending higher. Short term Treasury yields, the reference a stock margin loan is priced offseries · 2026-08-10 · 91×4Preview: a 16-point series, ending higher. One day move size across six household names, five years to July 2026ranking · 2026-08-10 · 6×3Preview: 6 ranked values, largest first. A decade of SPY daily closing moves, sorted into size bucketsranking · 2026-08-10 · 6×3Preview: 6 ranked values, largest first.
SPY typical and largest daily move, month by month since 2019

SPY typical and largest daily move, month by month since 2019

most recentas of series 91×4read in context →
SPY typical and largest daily move, month by month since 2019 — 91 rows by 4 columns, computed from US exchange, SIP and OPRA data.
monthmonth_labelmedian_move_pctlargest_move_pct
2019-01-01Jan 20190.773.35
2019-02-01Feb 20190.21.29
2019-03-01Mar 20190.381.92
2019-04-01Apr 20190.21.19
2019-05-01May 20190.672.51
2019-06-01Jun 20190.442.17
2019-07-01Jul 20190.461.09
2019-08-01Aug 20190.993.01
2019-09-01Sep 20190.331.29
2019-10-01Oct 20190.441.77
2019-11-01Nov 20190.220.93
2019-12-01Dec 20190.280.91
2020-01-01Jan 20200.381.82
2020-02-01Feb 20200.534.49
2020-03-01Mar 20204.610.94
2020-04-01Apr 20201.766.72
2020-05-01May 20201.113.05
2020-06-01Jun 20201.045.76
2020-07-01Jul 20200.751.54
2020-08-01Aug 20200.361.39
2020-09-01Sep 20201.113.44
2020-10-01Oct 20200.893.42
2020-11-01Nov 20200.862.23
2020-12-01Dec 20200.331.35
2021-01-01Jan 20210.672.44
2021-02-01Feb 20210.432.41
2021-03-01Mar 20210.622.42
2021-04-01Apr 20210.491.44
2021-05-01May 20210.672.12
2021-06-01Jun 20210.191.67
2021-07-01Jul 20210.461.48
2021-08-01Aug 20210.271.09
2021-09-01Sep 20210.362.02
2021-10-01Oct 20210.441.68
2021-11-01Nov 20210.342.23
2021-12-01Dec 20210.912.07
2022-01-01Jan 20220.742.48
2022-02-01Feb 20221.072.35
2022-03-01Mar 20221.242.95
2022-04-01Apr 20221.073.7
2022-05-01May 20220.884.03
2022-06-01Jun 20221.093.8
2022-07-01Jul 20220.972.7
2022-08-01Aug 20220.663.38
2022-09-01Sep 20221.144.35
2022-10-01Oct 20221.173.1
2022-11-01Nov 20220.855.5
2022-12-01Dec 20220.782.45
2023-01-01Jan 20230.752.29
2023-02-01Feb 20230.872.01
2023-03-01Mar 20230.961.84
2023-04-01Apr 20230.381.99
2023-05-01May 20230.611.85
2023-06-01Jun 20230.521.45
2023-07-01Jul 20230.310.98
2023-08-01Aug 20230.631.45
2023-09-01Sep 20230.431.65
2023-10-01Oct 20230.681.44
2023-11-01Nov 20230.231.94
2023-12-01Dec 20230.441.39
2024-01-01Jan 20240.371.63
2024-02-01Feb 20240.432.07
2024-03-01Mar 20240.531.08
2024-04-01Apr 20240.71.58
2024-05-01May 20240.391.24
2024-06-01Jun 20240.251.19
2024-07-01Jul 20240.612.27
2024-08-01Aug 20240.732.91
2024-09-01Sep 20240.42.06
2024-10-01Oct 20240.381.96
2024-11-01Nov 20240.422.49
2024-12-01Dec 20240.432.98
2025-01-01Jan 20250.551.82
2025-02-01Feb 20250.461.71
2025-03-01Mar 20251.082.66
2025-04-01Apr 20251.5510.5
2025-05-01May 20250.583.3
2025-06-01Jun 20250.551.12
2025-07-01Jul 20250.310.85
2025-08-01Aug 20250.421.64
2025-09-01Sep 20250.380.84
2025-10-01Oct 20250.442.7
2025-11-01Nov 20250.841.66
2025-12-01Dec 20250.351.1
2026-01-01Jan 20260.312.04
2026-02-01Feb 20260.51.92
2026-03-01Mar 20260.792.91
2026-04-01Apr 20260.582.55
2026-05-01May 20260.471.39
2026-06-01Jun 20260.72.58
2026-07-01Jul 20260.451.68
the exact SQL behind every number
WITH spy AS
(
    SELECT
        date,
        toFloat64(close) AS close_px,
        lagInFrame(toFloat64(close)) OVER
            (ORDER BY date ASC ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) AS prev_close
    FROM global_markets.stocks_daily_aggs
    WHERE ticker = 'SPY'
      AND date >= '2019-01-01'
      AND date <  '2026-08-01'
)
SELECT
    toString(toStartOfMonth(date))                AS month,
    formatDateTime(toStartOfMonth(date), '%b %Y') AS month_label,
    round(quantileDeterministic(0.50)(abs(close_px / prev_close - 1) * 100,
                                      toUInt64(toUnixTimestamp(date))), 2) AS median_move_pct,
    round(max(abs(close_px / prev_close - 1) * 100), 2)                    AS largest_move_pct
FROM spy
WHERE prev_close > 0
GROUP BY month, month_label
ORDER BY month
$