STRASMORE/EXPLORE 2,170 QUERIES

Overnight gap versus the session that follows, complete years

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-22, from Best Time of Day to Sell a Mutual Fund.

as of ranking 5×3read in context →
Overnight gap versus the session that follows, complete years — 5 rows by 3 columns, computed from US exchange, SIP and OPRA data.
yearovernight_move_pctintraday_move_pct
20210.3640.484
20220.651.005
20230.3760.554
20240.3540.447
20250.4670.627
Rows × columns
5 × 3
Computed
Completeness
No missing values
Source
US exchange, SIP and OPRA market data
Licence
Strasmore terms · free, no signup
Formats
JSON · CSV · the SQL below

What each column holds

Column definitions for Overnight gap versus the session that follows, complete years, derived from the stored result.
ColumnTypeRangeNotes
year number 2,021 to 2,025
overnight_move_pct number 0.354 to 0.65 percent
intraday_move_pct number 0.447 to 1.005 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
SELECT
    year,
    round(avg(overnight_pct), 3) AS overnight_move_pct,
    round(avg(intraday_pct), 3)  AS intraday_move_pct
FROM
(
    SELECT
        toYear(date)                             AS year,
        abs(open_px / prior_close - 1) * 100     AS overnight_pct,
        abs(close_px / open_px - 1) * 100        AS intraday_pct
    FROM
    (
        SELECT
            date,
            max(toFloat64(open))  AS open_px,
            max(toFloat64(close)) AS close_px,
            lagInFrame(max(toFloat64(close)))
                OVER (ORDER BY date ASC ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) AS prior_close
        FROM global_markets.stocks_daily_aggs
        WHERE ticker = 'SPY'
          AND date >= '2021-01-01'
          AND date <  toStartOfYear(today())
        GROUP BY date
    )
    WHERE prior_close > 0 AND open_px > 0
)
GROUP BY year
ORDER BY year

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 analysisBest Time of Day to Sell a Mutual Fund
Average one-day move across six widely held funds, since 2021 ranking 6×2 How big a one-day move usually is, sessions since 2016 ranking 5×2 How far SPY trades from its own open and close, by time of day series 13×3 Average move from the 11:30 a.m. ET European close to the 4:00 p.m. close, Q2 2026 ranking 5×3 One session's price path, SPY every 15 minutes on June 17, 2026 series 27×2 Share of SPY's session volume by half hour, June 2026 average series 13×2 See all 2,170 queries →