STRASMORE/EXPLORE 2,170 QUERIES

SPY by session: close, change, and share volume, July 6-10

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-07-26, from Market Recap: Week of July 6, 2026.

as of series 5×4read in context →
SPY by session: close, change, and share volume, July 6-10 — 5 rows by 4 columns, computed from US exchange, SIP and OPRA data.
et_datespy_closechange_pctspy_shares_m
2026-07-06751.30.949.2
2026-07-07747.66-0.542.5
2026-07-08745.31-0.342.8
2026-07-09751.640.839
2026-07-10754.90.440.9
Rows × columns
5 × 4
Period covered
to
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 SPY by session: close, change, and share volume, July 6-10, derived from the stored result.
ColumnTypeRangeNotes
et_date date 2026-07-06 to 2026-07-10
spy_close number 745.31 to 754.9 US dollars
change_pct number -0.5 to 0.9 percent
spy_shares_m number 39 to 49.2 count

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 toDate(toTimeZone(window_start, 'America/New_York')) AS et_date,
    round(argMaxIf(toFloat64(close), window_start, (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199), 2) AS spy_close,
    round((argMaxIf(toFloat64(close), window_start, (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199) / any(prev) - 1) * 100, 1) AS change_pct,
    round(toFloat64(sum(volume)) / 1e6, 1) AS spy_shares_m
FROM global_markets.delayed_stocks_minute_aggs
INNER JOIN (
    SELECT d, lagInFrame(c) OVER (ORDER BY d ASC ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) AS prev
    FROM (
        SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS d,
               argMaxIf(toFloat64(close), window_start, (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199) AS c
        FROM global_markets.delayed_stocks_minute_aggs
        WHERE ticker = 'SPY' AND window_start >= toDateTime('2026-07-02 00:00:00') AND window_start < toDateTime('2026-07-11 00:00:00')
        GROUP BY d
    )
) AS p ON toDate(toTimeZone(window_start, 'America/New_York')) = p.d
WHERE ticker = 'SPY' AND window_start >= toDateTime('2026-07-06 00:00:00') AND window_start < toDateTime('2026-07-11 00:00:00')
GROUP BY et_date
ORDER BY et_date

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 analysisMarket Recap: Week of July 6, 2026
Weekly movers: ten biggest gainers and decliners, $5M+ traded, in-week splits excluded table 20×5 The chip complex's full-week change: July 10 close vs July 2 close, fourteen names ranking 14×2 Sector ETFs, full-week change: July 10 close vs July 2 close ranking 10×2 SK Hynix's SEC paper trail into its July 10 US listing table 9×2 Top names by regular-hours dollar volume, full week July 6-10 ranking 6×2 Options contracts and 0DTE share by session, July 6-10 ranking 5×3 See all 2,170 queries →