The 3-5-7 Rule in Options, Examined
One-day move profile, seven household names, July 2025 to June 2026table ·
2026-08-15 · 7×6
S&P 500 tracker (SPY): down sessions by calendar year, 2016 to mid-2026table ·
2026-08-15 · 11×5
Worst five-session stretch and deepest in-window drawdown, July 2025 to June 2026ranking ·
2026-08-15 · 7×4
What Are Put Options?
One SPY $740 put vs the stock's distance from the strike (expired Jun 18 2026)series ·
2026-08-13 · 31×3
The same put at SPY's June peak vs its June troughseries ·
2026-08-13 · 2×6
The SPY put's delta stayed negative through its whole lifeseries ·
2026-08-13 · 31×2
How to Read an Option Chain, Column by Column
Where the trading happened: SPY contract volume by strike, August 21 2026 expiry, July 15 2026ranking ·
2026-07-31 · 8×3
Median quoted bid and ask by strike: SPY calls expiring August 21 2026, regular session of July 15 2026table ·
2026-07-31 · 7×5
Implied volatility by strike: SPY options expiring August 21 2026, as of July 15 2026ranking ·
2026-07-31 · 11×3
SPY option volume by time to expiration, July 15 2026ranking ·
2026-07-31 · 5×4
One expiration of the SPY chain: closing prices and delta by strike, August 21 2026 expiry, as of July 15 2026table ·
2026-07-31 · 8×6
One-day move profile, seven household names, July 2025 to June 2026
One-day move profile, seven household names, July 2025 to June 2026
| ticker | sessions | median_abs_move_pct | p95_abs_move_pct | pct_days_beyond_3 | worst_day_pct |
|---|---|---|---|---|---|
| SPY | 250 | 0.46 | 1.62 | 0 | -2.69 |
| KO | 250 | 0.65 | 2.11 | 1.2 | -2.56 |
| JNJ | 250 | 0.63 | 2.21 | 1.6 | -2.42 |
| AAPL | 250 | 0.68 | 3.23 | 7.2 | -6.15 |
| MSFT | 250 | 0.76 | 3.37 | 8.4 | -10.02 |
| NVDA | 250 | 1.37 | 4.35 | 16.4 | -6.22 |
| TSLA | 250 | 1.83 | 5.45 | 30.4 | -8.39 |
the exact SQL behind every number
WITH daily AS (
SELECT ticker,
toDate(toTimeZone(window_start, 'America/New_York')) AS d,
toFloat64(argMax(close, window_start)) AS px
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker IN ('SPY', 'KO', 'JNJ', 'AAPL', 'MSFT', 'NVDA', 'TSLA')
AND toDate(toTimeZone(window_start, 'America/New_York')) >= toDate('2025-07-01')
AND toDate(toTimeZone(window_start, 'America/New_York')) <= toDate('2026-06-30')
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959
GROUP BY ticker, d
),
moves AS (
SELECT ticker, d,
100 * (px / any(px) OVER (PARTITION BY ticker ORDER BY d
ROWS BETWEEN 1 PRECEDING AND 1 PRECEDING) - 1) AS move_pct
FROM daily
)
SELECT ticker,
count() AS sessions,
round(quantileDeterministic(0.5)(abs(move_pct), cityHash64(ticker, d)), 2) AS median_abs_move_pct,
round(quantileDeterministic(0.95)(abs(move_pct), cityHash64(ticker, d)), 2) AS p95_abs_move_pct,
round(100 * countIf(abs(move_pct) >= 3) / count(), 1) AS pct_days_beyond_3,
round(min(move_pct), 2) AS worst_day_pct
FROM moves
WHERE isFinite(move_pct)
GROUP BY ticker
ORDER BY p95_abs_move_pct
More from this analysisThe 3-5-7 Rule in Options, Examined
S&P 500 tracker (SPY): down sessions by calendar year, 2016 to mid-2026
table 11×5
→
Worst five-session stretch and deepest in-window drawdown, July 2025 to June 2026
ranking 7×4
→
The same Kelly calculation on the S&P 500 tracker, year by year, 2016 through 2025
table 10×5
→
One expiration of the SPY chain: closing prices and delta by strike, August 21 2026 expiry, as of July 15 2026
table 8×6
→
See all 2,170 queries →