After-Hours Trading on Holidays and Weekends
Average SPY minute bars per calendar day, by weekdayseries ·
2026-11-01 · 7×4
Upcoming US market closures and early closesseries ·
2026-11-01 · 12×7
SPY minute bars by ET clock hour: a normal day, a holiday, a half dayranking ·
2026-11-01 · 15×4
First and last SPY print, Thanksgiving 2025 week and the week afterseries ·
2026-11-01 · 12×5
Average SPY minute bars per calendar day, by weekday
Average SPY minute bars per calendar day, by weekday
| weekday | avg_minute_bars | days_with_any_trading | days_counted |
|---|---|---|---|
| Mon | 833 | 17 | 18 |
| Tue | 886.3 | 18 | 18 |
| Wed | 887.4 | 18 | 18 |
| Thu | 895.8 | 18 | 18 |
| Fri | 820.2 | 16 | 17 |
| Sat | 0 | 0 | 17 |
| Sun | 0 | 0 | 18 |
the exact SQL behind every number
SELECT
formatDateTime(cal.day, '%a') AS weekday,
round(avg(ifNull(t.bars, 0)), 1) AS avg_minute_bars,
countIf(ifNull(t.bars, 0) > 0) AS days_with_any_trading,
count() AS days_counted
FROM
(
SELECT today() - 126 + arrayJoin(range(126)) AS day
) AS cal
LEFT JOIN
(
SELECT
toDate(toTimeZone(window_start, 'America/New_York')) AS d,
count() AS bars
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY'
AND window_start >= today() - 130
GROUP BY d
) AS t ON t.d = cal.day
WHERE cal.day <= today() - 3
GROUP BY weekday, toDayOfWeek(cal.day)
ORDER BY toDayOfWeek(cal.day)
More from this analysisAfter-Hours Trading on Holidays and Weekends
Upcoming US market closures and early closes
series 12×7
→
First and last SPY print, Thanksgiving 2025 week and the week after
series 12×5
→
SPY minute bars by ET clock hour: a normal day, a holiday, a half day
ranking 15×4
→
SPY daily bar volume vs. the regular-session slice (trailing month)
series 20×5
→
See all 3,293 queries →