Market Recap: July 10, 2026 — The Day in Numbers
NVDA woke up and led the whole tape a day after sitting out; META doubled down, MU cooled, small caps slipped — and the index barely moved. Friday in numbers.
Friday, July 10, 2026 was the rotation's third act: NVDA, the chip that sat out Thursday's sector celebration, woke up and led the entire tape — +4.04% on 26.56B of dollars traded, the heaviest name of the session. META ran +6.02% on top of Thursday's reversal, while MU, the week's volume monster, finally cooled (-1.19%). The indexes barely registered any of it: SPY +0.43%, QQQ +0.32%, and small caps closed red. Every number below is read from a stored query — expand any panel for the exact SQL.
The scoreboard
Every change compares July 10's last regular-session minute bar with Thursday July 9's — consecutive trading sessions. Rows are alphabetical, so each ETF keeps a fixed position.
The exact SQL behind every number
WITH prior AS (
SELECT ticker, argMax(close, window_start) AS prior_close
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker IN ('SPY', 'QQQ', 'DIA', 'IWM')
AND window_start >= '2026-07-09 13:30:00' AND window_start < '2026-07-09 20:00:00'
GROUP BY ticker
),
sess AS (
SELECT ticker,
argMin(open, window_start) AS day_open,
argMax(close, window_start) AS day_close,
max(high) AS day_high,
min(low) AS day_low,
round(toFloat64(sum(volume)) / 1e6, 1) AS shares_traded_m
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker IN ('SPY', 'QQQ', 'DIA', 'IWM')
AND window_start >= '2026-07-10 13:30:00' AND window_start < '2026-07-10 20:00:00'
GROUP BY ticker
)
SELECT
s.ticker AS ticker,
round(toFloat64(p.prior_close), 2) AS prior_close,
round(toFloat64(s.day_open), 2) AS day_open,
round(toFloat64(s.day_close), 2) AS day_close,
round((toFloat64(s.day_open) / toFloat64(p.prior_close) - 1) * 100, 2) AS gap_pct,
round((toFloat64(s.day_close) / toFloat64(s.day_open) - 1) * 100, 2) AS intraday_pct,
round((toFloat64(s.day_close) / toFloat64(p.prior_close) - 1) * 100, 2) AS pct_change,
round(toFloat64(s.day_high), 2) AS day_high,
round(toFloat64(s.day_low), 2) AS day_low,
s.shares_traded_m
FROM sess s LEFT JOIN prior p ON s.ticker = p.ticker
ORDER BY tickerThree of the four closed green, none of them dramatically: SPY +0.43% to $754.9, QQQ +0.32% (a -0.34% opening dip bought back through the day), DIA +0.3%. The odd one out was IWM at -0.44% — small caps, Thursday's co-stars, handed their gains back while the mega-cap end of the tape carried the day.
Was the day unusual?
SPY's open-to-close move of +0.38% ranked 11 of 22 trailing sessions by absolute size — the third straight session where violent single-name action netted out to a mid-pack index day. The week's drama lived under the index surface start to finish.
The exact SQL behind every number
SELECT
round(anyIf(oc_pct, d = toDate('2026-07-10')), 2) AS spy_open_to_close_pct,
arrayCount(x -> x > abs(anyIf(oc_pct, d = toDate('2026-07-10'))), groupArrayIf(abs(oc_pct), d != toDate('2026-07-10'))) + 1 AS spy_abs_move_rank,
count() AS spy_sessions_compared,
toString(min(d)) AS first_session
FROM (
SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS d,
(argMax(toFloat64(close), window_start) / argMin(toFloat64(open), window_start) - 1) * 100 AS oc_pct
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY'
AND window_start >= toDateTime('2026-06-09 13:30:00')
AND window_start < toDateTime('2026-07-11 00:00:00')
AND (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199
GROUP BY d
)Breadth: back to a split tape
The exact SQL behind every number
SELECT
countIf(close_10 > close_9 AND close_9 > 0 AND dv_10 >= 1000000) AS advancers,
countIf(close_10 < close_9 AND close_9 > 0 AND dv_10 >= 1000000) AS decliners,
countIf(close_9 > 0 AND close_10 > 0 AND dv_10 >= 1000000) AS liquid_tickers,
round(100.0 * countIf(close_10 > close_9 AND close_9 > 0 AND dv_10 >= 1000000) / countIf(close_9 > 0 AND close_10 > 0 AND dv_10 >= 1000000), 1) AS advancer_pct,
round(100.0 * countIf(close_9 > close_8 AND close_8 > 0 AND dv_9 >= 1000000) / countIf(close_9 > 0 AND close_8 > 0 AND dv_9 >= 1000000), 1) AS jul9_advancer_pct
FROM (
SELECT ticker,
toFloat64(argMaxIf(close, window_start, window_start >= '2026-07-08 13:30:00' AND window_start < '2026-07-08 20:00:00')) AS close_8,
toFloat64(argMaxIf(close, window_start, window_start >= '2026-07-09 13:30:00' AND window_start < '2026-07-09 20:00:00')) AS close_9,
toFloat64(argMaxIf(close, window_start, window_start >= '2026-07-10 13:30:00' AND window_start < '2026-07-10 20:00:00')) AS close_10,
sumIf(toFloat64(close) * toFloat64(volume), window_start >= '2026-07-10 13:30:00' AND window_start < '2026-07-10 20:00:00') AS dv_10,
sumIf(toFloat64(close) * toFloat64(volume), window_start >= '2026-07-09 13:30:00' AND window_start < '2026-07-09 20:00:00') AS dv_9
FROM global_markets.delayed_stocks_minute_aggs
WHERE window_start >= '2026-07-08 13:30:00' AND window_start < '2026-07-10 20:00:00'
GROUP BY ticker
)After Thursday's 71.5% surge, the advancer share settled back to 54.4% — 3191 up, 2580 down across the liquid tape. A green index day with barely-positive breadth: the gains concentrated in the biggest names, which is the whole story of the session told in one ratio.
The day's highlight: NVDA's turn
Rows are alphabetical, so each name keeps a fixed position — ten names spanning the chip complex and the mega-caps that traded places all week.
The exact SQL behind every number
WITH per_name AS (
SELECT
ticker,
toFloat64(argMaxIf(close, window_start, window_start < '2026-07-10 00:00:00')) AS prior_close,
toFloat64(argMinIf(open, window_start, window_start >= '2026-07-10 00:00:00')) AS day_open,
toFloat64(argMaxIf(close, window_start, window_start >= '2026-07-10 00:00:00')) AS day_close,
round(sumIf(toFloat64(close) * toFloat64(volume), window_start >= '2026-07-10 00:00:00') / 1e9, 2) AS day_dollar_bn
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker IN ('AAPL', 'AMD', 'AMZN', 'GOOGL', 'INTC', 'META', 'MSFT', 'MU', 'NVDA', 'SNDK')
AND ((window_start >= '2026-07-09 13:30:00' AND window_start < '2026-07-09 20:00:00')
OR (window_start >= '2026-07-10 13:30:00' AND window_start < '2026-07-10 20:00:00'))
GROUP BY ticker
)
SELECT
ticker,
round(prior_close, 2) AS prior_close,
round(day_open, 2) AS day_open,
round(day_close, 2) AS day_close,
round((day_open / prior_close - 1) * 100, 2) AS gap_pct,
round((day_close / day_open - 1) * 100, 2) AS intraday_pct,
round((day_close / prior_close - 1) * 100, 2) AS pct_chg,
day_dollar_bn
FROM per_name
ORDER BY tickerNVDA closed +4.04% — its best day of the week, one session after closing red while every other chip rallied (Thursday's recap documents the sit-out, receipts included). META added +6.02% on 22.82B of dollars — back-to-back outsized green days after its violent Thursday reversal. On the other side of the rotation, the memory trade cooled: MU closed -1.19% after two heavy green sessions, and INTC gave back -2.42%. SNDK (+3.1%) and AMD (+2.07%) kept climbing. The rest of the mega-cap shelf was quiet — AAPL -0.27%, MSFT +0.2%, AMZN -0.66% — a one-stock day wearing a sector's clothes.
Where the money traded
The exact SQL behind every number
SELECT leaderboard, ticker, dollar_volume_bn, shares_m,
round(1000 * dollar_volume_bn / shares_m, 2) AS implied_avg_price
FROM (
SELECT
'by dollars traded' AS leaderboard,
ticker,
round(sum(toFloat64(close) * toFloat64(volume)) / 1e9, 2) AS dollar_volume_bn,
round(sum(toFloat64(volume)) / 1e6, 1) AS shares_m
FROM global_markets.delayed_stocks_minute_aggs
WHERE window_start >= '2026-07-10 13:30:00' AND window_start < '2026-07-10 20:00:00'
AND ticker NOT IN ('SPCX')
GROUP BY ticker
ORDER BY dollar_volume_bn DESC
LIMIT 6
UNION ALL
SELECT
'by shares traded' AS leaderboard,
ticker,
round(sum(toFloat64(close) * toFloat64(volume)) / 1e9, 2) AS dollar_volume_bn,
round(sum(toFloat64(volume)) / 1e6, 1) AS shares_m
FROM global_markets.delayed_stocks_minute_aggs
WHERE window_start >= '2026-07-10 13:30:00' AND window_start < '2026-07-10 20:00:00'
AND ticker NOT IN ('SPCX')
GROUP BY ticker
ORDER BY shares_m DESC
LIMIT 4
)
ORDER BY leaderboard, dollar_volume_bn DESCThe dollar board's top three finished within a billion of each other — NVDA at 26.56B, SPY at 26.29B, MU at 25.9B — with NVDA taking the crown from MU after MU's two-session reign (documented Thursday). META at 22.82B out-traded QQQ — a single stock printing more dollars than the index that holds it. And wedged between them at #5 sits a ticker that did not exist the day before — the day's other headline, next section.
The other headline: a mega-listing's first tape
Friday was also a debut day — the largest US listing since SpaceX's June offering. SK Hynix Inc's US shares began trading under a brand-new symbol, and its first session immediately ranked among the tape's heaviest names:
The exact SQL behind every number
SELECT
(SELECT round(toFloat64(final_issue_price), 2) FROM global_markets.stocks_ipos
WHERE issuer_name = 'SK Hynix Inc' AND listing_date = '2026-07-10') AS recorded_issue_price,
(SELECT round(total_offer_size / 1e9, 1) FROM global_markets.stocks_ipos
WHERE issuer_name = 'SK Hynix Inc' AND listing_date = '2026-07-10') AS raised_bn,
round(toFloat64(argMinIf(open, window_start, window_start >= '2026-07-10 13:30:00' AND window_start < '2026-07-10 20:00:00')), 2) AS first_rth_open,
round(100 * (toFloat64(argMinIf(open, window_start, window_start >= '2026-07-10 13:30:00' AND window_start < '2026-07-10 20:00:00'))
/ (SELECT toFloat64(final_issue_price) FROM global_markets.stocks_ipos
WHERE issuer_name = 'SK Hynix Inc' AND listing_date = '2026-07-10') - 1), 1) AS open_vs_issue_pct,
round(toFloat64(argMaxIf(close, window_start, window_start < '2026-07-10 20:00:00')), 2) AS regular_close,
round(sumIf(toFloat64(close) * toFloat64(volume), window_start >= '2026-07-10 13:30:00' AND window_start < '2026-07-10 20:00:00') / 1e9, 2) AS rth_dollar_bn,
round(sum(toFloat64(volume)) / 1e6, 1) AS day_shares_m,
(SELECT count() FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SKHYV' AND window_start < '2026-07-10 00:00:00') AS bars_before_debut
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SKHYV' AND window_start >= '2026-07-10 04:00:00' AND window_start < '2026-07-11 00:00:00'The offering records show a recorded issue price of $158.14 and 28.1B raised — second among 2026 US listings only to SpaceX's June deal (the H1 IPO ledger holds the rest of the table). The first regular-session print came at $170, 7.5% above the recorded issue price, and the day closed at $168.33 on 18.03B of regular-hours dollars — fifth on the day's board, ahead of QQQ, in its first six and a half hours of existence. The symbol receipt: 0 bars exist for this ticker before July 10 — a genuinely new listing, not a reused symbol. Notable context the tape supplies on its own: SK Hynix and Micron are the memory industry's two listed giants, and MU — the week's heaviest name — cooled -1.19% on the very session its rival's US line began trading. Co-timing, on the record; the SpaceX debut playbook shows what we track as a listing's first month unfolds.
The options tape
The exact SQL behind every number
WITH
(
SELECT (groupArray(und), groupArray(strike), groupArray(typ), groupArray(vol), groupArray(avg_px), groupArray(is_0dte))
FROM (
SELECT any(underlying_symbol) AS und, any(toFloat64(strike_price)) AS strike, any(option_type) AS typ,
sum(size) AS vol, round(avg(toFloat64(price)), 3) AS avg_px,
if(substring(ticker, length(ticker) - 14, 6) = '260710', 1, 0) AS is_0dte
FROM global_markets.options_trades
WHERE sip_timestamp >= '2026-07-10 00:00:00' AND sip_timestamp < '2026-07-11 00:00:00'
GROUP BY ticker
ORDER BY vol DESC
LIMIT 2
)
) AS top2,
(
SELECT round(toFloat64(argMax(close, window_start)), 2)
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY' AND window_start >= '2026-07-10 13:30:00' AND window_start < '2026-07-10 20:00:00'
) AS spy_regular_close,
(
SELECT round(toFloat64(sum(size)) / 1e6, 2)
FROM global_markets.options_trades
WHERE sip_timestamp >= '2026-07-09 00:00:00' AND sip_timestamp < '2026-07-10 00:00:00'
) AS jul9_contracts_m,
(
SELECT round(100.0 * sumIf(size, substring(ticker, length(ticker) - 14, 6) = '260709') / sum(size), 1)
FROM global_markets.options_trades
WHERE sip_timestamp >= '2026-07-09 00:00:00' AND sip_timestamp < '2026-07-10 00:00:00'
) AS jul9_pct_0dte
SELECT
round(count() / 1e6, 2) AS option_prints_m,
round(toFloat64(sum(size)) / 1e6, 2) AS contracts_m,
jul9_contracts_m,
round(100.0 * sumIf(size, option_type = 'C') / sum(size), 1) AS call_pct_of_volume,
round(100.0 * sumIf(size, substring(ticker, length(ticker) - 14, 6) = '260710') / sum(size), 1) AS pct_0dte,
jul9_pct_0dte,
spy_regular_close,
top2.1[1] AS top1_und, top2.2[1] AS top1_strike, top2.3[1] AS top1_type, top2.4[1] AS top1_contracts, top2.5[1] AS top1_avg_px, top2.6[1] AS top1_is_0dte,
round(toFloat64(top2.2[1]) - spy_regular_close, 2) AS top1_moneyness
FROM global_markets.options_trades
WHERE sip_timestamp >= '2026-07-10 00:00:00' AND sip_timestamp < '2026-07-11 00:00:00'Friday was the week's weekly-expiry session, and it printed like one: 65.59M contracts — the busiest options day of the week — with the 0DTE share jumping to 48.7% from Thursday's 28.7%, the signature of an expiry Friday (when do options expire maps the calendar). Calls ran 59.4% of volume. The busiest single contract: SPY 755C, a same-day contract that finished 0.1 from SPY's $754.9 close.
The quote tape
The exact SQL behind every number
SELECT
round(countIf(toDate(sip_timestamp) = toDate('2026-07-10')) / 1e6, 2) AS jul10_updates_m,
round(countIf(toDate(sip_timestamp) = toDate('2026-07-09')) / 1e6, 2) AS jul9_updates_m,
round((countIf(toDate(sip_timestamp) = toDate('2026-07-10')) / countIf(toDate(sip_timestamp) = toDate('2026-07-09')) - 1) * 100, 1) AS day_over_day_pct,
round(countIf(toDate(sip_timestamp) = toDate('2026-07-10') AND ticker = 'SPY') / 1e6, 2) AS jul10_spy_updates_m,
round(countIf(toDate(sip_timestamp) = toDate('2026-07-10') AND ticker = 'QQQ') / 1e6, 2) AS jul10_qqq_updates_m,
round(countIf(toDate(sip_timestamp) = toDate('2026-07-10') AND ticker = 'NVDA') / 1e6, 2) AS jul10_nvda_updates_m
FROM global_markets.cache_stocks_quotes
WHERE sip_timestamp >= '2026-07-09 00:00:00' AND sip_timestamp < '2026-07-11 00:00:00'The stock-quote tape carried 402.21M NBBO updates — 4.9% versus Thursday, an ordinary Friday's churn. QQQ (4.28M) led the named counts ahead of SPY (2.48M) and NVDA (2.24M).
The exact SQL behind every number
SELECT
ticker,
round(quantileExact(0.5)((toFloat64(ask_price) - toFloat64(bid_price)) / ((toFloat64(ask_price) + toFloat64(bid_price)) / 2) * 10000), 2) AS median_spread_bps
FROM global_markets.cache_stocks_quotes
WHERE ticker IN ('SPY', 'QQQ', 'NVDA', 'META', 'MU', 'SNDK', 'AVGO')
AND sip_timestamp >= '2026-07-10 13:30:00' AND sip_timestamp < '2026-07-10 20:00:00'
AND bid_price > 0 AND ask_price > 0 AND ask_price > bid_price
GROUP BY ticker
ORDER BY median_spread_bps ASCSPY quoted a 0.27 bps RTH median spread, QQQ 0.55 bps, NVDA 0.96 bps — no stress anywhere in the quote, even with the leadership churning underneath.
The exact SQL behind every number
WITH
(SELECT count() FROM global_markets.cache_options_quotes WHERE sip_timestamp >= '2026-07-10 00:00:00' AND sip_timestamp < '2026-07-11 00:00:00') AS jul10_options_rows,
(SELECT count() FROM global_markets.cache_stocks_quotes WHERE sip_timestamp >= '2026-07-10 00:00:00' AND sip_timestamp < '2026-07-11 00:00:00') AS jul10_stock_quote_rows
SELECT
round(jul10_options_rows / 1e9, 2) AS jul10_options_bn,
round(jul10_options_rows / jul10_stock_quote_rows, 1) AS options_to_stock_ratio,
round((SELECT count() FROM global_markets.cache_options_quotes WHERE ticker >= 'O:SPY26' AND ticker < 'O:SPY27' AND sip_timestamp >= '2026-07-10 13:30:00' AND sip_timestamp < '2026-07-10 20:00:00') / 1e6, 0) AS jul10_spy_options_mThe options-quote tape ran 6.73 billion NBBO updates — 16.7× the stock tape — with the SPY root at 243 million regular-hours updates on its expiry day.
Rates: two prints in transit
The exact SQL behind every number
SELECT
(SELECT count() FROM global_markets.treasury_yields WHERE date = '2026-07-09') AS jul9_print_rows,
(SELECT count() FROM global_markets.treasury_yields WHERE date = '2026-07-10') AS jul10_print_rows,
toString(any(date)) AS latest_print_date,
round(toFloat64(any(yield_2_year)), 2) AS latest_2y_pct,
round(toFloat64(any(yield_10_year)), 2) AS latest_10y_pct,
round(toFloat64(any(yield_30_year)), 2) AS latest_30y_pct
FROM global_markets.treasury_yields
WHERE date = '2026-07-08'Both the July 9 and July 10 treasury prints were still in transit at authoring — 0 and 0 rows on record respectively, a longer lag than the file's usual single session. The latest curve on record (2026-07-08): 2-year 4.21%, 10-year 4.56%, 30-year 5.06%. Both columns are bounded to zero, so either print's arrival holds this post for a rates rewrite — the same tripwire that has caught three prints this month.
The calendar behind the day
The exact SQL behind every number
WITH
(
SELECT (count(), uniqExact(publisher))
FROM global_markets.stocks_news
WHERE toDate(toTimeZone(published_utc, 'America/New_York')) = '2026-07-10'
) AS news,
(
SELECT (argMax(t, (n, t)), max(n))
FROM (
SELECT t, count() AS n
FROM (
SELECT arrayJoin(tickers) AS t
FROM global_markets.stocks_news
WHERE toDate(toTimeZone(published_utc, 'America/New_York')) = '2026-07-10'
)
WHERE t != 'SPCX'
GROUP BY t
)
) AS top_news
SELECT
(SELECT count() FROM global_markets.stocks_dividends WHERE ex_dividend_date = '2026-07-10') AS ex_dividend_records,
(SELECT countIf(toFloat64(split_from) > toFloat64(split_to)) FROM global_markets.stocks_splits WHERE execution_date = '2026-07-10') AS reverse_splits,
(SELECT countIf(toFloat64(split_to) > toFloat64(split_from)) FROM global_markets.stocks_splits WHERE execution_date = '2026-07-10') AS forward_splits,
(SELECT count() FROM global_markets.stocks_sec_edgar_index WHERE filing_date = '2026-07-10') AS fil_total,
news.1 AS news_articles, news.2 AS news_publishers,
top_news.1 AS top_news_ticker, top_news.2 AS top_news_n153 ex-dividend records, 6 reverse and 3 forward splits executed, and 154 news articles across 3 publishers, with NVDA the most-covered ticker at 11 articles. The SEC filings column reads 0 — the EDGAR daily index for July 10 had not been ingested at authoring, a known lag pattern in this feed (the quarter-end that didn't file dissects it). That column is bounded to zero: when the file lands, this post is held and the calendar section rewritten with the real counts.
The session, verified
The exact SQL behind every number
SELECT
formatDateTime(min(toTimeZone(window_start, 'America/New_York')), '%H:%i') AS first_spy_bar_et,
formatDateTime(max(toTimeZone(window_start, 'America/New_York')), '%H:%i') AS last_spy_bar_et,
countIf(window_start >= '2026-07-10 13:30:00' AND window_start < '2026-07-10 20:00:00') AS regular_session_bars,
uniqExactIf(toDate(toTimeZone(window_start, 'America/New_York')), window_start >= '2026-07-10 13:30:00' AND window_start < '2026-07-10 20:00:00') AS day_sessions,
(SELECT count() FROM global_markets.stocks_market_holidays WHERE date = '2026-07-10') AS jul10_holiday_rows,
(SELECT toString(min(date)) FROM global_markets.stocks_market_holidays WHERE date > '2026-07-10' AND status = 'closed') AS next_closure_date,
(SELECT argMin(name, date) FROM global_markets.stocks_market_holidays WHERE date > '2026-07-10' AND status = 'closed') AS next_closure_name
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY' AND window_start >= '2026-07-10 00:00:00' AND window_start < '2026-07-11 00:00:00'A full ordinary session: first SPY bar 04:00 ET, last 19:59 ET, 390 regular-hours bars, 1 session in the window, no holiday row. Next scheduled closure: Labor Day on 2026-09-07.
Data notes
All timestamps are stored in UTC; regular hours on July 10, 2026 are filtered as window_start/sip_timestamp between 2026-07-10 13:30:00 and 2026-07-10 20:00:00 (9:30 am–4:00 pm New York time). Named per-ticker panels are ordered alphabetically by ticker so each prose reference points at a fixed row; leaderboards are value-ordered, with positional claims encoded as sanity bounds. Every Thursday comparison is computed fresh from July 9 in the same query block, never quoted from an earlier post. Two data-arrival receipts are deliberate tripwires bounded to zero — the treasury prints (July 9 and 10) and the July 10 EDGAR daily index — so their arrival holds the post for a rewrite instead of silently changing sections. The quote tapes (stock and options) were verified complete before the quote section was written: full-day counts in the hundreds of millions and billions respectively, consistent with neighboring sessions.
Methodology
- Market data source: consolidated tape —
delayed_stocks_minute_aggsfor prices and volumes,options_tradesfor the options tape. - Time zone handling: all stored timestamps are UTC; ET labels computed with
toTimeZone(..., 'America/New_York')in SELECT lists only; WHERE clauses use raw UTC literals. - Regular-hours window: 13:30–20:00 UTC, verified against observed SPY minute bars in the session-verification panel.
- Prior-session comparisons: computed in-query from July 9 — never carried over from a previous post.
- Deterministic aggregates: tuple-keyed tie-breaks and a deterministic news tie-break for stable regenerations.
- Warehouse as-of date: July 12, 2026 (T+2 for the period); equity minute and options-trade tapes fully ingested, with the treasury and EDGAR receipts above marking what is still in transit.
Cross-links: July 9, 2026 recap, the full week's recap, when do options expire, 0DTE options, and relative volume.