STRASMORE/EXPLORE 2,595 QUERIES

SPY by session: close, change, and share volume, July 20-24

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-12, from Market Recap: Week of July 20, 2026.

as of series 5×4read in context →
SPY by session: close, change, and share volume, July 20-24 — 5 rows by 4 columns, computed from US exchange, SIP and OPRA data.
datespy_closechange_pctspy_shares_m
2026-07-20742.1-0.1540.1
2026-07-21748.320.8425.6
2026-07-22747.39-0.1226.6
2026-07-23738.24-1.2248
2026-07-24738.850.0840.1
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 20-24, derived from the stored result.
ColumnTypeRangeNotes
date date 2026-07-20 to 2026-07-24
spy_close number 738.24 to 748.32 US dollars
change_pct number -1.22 to 0.84 percent
spy_shares_m number 25.6 to 48 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.

Run it yourself

This is the exact query behind the result above. Change a ticker, a date or a column and run it against the warehouse — no account, no key. The no-signup tier is smaller than the one this page was computed on; a query that reaches past it comes back saying which plan runs it.

SELECT toString(d) AS date,
       round(c, 2) AS spy_close,
       round((c / prev_c - 1) * 100, 2) AS change_pct,
       round(shares_m, 1) AS spy_shares_m
FROM (
    SELECT d, c, shares_m,
           lagInFrame(c) OVER (ORDER BY d ASC ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) AS prev_c
    FROM (
        SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS d,
               argMax(toFloat64(close), window_start) AS c,
               toFloat64(sum(volume)) / 1e6 AS shares_m
        FROM global_markets.delayed_stocks_minute_aggs
        WHERE ticker = 'SPY'
          AND ((window_start >= '2026-07-17 13:30:00' AND window_start < '2026-07-17 20:00:00')
            OR (window_start >= '2026-07-20 13:30:00' AND window_start < '2026-07-24 20:00:00'))
          AND (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199
        GROUP BY d
    )
)
WHERE d >= '2026-07-20'
ORDER BY date
⌘/Ctrl + Enter

AI 어시스턴트에서 이 데이터로 작업하기

이 페이지의 데이터로 바로 쿼리할 수 있게 열립니다. 무료, 계정 불필요.

More from this analysisMarket Recap: Week of July 20, 2026
Treasury curve by session, July 17 print through July 24 series 6×6 → SPY median quoted spread and NBBO updates per session, regular hours, July 20-24 series 5×5 → Options contracts, same-day share, and call share by session, July 20-24 series 5×5 → SEC filings by session and form type, July 20-24 series 5×5 → Advancers and decliners per session, names with $5M+ traded, July 20-24 series 5×5 → Daily short-volume file coverage: tickers on file and short shares, July 20-24 series 5×4 → See all 2,595 queries →