SPY: average overnight repricing vs average regular-session move, monthly
Answered against 22 years of US equities and 12 years of US options data and published with the query that produced it. This result is stored as of 2026-08-01, from AI Daily Market Research Reports: What Breaks.
| month | overnight_move_pct | session_move_pct |
|---|---|---|
| 2024-08 | 0.618 | 0.634 |
| 2024-09 | 0.334 | 0.443 |
| 2024-10 | 0.301 | 0.423 |
| 2024-11 | 0.326 | 0.368 |
| 2024-12 | 0.316 | 0.53 |
| 2025-01 | 0.546 | 0.536 |
| 2025-02 | 0.318 | 0.667 |
| 2025-03 | 0.57 | 0.876 |
| 2025-04 | 1.305 | 1.898 |
| 2025-05 | 0.7 | 0.415 |
| 2025-06 | 0.32 | 0.414 |
| 2025-07 | 0.226 | 0.325 |
| 2025-08 | 0.255 | 0.442 |
| 2025-09 | 0.263 | 0.304 |
| 2025-10 | 0.382 | 0.512 |
| 2025-11 | 0.476 | 0.686 |
| 2025-12 | 0.237 | 0.384 |
| 2026-01 | 0.336 | 0.324 |
| 2026-02 | 0.313 | 0.672 |
| 2026-03 | 0.724 | 0.725 |
| 2026-04 | 0.45 | 0.466 |
| 2026-05 | 0.316 | 0.338 |
| 2026-06 | 0.513 | 0.619 |
| 2026-07 | 0.42 | 0.371 |
- Rows × columns
- 24 × 3
- Period covered
- to
- Computed
- Completeness
- No missing values
- Source
- US exchange, SIP and OPRA market data
- Licence
- Strasmore terms · free, no signup
What each column holds
| Column | Type | Range | Notes |
|---|---|---|---|
month |
date | 2024-08 to 2026-07 | |
overnight_move_pct |
number | 0.226 to 1.305 | percent |
session_move_pct |
number | 0.304 to 1.898 | percent |
Computed from Strasmore's warehouse of US exchange, SIP and OPRA market data. Equity prices are delayed; options greeks and implied volatility are end-of-day. This result is stored, not recomputed on load — it is exactly the numbers that were returned on , and the query below is what returned them.
the exact SQL behind every number
WITH bars AS (
SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS d,
argMin(open, window_start) AS session_open,
argMax(close, window_start) AS session_close
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY'
AND toDate(toTimeZone(window_start, 'America/New_York')) >= toDate('2024-08-01')
AND toDate(toTimeZone(window_start, 'America/New_York')) <= toDate('2026-07-31')
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959
GROUP BY d
),
linked AS (
SELECT d,
session_open,
session_close,
lagInFrame(session_close) OVER (ORDER BY d ASC ROWS BETWEEN 1 PRECEDING AND 1 PRECEDING) AS prior_close
FROM bars
)
SELECT formatDateTime(toStartOfMonth(d), '%Y-%m') AS month,
round(avg(abs(session_open / prior_close - 1)) * 100, 3) AS overnight_move_pct,
round(avg(abs(session_close / session_open - 1)) * 100, 3) AS session_move_pct
FROM linked
WHERE prior_close > 0
GROUP BY month
ORDER BY month ASC
Run your own version of this
The same 22 years of US equities and 12 years of options data are queryable in SQL or plain English. A free account runs 100 queries a day and takes no card.
More from this analysisAI Daily Market Research Reports: What Breaks
Daily turnover in the top ten movers: fixed 36 name large-cap list, July 2026
series 21×3
→
When headlines actually land: article counts by ET clock hour, July 2026
ranking 24×4
→
What the next session did: 36 large caps bucketed by the prior day's move, Aug 2024 to Jul 2026
table 5×5
→
Headline coverage by size of daily move: 36 large caps, May to July 2026
ranking 5×4
→
KO quarterly dividend in cents and as a percent of the share price, 2016 to 2026
series 42×4
→
How far SPY travels from its opening print, by ET half hour, first half of 2026
series 13×3
→
See all 2,170 queries →