Market Recap: Week of June 29, 2026
Session by session: SPY close, change, and full-day volumeseries ·
2026-07-26 · 4×4
Contracts traded during the week, by expiry date (single-pass scan; batch-generated)ranking ·
2026-07-26 · 6×3
Regular-hours dollar volume, week of June 29 (one reused-symbol listing excluded pending entity verification)ranking ·
2026-07-26 · 8×3
FINRA off-exchange short volume by session: coverage and marked-short shareranking ·
2026-07-26 · 4×4
The session receipt: four traded days, one Friday closure, verified from the tapescalar ·
2026-07-26 · 1×34
The week's corporate calendar: with the June 30 filing-index gap on displayscalar ·
2026-07-26 · 1×82,221
This week against the trailing year of weeks: SPY, open-to-close within each week (rank 1 = best; short weeks excluded)scalar ·
2026-07-26 · 1×51.12
Week-over-week: the four index ETFs against the prior Friday's closetable ·
2026-07-26 · 4×5
Treasury yields through the week (July 2 print not yet ingested at generation)ranking ·
2026-07-26 · 5×4
Advancers and decliners on the week, with the liquidity filter disclosedscalar ·
2026-07-26 · 1×55,049
Market Recap: June 2026
Short-interest settlements on file: May 29, June 15, and June 30ranking ·
2026-07-26 · 3×2
21 sessions, verified from the tape (Juneteenth closure receipt included)scalar ·
2026-07-26 · 1×321
Treasury yields through June: 10-year, 2-year, and the 2s10s spreadranking ·
2026-07-26 · 21×4
SPY, all 21 June sessions: close and close-over-close changeseries ·
2026-07-26 · 21×3
SPY sessions up vs down across the month, one cheap receiptscalar ·
2026-07-26 · 1×49
June 2026: open to close, range, and regular-hours turnover for the four index ETFstable ·
2026-07-26 · 4×7
June: whole-tape options contract volume and same-day-expiry share (one scan)scalar ·
2026-07-26 · 1×31,477.9
June regular-hours dollar volume, whole tape (one reused-symbol listing excluded pending entity verification)ranking ·
2026-07-26 · 8×3
Ex-dividend events by day through Juneranking ·
2026-07-26 · 22×2
June's corporate calendar: dividends, splits, listings, filings (June 30 index gap disclosed)scalar ·
2026-07-26 · 1×66,651
SPY median quoted spread: the June sample session against May's (second Wednesdays)series ·
2026-07-26 · 2×4
May, recomputed identically for contrast (one scan)scalar ·
2026-07-26 · 1×31,394.6
Monthly returns, January through June 2026, recomputed live (SPY and QQQ)ranking ·
2026-07-26 · 12×4
The rank receipt: this June against every prior one (rank 1 = best; self-excluded)scalar ·
2026-07-26 · 1×5-1.2
Every June on the tape: SPY, recomputed identically by year (session counts shown)ranking ·
2026-07-26 · 23×3
Advancers vs decliners for June (close vs the last May close), liquidity filter disclosedscalar ·
2026-07-26 · 1×44,240
Session by session: SPY close, change, and full-day volume
Session by session: SPY close, change, and full-day volume
| et_date | spy_close | change_pct | shares_m |
|---|---|---|---|
| 2026-06-29 | 740.88 | 1.6 | 55.6 |
| 2026-06-30 | 746.32 | 0.7 | 51.7 |
| 2026-07-01 | 745.69 | -0.1 | 45.4 |
| 2026-07-02 | 744.8 | -0.1 | 55.4 |
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 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-06-26 00:00:00') AND window_start < toDateTime('2026-07-03 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-06-29 00:00:00') AND window_start < toDateTime('2026-07-03 00:00:00')
GROUP BY et_date
ORDER BY et_date
More from this analysisMarket Recap: Week of June 29, 2026
Regular-hours dollar volume, week of June 29 (one reused-symbol listing excluded pending entity verification)
ranking 8×3
→
Contracts traded during the week, by expiry date (single-pass scan; batch-generated)
ranking 6×3
→
Treasury yields through the week (July 2 print not yet ingested at generation)
ranking 5×4
→
FINRA off-exchange short volume by session: coverage and marked-short share
ranking 4×4
→
See all 2,170 queries →