Options Approval Denied? What to Do Next
Large single-session SPY declines by calendar yearranking ·
2026-10-09 · 11×3
Options Approval Levels: What Each Tier Allows
Every $5 call spread on the same AAPL expiration: risk against maximum gainranking ·
2026-10-04 · 7×3
Largest single-session move, open to close, since 2016ranking ·
2026-10-04 · 6×4
What a covered call collects across strikes: AAPL, about one month outtable ·
2026-10-04 · 6×5
Cash needed to hold 100 shares, six household namesranking ·
2026-10-04 · 6×3
Large single-session SPY declines by calendar year
Large single-session SPY declines by calendar year
| year | sessions_down_2pct | worst_day_pct |
|---|---|---|
| 2020 | 24 | -10.94 |
| 2022 | 23 | -4.35 |
| 2018 | 14 | -4.18 |
| 2025 | 8 | -5.85 |
| 2021 | 6 | -2.44 |
| 2016 | 5 | -3.64 |
| 2019 | 5 | -3.01 |
| 2024 | 4 | -2.98 |
| 2026 | 2 | -2.58 |
| 2023 | 1 | -2.01 |
| 2017 | 0 | -1.77 |
the exact SQL behind every number
SELECT
toYear(session_date) AS year,
countIf(ret_pct <= -2) AS sessions_down_2pct,
round(min(ret_pct), 2) AS worst_day_pct
FROM
(
SELECT
session_date,
c,
lagInFrame(c) OVER (ORDER BY session_date ASC ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) AS prev_c,
if(prev_c > 0, round(100 * (c / prev_c - 1), 2), NULL) AS ret_pct
FROM
(
SELECT
date AS session_date,
toFloat64(max(close)) AS c
FROM global_markets.stocks_daily_aggs
WHERE ticker = 'SPY'
AND date >= '2016-01-01'
AND date < today()
GROUP BY date
)
)
WHERE ret_pct IS NOT NULL
GROUP BY year
ORDER BY sessions_down_2pct DESC, year ASC
Related queries
Every $5 call spread on the same AAPL expiration: risk against maximum gain
ranking 7×3
→
Largest single-session move, open to close, since 2016
ranking 6×4
→
Cash needed to hold 100 shares, six household names
ranking 6×3
→
What a covered call collects across strikes: AAPL, about one month out
table 6×5
→
See all 3,256 queries →