Strasmore Research
Market recaps Matt ConnorNi Matt Connor · Na-update noong 2026-07-25

Market Recap Hulyo 8 2026: Ang Araw sa mga Numero

Isang one-day chip bounce na halos hindi naramdaman ng index: karamihan ng semis green, NVDA up pangalawang araw, MU pinakamalaking dollar name, at broad tape na lagpas two-to-one pula.

Miyerkules, Hulyo 8, 2026 ay isang one-day chip bounce na halos hindi naramdaman ng mga index. Nagsara ang SNDK +6.8%, ang AVGO +4.82%, at ang NVDA +3.66% — isang matinding reversal mula sa chip rout noong Martes — ngunit nakatigil ang mga index ETF: ang SPY -0.31% at ang QQQ +0.25%. Ang broad tape ay tumakbo nang mas two-to-one na pula kaysa sa nakaraang araw: 1821 advancers laban sa 4260 decliners, isang advancer share na 29.6% matapos ang 33.8% na sesyon bago nito. Ang bawat numero sa ibaba ay mababasa mula sa isang naka-imbak na query — i-expand ang anumang panel para sa eksaktong SQL.

Ang scoreboard

Inihahambing ng bawat pagbabago ang huling minute bar ng regular session noong Hulyo 8 at ng Martes, Hulyo 7 — magkasunod na trading session. Ang mga row ay naka-alpabeto, kaya bawat ETF ay nakatakda sa isang posisyon.

QuerySPY / QQQ / DIA / IWM — Hulyo 8 vs Hulyo 7 close, regular hours
Ang eksaktong SQL sa likod ng bawat numero
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-07 13:30:00' AND window_start < '2026-07-07 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-08 13:30:00' AND window_start < '2026-07-08 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 ticker

Ang apat na ETF ay nag-gap down sa open at nag-iba ang landas mula roon. Ang DIA ay nag-open ng session sa -0.97% laban sa prior close at nag-fade pa, natapos sa -1.09%. Ang IWM ay nag-open sa -0.73% at nananatiling down, nagsara sa -0.92%. Ang SPY ay nag-open sa -0.6%, unti-unting bumangon sa buong araw, at nagsara pa rin sa -0.31% — mas maliit ang recovery mula sa open kaysa sa gap. Ang QQQ ay nag-open sa -0.64% at tumalon hanggang +0.25% sa pagsara, ang tanging ETF sa apat na nasa positive territory.

Atypical ba ang araw?

Ang SPY open-to-close na galaw na 0.29% ay naka-rank na 16 sa 22 trailing sessions — isang mid-pack na araw para sa index, hindi extreme. Ang QQQ close-over-close na galaw na +0.25% ay naka-rank na 21 sa 22 — isa sa pinakamaliit na trailing-month na galaw para sa QQQ, naaayon sa muted print ng index.

QuerySPY / QQQ day move sa trailing context (close-over-close, ~22 sessions)
Ang eksaktong SQL sa likod ng bawat numero
SELECT
    round(anyIf(cc_pct, ticker = 'QQQ' AND d = toDate('2026-07-08')), 2) AS qqq_close_over_close_pct,
    arrayCount(x -> x > abs(anyIf(cc_pct, ticker = 'QQQ' AND d = toDate('2026-07-08'))), groupArrayIf(abs(cc_pct), ticker = 'QQQ' AND d != toDate('2026-07-08'))) + 1 AS qqq_abs_move_rank,
    countIf(ticker = 'QQQ') AS qqq_sessions_compared,
    round(anyIf(oc_pct, ticker = 'SPY' AND d = toDate('2026-07-08')), 2) AS spy_open_to_close_pct,
    arrayCount(x -> x > abs(anyIf(oc_pct, ticker = 'SPY' AND d = toDate('2026-07-08'))), groupArrayIf(abs(oc_pct), ticker = 'SPY' AND d != toDate('2026-07-08'))) + 1 AS spy_abs_move_rank,
    countIf(ticker = 'SPY') AS spy_sessions_compared,
    toString(min(d)) AS first_session
FROM (
    SELECT ticker, d,
           (close_px / lagInFrame(close_px) OVER (PARTITION BY ticker ORDER BY d) - 1) * 100 AS cc_pct,
           oc_pct
    FROM (
        SELECT ticker, toDate(toTimeZone(window_start, 'America/New_York')) AS d,
               argMax(toFloat64(close), window_start) AS close_px,
               (argMax(toFloat64(close), window_start) / argMin(toFloat64(open), window_start) - 1) * 100 AS oc_pct
        FROM global_markets.delayed_stocks_minute_aggs
        WHERE ticker IN ('SPY', 'QQQ')
          AND window_start >= toDateTime('2026-06-05 13:30:00')
          AND window_start < toDateTime('2026-07-09 00:00:00')
          AND (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199
        GROUP BY ticker, d
    )
)

Lawak: lalo pang dalawang-sa-isang pula kaysa sa nakaraang araw

QueryLiquid-tape breadth: Hulyo 8 advancer share vs Hulyo 7, $1M-traded filter
Ang eksaktong SQL sa likod ng bawat numero
SELECT
    countIf(close_8 > close_7 AND close_7 > 0 AND dv_8 >= 1000000) AS advancers,
    countIf(close_8 < close_7 AND close_7 > 0 AND dv_8 >= 1000000) AS decliners,
    countIf(close_8 = close_7 AND close_7 > 0 AND dv_8 >= 1000000) AS unchanged,
    countIf(close_7 > 0 AND close_8 > 0 AND dv_8 >= 1000000) AS liquid_tickers,
    countIf(close_7 > 0 AND close_8 > 0) AS traded_both_sessions,
    countIf(close_7 > 0 AND close_8 > 0) - countIf(close_7 > 0 AND close_8 > 0 AND dv_8 >= 1000000) AS dropped_by_liquidity_filter,
    round(100.0 * countIf(close_8 > close_7 AND close_7 > 0 AND dv_8 >= 1000000) / countIf(close_7 > 0 AND close_8 > 0 AND dv_8 >= 1000000), 1) AS advancer_pct,
    round(100.0 * countIf(close_7 > close_6 AND close_6 > 0 AND dv_7 >= 1000000) / countIf(close_7 > 0 AND close_6 > 0 AND dv_7 >= 1000000), 1) AS jul7_advancer_pct
FROM (
    SELECT ticker,
           toFloat64(argMaxIf(close, window_start, window_start >= '2026-07-06 13:30:00' AND window_start < '2026-07-06 20:00:00')) AS close_6,
           toFloat64(argMaxIf(close, window_start, window_start >= '2026-07-07 13:30:00' AND window_start < '2026-07-07 20:00:00')) AS close_7,
           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,
           sumIf(toFloat64(close) * toFloat64(volume), window_start >= '2026-07-08 13:30:00' AND window_start < '2026-07-08 20:00:00') AS dv_8,
           sumIf(toFloat64(close) * toFloat64(volume), window_start >= '2026-07-07 13:30:00' AND window_start < '2026-07-07 20:00:00') AS dv_7
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE window_start >= '2026-07-06 13:30:00' AND window_start < '2026-07-08 20:00:00'
    GROUP BY ticker
)

Ang agwat sa pagitan ng mga tumaas (1821) at mga bumaba (4260) ay nagbigay sa bahagi ng mga tumaas ng 29.6%, mula sa 33.8% noong nakaraang session — iisang kalkulasyon gamit ang iisang liquidity filter, isinagawa sa parehong araw. Sa 11439 na stock na may close sa parehong araw, 5284 ang nahulog sa ibaba ng $1M-traded na filter at hindi kasama sa bilang. Ang pag-ukit na pinangungunahan ng chip at ang magkakahalong close ng index ay nasa ibabaw ng isang mas pare-parehong negatibong broad tape.

Bumangon ang chip complex — nang malakas, at sa malaking volume

Naka-alpabeto ang mga row, kaya nakakapanatili ng fixed na posisyon ang bawat pangalan; ang komparasyon ng Martes ay fresh na nakukuha mula sa mga close ng Hulyo 7 at Hulyo 6 na nasa receipts block sa ibaba ng talahanayan.

QueryLabing-apat na chip names: prior close, day close, day range, dollar volume, low/high minute ET
Ang eksaktong SQL sa likod ng bawat numero
WITH per_name AS (
    SELECT
        ticker,
        toFloat64(argMaxIf(close, window_start, window_start < '2026-07-08 00:00:00')) AS prior_close,
        toFloat64(argMaxIf(close, window_start, window_start >= '2026-07-08 00:00:00')) AS day_close,
        maxIf(toFloat64(high), window_start >= '2026-07-08 00:00:00') AS day_high,
        minIf(toFloat64(low), window_start >= '2026-07-08 00:00:00') AS day_low,
        argMinIf(window_start, (toFloat64(low), toInt64(toUnixTimestamp(window_start))), window_start >= '2026-07-08 00:00:00') AS low_bar,
        argMaxIf(window_start, (toFloat64(high), -toInt64(toUnixTimestamp(window_start))), window_start >= '2026-07-08 00:00:00') AS high_bar,
        round(sumIf(toFloat64(close) * toFloat64(volume), window_start >= '2026-07-08 00:00:00') / 1e9, 2) AS day_dollar_bn
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker IN ('AMD', 'AVGO', 'INTC', 'KLAC', 'LRCX', 'MRVL', 'MU', 'NVDA', 'SNDK', 'SOXL', 'SOXS', 'STX', 'TER', 'WDC')
      AND ((window_start >= '2026-07-07 13:30:00' AND window_start < '2026-07-07 20:00:00')
        OR (window_start >= '2026-07-08 13:30:00' AND window_start < '2026-07-08 20:00:00'))
    GROUP BY ticker
)
SELECT
    ticker,
    round(prior_close, 2) AS prior_close,
    round(day_close, 2) AS day_close,
    round((day_close / prior_close - 1) * 100, 2) AS pct_chg,
    round(((day_high - day_low) / prior_close) * 100, 2) AS range_pct,
    round(toFloat64(day_low), 2) AS day_low,
    round(toFloat64(day_high), 2) AS day_high,
    toUInt32(toHour(toTimeZone(low_bar, 'America/New_York')) * 60 + toMinute(toTimeZone(low_bar, 'America/New_York'))) AS low_minute_et,
    toUInt32(toHour(toTimeZone(high_bar, 'America/New_York')) * 60 + toMinute(toTimeZone(high_bar, 'America/New_York'))) AS high_minute_et,
    day_dollar_bn
FROM per_name
ORDER BY ticker

12 sa labing-apat na chip na pangalan ang nagsara sa green — kabaliktaran ng sesyon ng Martes, kung kailan 12 sa labing-apat ang nagsara sa red. Nanguna sa complex si SNDK sa +6.8% sa 16.82B na dolyar na na-trade, kasunod si AVGO sa +4.82%; sumunod ang iba pang storage na pangalan — STX +3.9%, WDC +3.45%. Ang 3x wrapper na SOXL ay tumakbo ng +5.79% at ang inverse na SOXS ay -6.22% — tugma sa isang araw na pagbangon sa underlying complex. Tumaas nang mas katamtaman si MU ng +1.11% ngunit nakapag-print ng 32.02B na dolyar — ang pinakamabigat na pangalan sa dollar-volume sa panel. Nagsara si NVDA ng +3.66% para sa ikalawang magkakasunod na green na araw: isa ito sa 2 lang na pangalan sa panel na ito na nagsara sa green sa buong rout ng Martes (+0.67% noong araw na iyon).

QueryReceipts: Hulyo 8 at Hulyo 7 green/red counts sa parehong labing-apat na names
Ang eksaktong SQL sa likod ng bawat numero
SELECT
    countIf(close_8 > close_7) AS jul8_green,
    countIf(close_8 < close_7) AS jul8_red,
    countIf(close_7 > close_6) AS jul7_green,
    countIf(close_7 < close_6) AS jul7_red,
    round(anyIf((close_7 / close_6 - 1) * 100, ticker = 'NVDA'), 2) AS nvda_jul7_pct,
    count() AS names_counted
FROM (
    SELECT ticker,
           toFloat64(argMaxIf(close, window_start, window_start >= '2026-07-06 13:30:00' AND window_start < '2026-07-06 20:00:00')) AS close_6,
           toFloat64(argMaxIf(close, window_start, window_start >= '2026-07-07 13:30:00' AND window_start < '2026-07-07 20:00:00')) AS close_7,
           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
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker IN ('AMD', 'AVGO', 'INTC', 'KLAC', 'LRCX', 'MRVL', 'MU', 'NVDA', 'SNDK', 'SOXL', 'SOXS', 'STX', 'TER', 'WDC')
      AND window_start >= '2026-07-06 13:30:00' AND window_start < '2026-07-08 20:00:00'
    GROUP BY ticker
)

Ang kabilang panig: hindi sumunod ang mga defensive at growth mega-caps

QueryRotation check: walong names — defensives, mega-caps, biotech
Ang eksaktong SQL sa likod ng bawat numero
WITH per_name AS (
    SELECT
        ticker,
        toFloat64(argMaxIf(close, window_start, window_start < '2026-07-08 00:00:00')) AS prior_close_raw,
        toFloat64(argMinIf(open, window_start, window_start >= '2026-07-08 00:00:00')) AS day_open_raw,
        toFloat64(argMaxIf(close, window_start, window_start >= '2026-07-08 00:00:00')) AS day_close_raw,
        round(sumIf(toFloat64(close) * toFloat64(volume), window_start >= '2026-07-08 00:00:00') / 1e9, 2) AS day_dollar_bn
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker IN ('CRNX', 'CVX', 'JNJ', 'LLY', 'META', 'TSLA', 'UNH', 'XOM')
      AND ((window_start >= '2026-07-07 13:30:00' AND window_start < '2026-07-07 20:00:00')
        OR (window_start >= '2026-07-08 13:30:00' AND window_start < '2026-07-08 20:00:00'))
    GROUP BY ticker
)
SELECT
    ticker,
    round(prior_close_raw, 2) AS prior_close,
    round(day_open_raw, 2) AS day_open,
    round(day_close_raw, 2) AS day_close,
    round((day_open_raw / prior_close_raw - 1) * 100, 2) AS gap_pct,
    round((day_close_raw / day_open_raw - 1) * 100, 2) AS intraday_pct,
    round((day_close_raw / prior_close_raw - 1) * 100, 2) AS pct_chg,
    day_dollar_bn
FROM per_name
ORDER BY ticker

Ang mga growth mega-cap ay gumalaw sa kabilang direksiyon mula sa chip complex: TSLA -2.22%, META -2.04%, LLY -1.6%. Ang CVX ang tanging green close sa panel, tumaas ng +1.12% sa maagang gap, habang ang XOM ay nag-open +1.26% na mas mataas at humina pabalik sa -0.49% sa pagtatapos. Ang Wednesday tape ay nahati sa dalawa — pataas ang mga chip name, pababa ang growth at defensives — habang ang mga index ay nanatiling tahimik sa pagitan nila. (Ang mga row ay naka-alphabetical: CRNX, CVX, JNJ, LLY, META, TSLA, UNH, XOM.)

Saan nag-trade ang pera

QueryTop 6 by dollars traded, top 4 by shares traded — Hulyo 8 regular hours
Ang eksaktong SQL sa likod ng bawat numero
SELECT leaderboard, ticker, dollar_volume_bn, shares_m,
    round(1000 * dollar_volume_bn / shares_m, 2) AS implied_avg_price,
    round(100 * if(leaderboard = 'by dollars traded', dollar_volume_bn, shares_m)
        / max(if(leaderboard = 'by dollars traded', dollar_volume_bn, shares_m)) OVER (PARTITION BY leaderboard), 1) AS pct_of_board_leader
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-08 13:30:00' AND window_start < '2026-07-08 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-08 13:30:00' AND window_start < '2026-07-08 20:00:00'
      AND ticker NOT IN ('SPCX')
    GROUP BY ticker
    ORDER BY shares_m DESC
    LIMIT 4
)
ORDER BY leaderboard, pct_of_board_leader DESC

32.02B na dolyar ang na-trade ng MU — ang pinakamabigat na pangalan sa tape at ang tanging nasa itaas ng $30B na marka. Sinundan ng SPY (26.49B), NVDA (24.17B), at QQQ (20.9B), habang nasa 16.82B ang SNDK at 11.71B naman ang TSLA para buoin ang dollar board. Iba naman ang kwento sa shares board: 636.5M na shares ang na-trade ng 3x inverse semiconductor ETF na SOXS sa implied average price na $4.67 — ang mekanika ng low-priced 3x wrapper sa isang mabigat na araw para sa chips.

Ang hugis ng session

QueryShares per 30-minute ET bucket, regular hours, na may % ng pinakamalaking bucket ng araw
Ang eksaktong SQL sa likod ng bawat numero
SELECT
    formatDateTime(toStartOfInterval(toTimeZone(window_start, 'America/New_York'), INTERVAL 30 MINUTE), '%H:%i') AS et_time,
    round(sum(toFloat64(volume)) / 1e9, 2) AS shares_bn,
    round(100 * sum(toFloat64(volume)) / max(sum(toFloat64(volume))) OVER (), 1) AS pct_of_biggest_bucket
FROM global_markets.delayed_stocks_minute_aggs
WHERE window_start >= '2026-07-08 13:30:00' AND window_start < '2026-07-08 20:00:00'
GROUP BY et_time
ORDER BY et_time

Ang volume ay gumuhit ng klasikong U-shape: ang open bucket ay tumakbo sa 89.9% ng pinakamalaking bucket ng araw at humina sa umaga, naabot ang pinakamababa sa 34.1% sa 1:00–1:30 pm ET na slot. Ang closing half-hour (15:30 ET) ang pinakamalaking bucket ng araw sa 2.2B na shares — mas malaki kaysa open na 1.98B, ang karaniwang pattern para sa isang regular na session.

Ang options tape

QueryOptions tape: prints, contracts, call %, 0DTE share vs Martes, top contract
Ang eksaktong SQL sa likod ng bawat numero
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) = '260708', 1, 0) AS is_0dte
            FROM global_markets.options_trades
            WHERE sip_timestamp >= '2026-07-08 00:00:00' AND sip_timestamp < '2026-07-09 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-08 13:30:00' AND window_start < '2026-07-08 20:00:00'
    ) AS spy_regular_close,
    (
        SELECT round(toFloat64(sum(size)) / 1e6, 2)
        FROM global_markets.options_trades
        WHERE sip_timestamp >= '2026-07-07 00:00:00' AND sip_timestamp < '2026-07-08 00:00:00'
    ) AS jul7_contracts_m,
    (
        SELECT round(100.0 * sumIf(size, substring(ticker, length(ticker) - 14, 6) = '260707') / sum(size), 1)
        FROM global_markets.options_trades
        WHERE sip_timestamp >= '2026-07-07 00:00:00' AND sip_timestamp < '2026-07-08 00:00:00'
    ) AS jul7_pct_0dte
SELECT
    round(count() / 1e6, 2) AS option_prints_m,
    round(toFloat64(sum(size)) / 1e6, 2) AS contracts_m,
    jul7_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) = '260708') / sum(size), 1) AS pct_0dte,
    jul7_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-08 00:00:00' AND sip_timestamp < '2026-07-09 00:00:00'

Ang consolidated options tape ay nagdala ng 10.44M na prints at 63.26M na kontrata — mas mataas kaysa 61.13M noong Martes, na kinompute mula sa parehong tape sa window ng Martes. Ang calls ay umabot sa 55.4% ng total volume, katamtamang call lean. Ang 0DTE contracts (expiry sa parehong araw, 260708) ay umabot sa 38.7% ng contract volume, mas mataas sa 31.2% noong Martes. Ang pinaka-abalang solong kontrata ay SPY 745C677981 na kontrata sa average na presyo na $0.875, isang expiry sa parehong araw na essentially at the money laban sa $745.31 na regular close ng SPY.

Ang quote tape

QueryStocks NBBO update count: Hulyo 8 vs Hulyo 7, na may named-ticker updates (millions)
Ang eksaktong SQL sa likod ng bawat numero
SELECT
    round(countIf(toDate(sip_timestamp) = toDate('2026-07-08')) / 1e6, 2) AS jul8_updates_m,
    round(countIf(toDate(sip_timestamp) = toDate('2026-07-07')) / 1e6, 2) AS jul7_updates_m,
    round((countIf(toDate(sip_timestamp) = toDate('2026-07-08')) / countIf(toDate(sip_timestamp) = toDate('2026-07-07')) - 1) * 100, 1) AS day_over_day_pct,
    round(countIf(toDate(sip_timestamp) = toDate('2026-07-08') AND ticker = 'SPY') / 1e6, 2) AS jul8_spy_updates_m,
    round(countIf(toDate(sip_timestamp) = toDate('2026-07-08') AND ticker = 'QQQ') / 1e6, 2) AS jul8_qqq_updates_m,
    round(countIf(toDate(sip_timestamp) = toDate('2026-07-08') AND ticker = 'NVDA') / 1e6, 2) AS jul8_nvda_updates_m,
    round(countIf(toDate(sip_timestamp) = toDate('2026-07-08') AND ticker = 'TSLA') / 1e6, 2) AS jul8_tsla_updates_m,
    round(countIf(toDate(sip_timestamp) = toDate('2026-07-08') AND ticker = 'MU') / 1e6, 2) AS jul8_mu_updates_m
FROM global_markets.cache_stocks_quotes
WHERE sip_timestamp >= '2026-07-07 00:00:00' AND sip_timestamp < '2026-07-09 00:00:00'

Ang stock-quote tape ay nagdala ng 530.55M NBBO updates noong Hulyo 8 — +7.7% kumpara sa nakaraang session. Ang 6.53M updates ng QQQ ang nangunahang sa mga named tickers, na nakauna sa 4.93M ng SPY. Ang NVDA (1.8M), TSLA (0.72M), at MU (0.6M) ay nagpapalag sa mga named counts.

QuerySPY / QQQ / NVDA / TSLA / MU / SNDK / AVGO: RTH median quoted spread sa basis points
Ang eksaktong SQL sa likod ng bawat numero
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', 'TSLA', 'MU', 'SNDK', 'AVGO')
  AND sip_timestamp >= '2026-07-08 13:30:00' AND sip_timestamp < '2026-07-08 20:00:00'
  AND bid_price > 0 AND ask_price > 0 AND ask_price > bid_price
GROUP BY ticker
ORDER BY median_spread_bps ASC

Sa pitong named tickers, ang SPY RTH median quoted spread ay 0.27 bps — nasa pinakamababang antas ng ordinaryo para sa pinaka-liquid na US ETF. Ang QQQ ay quoted sa 0.71 bps, ang NVDA sa 1.52 bps. Ang mas malawak na dulo ng talahanayan ay para sa mga names na may mas manipis na quoting: ang MU sa 5.66 bps at ang SNDK sa 12.21 bps.

QuerySPY RTH average quoted spread sa trailing-month context
Ang eksaktong SQL sa likod ng bawat numero
SELECT
    round(anyIf(avg_spread_cents, d = toDate('2026-07-08')), 3) AS jul8_avg_spread_cents,
    arrayCount(x -> x < anyIf(avg_spread_cents, d = toDate('2026-07-08')), groupArrayIf(avg_spread_cents, d != toDate('2026-07-08'))) + 1 AS tightness_rank,
    count() AS sessions_compared,
    round(min(avg_spread_cents), 3) AS tightest_session_cents,
    round(max(avg_spread_cents), 3) AS widest_session_cents,
    toString(min(d)) AS first_session,
    sum(dropped_invalid) AS dropped_invalid_quotes
FROM (
    SELECT toDate(toTimeZone(sip_timestamp, 'America/New_York')) AS d,
           avgIf(toFloat64(ask_price - bid_price), bid_price > 0 AND ask_price >= bid_price) * 100 AS avg_spread_cents,
           countIf(NOT (bid_price > 0 AND ask_price >= bid_price)) AS dropped_invalid
    FROM global_markets.cache_stocks_quotes
    WHERE ticker = 'SPY'
      AND sip_timestamp >= toDateTime('2026-06-05 00:00:00')
      AND sip_timestamp < toDateTime('2026-07-09 00:00:00')
      AND (toHour(sip_timestamp) * 60 + toMinute(sip_timestamp)) BETWEEN 810 AND 1199
    GROUP BY d
)

Ang SPY RTH average quoted spread na 2.202 cents ay naka-rank na 11 sa 22 trailing sessions — isang mid-pack na araw para sa tightness ng spread, na may trailing-month range na tumatakbo mula 1.809 cents (ang pinak-tight) hanggang 2.865 cents (ang pinak-malawak). Walang air pocket, walang liquidity event — isang ordinaryong session para sa quoted spread ng SPY.

QueryOptions NBBO tape: total updates vs stock tape, plus SPY root slice
Ang eksaktong SQL sa likod ng bawat numero
WITH
    (SELECT count() FROM global_markets.cache_options_quotes WHERE sip_timestamp >= '2026-07-08 00:00:00' AND sip_timestamp < '2026-07-09 00:00:00') AS jul8_options_rows,
    (SELECT count() FROM global_markets.cache_stocks_quotes WHERE sip_timestamp >= '2026-07-08 00:00:00' AND sip_timestamp < '2026-07-09 00:00:00') AS jul8_stock_quote_rows
SELECT
    round(jul8_options_rows / 1e9, 2) AS jul8_options_bn,
    round(jul8_options_rows / jul8_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-08 13:30:00' AND sip_timestamp < '2026-07-08 20:00:00') / 1e6, 0) AS jul8_spy_options_m

Ang options tape ay nagdala ng 9.62 billion NBBO updates — 18.1× ang bilang ng stock-quote tape. Ang SPY-options slice lamang ay umabot sa 422 million updates sa regular hours.

Rates: ang curve ay halos hindi gumalaw

QueryTreasury yields: Hulyo 8 vs Hulyo 7 — populated maturities + 2s10s
Ang eksaktong SQL sa likod ng bawat numero
SELECT
    t.1 AS curve_point,
    round(t.2, 2) AS jul8_yield_pct,
    round((t.2 - t.3) * 100) AS session_change_bp
FROM (
    SELECT arrayJoin([
        ('1 month',  toFloat64(d.yield_1_month),  toFloat64(p.yield_1_month)),
        ('3 month',  toFloat64(d.yield_3_month),  toFloat64(p.yield_3_month)),
        ('1 year',   toFloat64(d.yield_1_year),   toFloat64(p.yield_1_year)),
        ('2 year',   toFloat64(d.yield_2_year),   toFloat64(p.yield_2_year)),
        ('5 year',   toFloat64(d.yield_5_year),   toFloat64(p.yield_5_year)),
        ('10 year',  toFloat64(d.yield_10_year),  toFloat64(p.yield_10_year)),
        ('30 year',  toFloat64(d.yield_30_year),  toFloat64(p.yield_30_year)),
        ('2s10s spread', toFloat64(d.yield_10_year - d.yield_2_year), toFloat64(p.yield_10_year - p.yield_2_year))
    ]) AS t
    FROM (SELECT * FROM global_markets.treasury_yields WHERE date = '2026-07-08') AS d,
         (SELECT * FROM global_markets.treasury_yields WHERE date = '2026-07-07') AS p
)

Ang 5-year ang nanguna sa mga galaw ng session sa +4 bp; ang 2-year ay nagtapos na +2 bp na mas mataas, at walang ibang maturity ang gumalaw ng higit sa 2 bp sa alinmang direksyon. Naiwan nito ang 2s10s spread sa 0.35% (-1 bp sa session), na nasa loob ng kamakailang range. Ang mahinang galaw ng rates ay kasabay ng mahinang galaw ng index.

Ang kalendaryo sa likod ng araw

QueryEx-divs, splits, SEC filings, news attention
Ang eksaktong SQL sa likod ng bawat numero
WITH
    (
        SELECT (count(), uniqExact(publisher))
        FROM global_markets.stocks_news
        WHERE toDate(toTimeZone(published_utc, 'America/New_York')) = '2026-07-08'
    ) AS news,
    (
        SELECT (argMax(t, (n, t)), max(n), max(n) - arraySort(x -> -x, groupArray(n))[2])
        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-08'
            )
            WHERE t != 'SPCX'
            GROUP BY t
        )
    ) AS top_news
SELECT
    (SELECT count() FROM global_markets.stocks_dividends WHERE ex_dividend_date = '2026-07-08') AS ex_dividend_records,
    (SELECT count() FROM global_markets.stocks_splits WHERE execution_date = '2026-07-08') AS splits_executed,
    (SELECT countIf(toFloat64(split_from) > toFloat64(split_to)) FROM global_markets.stocks_splits WHERE execution_date = '2026-07-08') AS reverse_splits,
    (SELECT countIf(toFloat64(split_to) > toFloat64(split_from)) FROM global_markets.stocks_splits WHERE execution_date = '2026-07-08') AS forward_splits,
    (SELECT countIf(form_type = '424B2') FROM global_markets.stocks_sec_edgar_index WHERE filing_date = '2026-07-08') AS fil_424b2,
    (SELECT countIf(form_type = '4') FROM global_markets.stocks_sec_edgar_index WHERE filing_date = '2026-07-08') AS fil_form4,
    (SELECT countIf(form_type = '8-K') FROM global_markets.stocks_sec_edgar_index WHERE filing_date = '2026-07-08') AS fil_8k,
    (SELECT count() FROM global_markets.stocks_sec_edgar_index WHERE filing_date = '2026-07-08') 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_n, top_news.3 AS top_news_lead_over_next

Magaan ang kalendaryo sa araw: 81 na ex-dividend na talaan, 1 na forward split na naisakatuparan, at 3722 na SEC filings sa kabuuan (na may 775 na Form 4 insider trades, 527 na 424B2 prospectuses, at 163 na 8-K current reports). Ang news coverage ay nagdala ng 192 na artikulo sa 3 na publisher, kasama ang MU bilang isa sa pinakamabanggit na tickers sa 17 na artikulo. Walang household-name na corporate action ang nangingibabaw sa daloy ng araw — ang narrative ng tape ay mismong chip complex.

Ang sesyon, naberipika

QuerySession verification: first/last SPY bar ET, regular-bar count, holiday receipts, next closure
Ang eksaktong SQL sa likod ng bawat numero
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,
    count() AS spy_minute_bars,
    countIf(window_start >= '2026-07-08 13:30:00' AND window_start < '2026-07-08 20:00:00') AS regular_session_bars,
    uniqExactIf(toDate(toTimeZone(window_start, 'America/New_York')), window_start >= '2026-07-08 13:30:00' AND window_start < '2026-07-08 20:00:00') AS day_sessions,
    (SELECT count() FROM global_markets.stocks_market_holidays WHERE date = '2026-07-08') AS jul8_holiday_rows,
    (SELECT toString(min(date)) FROM global_markets.stocks_market_holidays WHERE date > '2026-07-08' AND status = 'closed') AS next_closure_date,
    (SELECT argMin(name, date) FROM global_markets.stocks_market_holidays WHERE date > '2026-07-08' AND status = 'closed') AS next_closure_name
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY' AND window_start >= '2026-07-08 00:00:00' AND window_start < '2026-07-09 00:00:00'

Ang sesyon ay tumakbo ng buong extended-hours na window — unang SPY bar sa 04:00 ET, huli sa 19:59 ET — na may 390 regular-hours na minutong bar at 1 trading session sa window (walang half-day; ang holiday table ay walang row para sa petsa). Ang kasunod na naka-schedule na pagsasara ay Labor Day sa 2026-09-07.

Mga tala sa datos

Ang lahat ng timestamp ay nakaimbak sa UTC; ang regular hours noong Hulyo 8, 2026 ay sinala bilang sip_timestamp / window_start sa pagitan ng 2026-07-08 13:30:00 at 2026-07-08 20:00:00, na tumutugma sa 9:30 am–4:00 pm na oras sa New York. Ang mga decimal na presyo ay ini-cast sa Float64 bago anumang paghahati. Ang mga named per-ticker na panel (scoreboard, chip complex, rotation) ay nakaayos nang alpabetiko ayon sa ticker upang ang bawat sanggunian sa prosa ay tumuturo sa isang nakapirming row; ang mga leaderboard (volume, quote snapshot) ay value-ordered, at ang bawat positional na claim na ginagawa nila ay naka-encode bilang sanity bound sa posisyong iyon. Ang bawat paghahambing tuwing Martes sa pahinang ito — breadth share, bilang ng chip green/red, options contracts at 0DTE share, bilang ng quote-update — ay kinakalkula bago mula Hulyo 7 (at Hulyo 6 kung kailangan ng prior close) sa parehong query block, hindi kailanman sinipi mula sa mas maagang post.

Buong mga tala sa datos

Ang breadth panel ay nagbibilang ng mga pangalan na may regular-hours close sa parehong session at hindi bababa sa $1M na na-trade sa sinusukat na araw; ang ibinagsak na bilang (5284 mula sa 11439) ay nagpapakita ng hindi kasamang tail. Ang day_low/day_high timing columns ng chip complex ay gumagamit ng argMin/argMaxIf(..., (value, timestamp)) na pattern upang ang mga tie ay malutas nang deterministic. Ang mga label ng volume-smile bucket ay nasa ET (%H:%i), na kinakalkula gamit ang toTimeZone sa SELECT list lamang. Ang options-tape panel ay nakakatukoy ng same-day expiry gamit ang OCC-ticker substring match (substring(ticker, length(ticker) - 14, 6)) sa halip na options_trades.expiration_date (na column ay sira, ayon sa standing preflight note). Ang mga simbolo sa KNOWN_AMBIGUOUS_TICKERS ay hindi kasama sa volume-leaders at news-attention SQL upang ang mga "most X" na callout ay mahuhulog sa mga mabe-verify na pangalan. Ang top-news ticker ay gumagamit ng deterministic tie-break (argMax(t, (n, t))); ang top_news_lead_over_next = 0 ay nagmamarka ng tie, kaya sinasabi ng prosa na "among the most-mentioned". Ang treasury panel ay nagjo-join ng dalawang daily snapshot rows; ang nawawalang snapshot para sa alinmang petsa ay nagbubunga ng zero rows at ang row_count bound ang nagpapatuloy sa post. Ang mga bilang ng stocks-quote at options-quote ay whole-tape scans sa mga day partition; ang mga bilang ng named-ticker ay iniuulat sa milyon upang tumugma sa kanilang mga column unit. Ang mga spread median ay gumagamit ng quantileExact (deterministic); ang trailing spread panel ay isang average (avgIf), na may ganitong label.

Metodolohiya

  • Pinagmulan ng market data: consolidated tape — delayed_stocks_minute_aggs para sa index at per-name na presyo at volume, cache_stocks_quotes para sa NBBO counts at quoted spreads, cache_options_quotes at options_trades para sa options tape.
  • Time zone handling: lahat ng nakaimbak na timestamps ay UTC; ET clock labels ay kinakalkula gamit ang toTimeZone(..., 'America/New_York') sa SELECT lists lamang; WHERE clauses ay gumagamit ng raw UTC literals.
  • Regular-hours window: 13:30–20:00 UTC, na-verify laban sa na-obserbahang SPY minute bars (ang session-verification panel), hindi calendar arithmetic.
  • Spread definition: (ask - bid) / midpoint × 10,000 sa basis points sa valid two-sided quotes para sa snapshot; ang trailing-month panel ay isang average width sa cents, na may label na average.
  • Prior-session comparisons: kinakalkula in-query mula sa Hulyo 7 (at Hulyo 6 para sa sariling day-over-day ng Martes) — hindi kailanman dinala mula sa nakaraang post.
  • Deterministic aggregates: quantileExact, tuple-keyed argMin/argMax, at isang deterministic news tie-break para sa stable na regenerations.
  • Warehouse as-of date: Hulyo 10, 2026 (T+2 para sa panahon); parehong sessions' tapes ay ganap na na-ingest sa lalim na ito.

Mga cross-link: Hulyo 7, 2026 recap, mga gastos sa options trading, mga batayan ng bid-ask spread, 0DTE options, at relative volume.