Strasmore Research
Tổng hợp thị trường Matt ConnorBởi Matt Connor · Cập nhật 2026-07-23

Tổng kết thị trường ngày 9 tháng 7 năm 2026

Nhóm thiết bị chip biến động mạnh, các mã mega-cap đảo chiều từ giảm sang tăng, thị trường kết thúc sắc xanh và NVDA đóng cửa ở mức đỏ.

Thứ Năm, ngày 9 tháng 7 năm 2026 đã chứng kiến biến động mạnh chỉ trong một phút — và sự biến động này xảy ra trước giờ mở cửa. Các cổ phiếu thiết bị chip đã cao hơn nhiều so với mức đóng cửa hôm thứ Tư trong phiên giao dịch premarket, trong khi META nằm ở mức -3.16% dưới mức đó; dữ liệu lúc 9:30 đã xác nhận cả hai trạng thái này. Sau đó, thị trường đảo chiều một phần so với mức mở cửa: các khoảng trống giá của nhóm chip dần biến mất, META tăng trở lại mức cũ, và thị trường kết thúc với sắc xanh 71.5% — phiên giao dịch có biên độ rộng nhất trong tuần. NVDA, vốn duy trì sắc xanh xuyên suốt phiên giảm mạnh hôm thứ Ba, đã đóng cửa ở sắc đỏ. Mọi con số dưới đây đều được trích xuất từ truy vấn dữ liệu lưu trữ.

Bối cảnh phiên mở cửa

Các khoảng trống giá không được tạo ra lúc 9:30. Từ 4:00 sáng đến 9:29 sáng giờ ET, dòng lệnh premarket đã định giá lại các mã này, và giá mở cửa khớp đúng tại mức đó.

Truy vấnBiến động premarket, 4:00-9:29 am ET: giá premarket cuối cùng so với giá đóng cửa thứ Tư, và giá mở cửa sau đó
Câu lệnh SQL chính xác đằng sau mỗi con số
SELECT
    ticker,
    round(prior_close, 2) AS prior_close,
    formatDateTime(first_pm_bar, '%H:%i') AS first_premkt_bar_et,
    round(premkt_last, 2) AS premkt_last,
    round((premkt_last / prior_close - 1) * 100, 2) AS premkt_pct,
    round(premkt_shares / 1e3, 1) AS premkt_shares_k,
    round((day_open / prior_close - 1) * 100, 2) AS gap_pct,
    round((day_open / premkt_last - 1) * 100, 2) AS open_vs_premkt_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 prior_close,
        minIf(toTimeZone(window_start, 'America/New_York'), window_start >= '2026-07-09 08:00:00' AND window_start < '2026-07-09 13:30:00') AS first_pm_bar,
        toFloat64(argMaxIf(close, window_start, window_start >= '2026-07-09 08:00:00' AND window_start < '2026-07-09 13:30:00')) AS premkt_last,
        sumIf(toFloat64(volume), window_start >= '2026-07-09 08:00:00' AND window_start < '2026-07-09 13:30:00') AS premkt_shares,
        toFloat64(argMinIf(open, window_start, window_start >= '2026-07-09 13:30:00' AND window_start < '2026-07-09 20:00:00')) AS day_open
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker IN ('SPY', 'QQQ', 'KLAC', 'LRCX', 'META', 'NVDA')
      AND ((window_start >= '2026-07-08 13:30:00' AND window_start < '2026-07-08 20:00:00')
        OR (window_start >= '2026-07-09 08:00:00' AND window_start < '2026-07-09 20:00:00'))
    GROUP BY ticker
)
ORDER BY ticker

Giá khớp lệnh cuối cùng của KLAC trong premarket cao hơn mức đóng cửa hôm thứ Tư là +8.49% và mã này mở cửa ở mức +8.14%; LRCX tăng +9.64% và mở cửa ở mức +9.67%; META ghi nhận -3.16% và mở cửa ở mức -3.16%. Xem open_vs_premkt_pct: cả sáu mã đều mở cửa trong phạm vi một phần trăm so với giá premarket cuối cùng. NVDA là trường hợp ngoại lệ — biến động 0.16% qua đêm trên 3741.7k cổ phiếu, mức khối lượng premarket lớn nhất trong sáu mã nhưng có biến động nhỏ nhất (giao dịch premarket và after-hours).

Có chất xúc tác nào không? Dữ liệu của chúng tôi không ghi nhận điều gì

Một bản tóm tắt cần nêu rõ yếu tố nào đã khiến cổ phiếu biến động. Trong trường hợp này, các bảng dữ liệu của chúng tôi không ghi nhận gì: cả nguồn tin tức và chỉ mục hồ sơ SEC đều trống đối với bốn mã có mức chênh lệch giá (gap) lớn nhất.

Truy vấnCác catalyst được ghi nhận: tin tức và hồ sơ SEC theo từng mã, từ đóng cửa thứ Tư đến thứ Năm
Câu lệnh SQL chính xác đằng sau mỗi con số
SELECT
    ticker,
    toUInt32(sum(overnight_articles)) AS overnight_articles,
    toUInt32(sum(session_articles)) AS session_articles,
    toUInt32(sum(sec_filings)) AS sec_filings,
    toUInt32(sum(filings_8k)) AS filings_8k
FROM (
    SELECT
        arrayJoin(['AMD', 'KLAC', 'LRCX', 'META', 'MSFT', 'MU', 'NVDA', 'TER', 'WDC']) AS ticker,
        toUInt64(0) AS overnight_articles, toUInt64(0) AS session_articles,
        toUInt64(0) AS sec_filings, toUInt64(0) AS filings_8k
    UNION ALL
    SELECT
        arrayJoin(tickers) AS ticker,
        countIf(published_utc < '2026-07-09 13:30:00') AS overnight_articles,
        countIf(published_utc >= '2026-07-09 13:30:00') AS session_articles,
        toUInt64(0) AS sec_filings, toUInt64(0) AS filings_8k
    FROM global_markets.stocks_news
    WHERE published_utc >= '2026-07-08 20:00:00' AND published_utc < '2026-07-09 20:00:00'
    GROUP BY ticker
    UNION ALL
    SELECT
        ticker, toUInt64(0), toUInt64(0),
        count() AS sec_filings,
        countIf(form_type = '8-K') AS filings_8k
    FROM global_markets.stocks_sec_edgar_index
    WHERE filing_date >= '2026-07-08' AND filing_date <= '2026-07-09'
    GROUP BY ticker
)
WHERE ticker IN ('AMD', 'KLAC', 'LRCX', 'META', 'MSFT', 'MU', 'NVDA', 'TER', 'WDC')
GROUP BY ticker
ORDER BY ticker

0 bài viết qua đêm, 0 trong ngày, 0 hồ sơ SEC cho KLAC — các dòng dữ liệu cũng trống tương tự đối với LRCX, TER và WDC. NVDA, mã không hề có biến động gap, là mã được đề cập nhiều nhất trong chín mã (7 qua đêm, 9 trong ngày) và kết thúc phiên với sắc đỏ. Đây chỉ là sự chú ý của một nguồn tin, không phải toàn bộ truyền thông thế giới, và việc thiếu một dòng dữ liệu không đồng nghĩa với việc không có sự kiện xảy ra — nhưng không có gì trong dữ liệu của chúng tôi chỉ ra nguyên nhân, và "nguyên nhân chưa xác định" là một câu trả lời đầy đủ.

Bảng điểm

Mọi thay đổi đều được so sánh giữa phút cuối cùng của phiên giao dịch chính thức ngày 9 tháng 7 với ngày thứ Tư; các hàng được sắp xếp theo thứ tự bảng chữ cái để mỗi ETF giữ nguyên vị trí cố định.

Truy vấnSPY / QQQ / DIA / IWM — Ngày 9 tháng 7 so với đóng cửa ngày 8 tháng 7, giờ giao dịch chính thức
Câu lệnh SQL chính xác đằng sau mỗi con số
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-08 13:30:00' AND window_start < '2026-07-08 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-09 13:30:00' AND window_start < '2026-07-09 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

Cả bốn mã đều đóng cửa ở sắc xanh. QQQ dẫn đầu với mức tăng 1.67% — nhờ khoảng trống tăng giá 0.99% cộng với mức tăng 0.68%; mã vốn hóa nhỏ IWM tăng 1.29%, SPY tăng 0.85% lên mức $751.64, và DIA tụt lại phía sau với mức tăng 0.29%. Nhóm cổ phiếu tăng trưởng dẫn đầu, trong khi Dow Jones đứng cuối.

Ngày hôm nay có bất thường không?

Xét về mức chỉ số thì không: mức tăng 1.67% của QQQ so với phiên trước đó đứng thứ 10 trong số 21 phiên gần đây về độ lớn, còn mức biến động từ giá mở cửa đến giá đóng cửa của SPY chiếm 8 trong số 22. Sự biến động mạnh nằm ở giữa các nhóm cổ phiếu trong ngày.

Truy vấnBiến động ngày của SPY / QQQ trong bối cảnh trailing (~22 phiên)
Câu lệnh SQL chính xác đằng sau mỗi con số
SELECT
    round(anyIf(cc_pct, ticker = 'QQQ' AND d = toDate('2026-07-09')), 2) AS qqq_close_over_close_pct,
    arrayCount(x -> x > abs(anyIf(cc_pct, ticker = 'QQQ' AND d = toDate('2026-07-09'))), groupArrayIf(abs(cc_pct), ticker = 'QQQ' AND d != toDate('2026-07-09'))) + 1 AS qqq_abs_move_rank,
    countIf(ticker = 'QQQ' AND isFinite(cc_pct)) AS qqq_sessions_compared,
    round(anyIf(oc_pct, ticker = 'SPY' AND d = toDate('2026-07-09')), 2) AS spy_open_to_close_pct,
    arrayCount(x -> x > abs(anyIf(oc_pct, ticker = 'SPY' AND d = toDate('2026-07-09'))), groupArrayIf(abs(oc_pct), ticker = 'SPY' AND d != toDate('2026-07-09'))) + 1 AS spy_abs_move_rank,
    countIf(ticker = 'SPY') AS spy_sessions_compared,
    toString(min(d)) AS first_session
FROM (
    SELECT ticker, d,
           if(isFinite(close_px / lagInFrame(close_px) OVER (PARTITION BY ticker ORDER BY d) - 1),
              (close_px / lagInFrame(close_px) OVER (PARTITION BY ticker ORDER BY d) - 1) * 100, NULL) 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-08 13:30:00')
          AND window_start < toDateTime('2026-07-10 00:00:00')
          AND (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199
        GROUP BY ticker, d
    )
)

Độ rộng thị trường: phiên giao dịch rộng nhất trong tuần

Truy vấnĐộ rộng liquid-tape: tỷ lệ advancer ngày 9 tháng 7 so với ngày 8 tháng 7, lọc theo khối lượng giao dịch $1M
Câu lệnh SQL chính xác đằng sau mỗi con số
SELECT
    countIf(close_9 > close_8 AND close_8 > 0 AND dv_9 >= 1000000) AS advancers,
    countIf(close_9 < close_8 AND close_8 > 0 AND dv_9 >= 1000000) AS decliners,
    countIf(close_9 = close_8 AND close_8 > 0 AND dv_9 >= 1000000) AS unchanged,
    countIf(close_8 > 0 AND close_9 > 0 AND dv_9 >= 1000000) AS liquid_tickers,
    countIf(close_8 > 0 AND close_9 > 0) AS traded_both_sessions,
    countIf(close_8 > 0 AND close_9 > 0) - countIf(close_8 > 0 AND close_9 > 0 AND dv_9 >= 1000000) AS dropped_by_liquidity_filter,
    round(100.0 * countIf(close_9 > close_8 AND close_8 > 0 AND dv_9 >= 1000000) / countIf(close_8 > 0 AND close_9 > 0 AND dv_9 >= 1000000), 1) AS advancer_pct,
    round(100.0 * countIf(close_8 > close_7 AND close_7 > 0 AND dv_8 >= 1000000) / countIf(close_8 > 0 AND close_7 > 0 AND dv_8 >= 1000000), 1) AS jul8_advancer_pct
FROM (
    SELECT ticker,
           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,
           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,
           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,
           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
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE window_start >= '2026-07-07 13:30:00' AND window_start < '2026-07-09 20:00:00'
    GROUP BY ticker
)

4263 mã tăng so với 1631 mã giảm — tỷ lệ mã tăng đạt 71.5% sau 29.6% vào thứ Tư, cùng cách tính, cùng bộ lọc khối lượng giao dịch 1 triệu USD (5385 trong số 11351 mã nằm dưới mức này). So với các ngày còn lại trong tuần:

Truy vấnDiễn biến trong tuần: biến động chỉ số và tỷ lệ advancer cho mỗi phiên đã hoàn tất
Câu lệnh SQL chính xác đằng sau mỗi con số
WITH per_day AS (
    SELECT ticker,
           toDate(toTimeZone(window_start, 'America/New_York')) AS d,
           argMax(toFloat64(close), window_start) AS c,
           sum(toFloat64(close) * toFloat64(volume)) AS dv
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE window_start >= '2026-07-02 13:30:00' AND window_start < '2026-07-09 20:00:00'
      AND (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199
    GROUP BY ticker, d
),
lagged AS (
    SELECT ticker, d, c, dv,
           lagInFrame(c) OVER (PARTITION BY ticker ORDER BY d) AS prev_c
    FROM per_day
)
SELECT
    toString(d) AS date,
    round(anyIf((c / prev_c - 1) * 100, ticker = 'SPY'), 2) AS spy_pct,
    round(anyIf((c / prev_c - 1) * 100, ticker = 'QQQ'), 2) AS qqq_pct,
    round(100.0 * countIf(c > prev_c AND prev_c > 0 AND dv >= 1000000) / countIf(c > 0 AND prev_c > 0 AND dv >= 1000000), 1) AS advancer_pct,
    countIf(c > 0 AND prev_c > 0 AND dv >= 1000000) AS liquid_names
FROM lagged
WHERE d >= toDate('2026-07-06')
GROUP BY d
ORDER BY d

Thứ Hai bắt đầu với 62.4% mã tăng, thứ Ba và thứ Tư giảm xuống còn 33.9% và 29.6%, và mức 71.4% của thứ Năm là mức cao nhất trong bốn phiên đã hoàn tất của tuần (thứ Sáu ngày 10 tháng 7 nằm sau bản tóm tắt này). QQQ cũng đi theo xu hướng này: -1.82% thứ Ba, 0.25% thứ Tư, +1.67% thứ Năm.

Ngoài nhóm chip: diễn biến của các nhóm cổ phiếu khác

Chỉ số breadth cho thấy hầu hết các cổ phiếu đều tăng; tuy nhiên đà tăng không đồng đều. Dưới đây là rổ cổ phiếu có trọng số bằng nhau, gồm ba mã thanh khoản cao cho mỗi ngành, được giữ nguyên mỗi ngày.

Truy vấnTám nhóm ngành được xác định, mỗi nhóm ba mã: so sánh đóng cửa ngày 9 tháng 7 với ngày 8 tháng 7, trọng số bằng nhau
Câu lệnh SQL chính xác đằng sau mỗi con số
SELECT
    sector,
    count() AS names,
    round(avg(pct_chg), 2) AS avg_pct_chg,
    round(min(pct_chg), 2) AS worst_name_pct,
    round(max(pct_chg), 2) AS best_name_pct,
    round(avg(pct_chg) - max(avg(pct_chg)) OVER (), 2) AS gap_to_best_sector_pct
FROM (
    SELECT
        ticker,
        multiIf(ticker IN ('AMD', 'AVGO', 'KLAC'), 'Semiconductors',
                ticker IN ('AAPL', 'MSFT', 'GOOGL'), 'Big tech',
                ticker IN ('JPM', 'BAC', 'GS'), 'Financials',
                ticker IN ('CAT', 'HON', 'GE'), 'Industrials',
                ticker IN ('XOM', 'CVX', 'COP'), 'Energy',
                ticker IN ('JNJ', 'UNH', 'PFE'), 'Healthcare',
                ticker IN ('KO', 'PG', 'WMT'), 'Staples',
                'Utilities') AS sector,
        (toFloat64(argMaxIf(close, window_start, window_start >= '2026-07-09 13:30:00' AND window_start < '2026-07-09 20:00:00'))
         / toFloat64(argMaxIf(close, window_start, window_start >= '2026-07-08 13:30:00' AND window_start < '2026-07-08 20:00:00')) - 1) * 100 AS pct_chg
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker IN ('AMD', 'AVGO', 'KLAC', 'AAPL', 'MSFT', 'GOOGL', 'JPM', 'BAC', 'GS', 'CAT', 'HON', 'GE',
                     'XOM', 'CVX', 'COP', 'JNJ', 'UNH', 'PFE', 'KO', 'PG', 'WMT', 'NEE', 'DUK', 'SO')
      AND window_start >= '2026-07-08 13:30:00' AND window_start < '2026-07-09 20:00:00'
    GROUP BY ticker
)
GROUP BY sector
ORDER BY avg_pct_chg DESC

Semiconductors dẫn đầu với mức tăng +4.24%, trong khi Energy thấp nhất ở mức -2.01% — chênh lệch là -6.25 điểm (gap_to_best_sector_pct). Nhóm Tài chính là nhóm không thuộc ngành chip tăng mạnh nhất với mức +1.88%; nhóm Hàng tiêu dùng thiết yếu (-0.91%), Tiện ích (-0.96%) và Năng lượng đều đóng cửa ở sắc đỏ. Nhóm Big tech (AAPL, MSFT và GOOGL) có mức tăng trung bình khiêm tốn là +0.17%. Biến động đảo chiều lớn nhất trong ngày là mức tăng 8.1% của META, nằm ngoài cả tám rổ cổ phiếu; trong rổ này, cú đảo chiều mạnh nhất là của MSFT khi mở cửa ở mức -2.25% và đóng cửa ở mức +0.33%.

Mở cửa nhóm bán dẫn và đà giảm sau đó

gap_pct là mức so với giá đóng cửa hôm thứ Tư; intraday_pct là biến động trong ngày. Các hàng được sắp xếp theo thứ tự bảng chữ cái.

Truy vấnMười bốn mã chip: gap tại mức mở cửa so với phần còn lại của ngày, ngày 9 tháng 7
Câu lệnh SQL chính xác đằng sau mỗi con số
WITH per_name AS (
    SELECT
        ticker,
        toFloat64(argMaxIf(close, window_start, window_start < '2026-07-09 00:00:00')) AS prior_close,
        toFloat64(argMinIf(open, window_start, window_start >= '2026-07-09 00:00:00')) AS day_open,
        toFloat64(argMaxIf(close, window_start, window_start >= '2026-07-09 00:00:00')) AS day_close,
        maxIf(toFloat64(high), window_start >= '2026-07-09 00:00:00') AS day_high,
        minIf(toFloat64(low), window_start >= '2026-07-09 00:00:00') AS day_low,
        round(sumIf(toFloat64(close) * toFloat64(volume), window_start >= '2026-07-09 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-08 13:30:00' AND window_start < '2026-07-08 20:00:00')
        OR (window_start >= '2026-07-09 13:30:00' AND window_start < '2026-07-09 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 ticker

KLAC mở cửa ở mức +8.14% so với giá đóng cửa hôm thứ Tư, sau đó giảm -3.98%; LRCX mở cửa +9.67% rồi giảm -3.26%; TER (+7.87%) và WDC (+7.89%) có diễn biến tương tự. MU nhảy gap +7.07%, giảm -2.56%, nhưng vẫn đóng cửa ở mức +4.33% với khối lượng giao dịch 33.56B — cổ phiếu có khối lượng lớn nhất thị trường trong phiên thứ hai (tóm tắt phiên thứ Tư có thông tin phiên đầu tiên). AMDSNDK là những ngoại lệ: AMD tăng thêm 1.75% sau khi mở cửa ở mức +3.87% để chốt phiên ở mức +5.68%, còn SNDK, vốn đã +6.14% khi mở cửa, đã tăng thêm 1.23% để đóng cửa ở mức +7.45%. Và NVDA: mở cửa +0.16% — không có gap — và đóng cửa ở mức -0.68%.

Truy vấnReceipts: số lượng mã xanh/đỏ ngày 9 tháng 7 trong mười bốn mã, và sự xoay chuyển hai ngày của NVDA
Câu lệnh SQL chính xác đằng sau mỗi con số
SELECT
    countIf(close_9 > close_8) AS jul9_green,
    countIf(close_9 < close_8) AS jul9_red,
    countIf(close_8 > close_7) AS jul8_green,
    round(anyIf((close_9 / close_8 - 1) * 100, ticker = 'NVDA'), 2) AS nvda_jul9_pct,
    round(anyIf((close_8 / close_7 - 1) * 100, ticker = 'NVDA'), 2) AS nvda_jul8_pct,
    count() AS names_counted
FROM (
    SELECT ticker,
           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,
           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
    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-09 20:00:00'
    GROUP BY ticker
)

12 trong số mười bốn mã đóng cửa ở sắc xanh; các mã đóng cửa ở sắc đỏ chiếm 2 là những trường hợp ngược chiều — một sự bất thường về cấu trúc trong một ngày tăng điểm — và NVDA ở mức -0.68%, sau một ngày đóng cửa ở mức +3.66%. Cổ phiếu chip có vốn hóa lớn nhất thị trường đã đứng ngoài đà tăng của chính nhóm ngành mình, dù là cái tên nhận được nhiều tin tức nhất.

Mặt khác: các cổ phiếu vốn hóa lớn mở cửa giảm và phục hồi

Truy vấnTám mã mega-cap và defensives: gap tại mức mở cửa so với phần còn lại của ngày, ngày 9 tháng 7
Câu lệnh SQL chính xác đằng sau mỗi con số
WITH per_name AS (
    SELECT
        ticker,
        toFloat64(argMaxIf(close, window_start, window_start < '2026-07-09 00:00:00')) AS prior_close,
        toFloat64(argMinIf(open, window_start, window_start >= '2026-07-09 00:00:00')) AS day_open,
        toFloat64(argMaxIf(close, window_start, window_start >= '2026-07-09 00:00:00')) AS day_close,
        round(sumIf(toFloat64(close) * toFloat64(volume), window_start >= '2026-07-09 00:00:00') / 1e9, 2) AS day_dollar_bn
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker IN ('AAPL', 'AMZN', 'CVX', 'GOOGL', 'JNJ', 'META', 'MSFT', 'TSLA')
      AND ((window_start >= '2026-07-08 13:30:00' AND window_start < '2026-07-08 20:00:00')
        OR (window_start >= '2026-07-09 13:30:00' AND window_start < '2026-07-09 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 ticker

Bảy trong số tám mã mở cửa thấp hơn mức đóng cửa hôm thứ Tư; sự khác biệt nằm ở diễn biến sau đó. META mở cửa giảm -3.16% và tăng lên mức +8.1% để đóng cửa ở mức 4.69% — đây là đợt đảo chiều từ lúc mở cửa đến khi đóng cửa mạnh mẽ nhất trong danh sách. MSFT mở cửa giảm -2.25% và phục hồi lên mức +0.33%; AMZN (+1.4%) và AAPL (+0.93%) cũng có xu hướng tương tự; TSLA không có khoảng trống giá và tăng lên mức +3.21%. Những mã không phục hồi không thuộc nhóm tăng trưởng: GOOGL (-0.76%), CVX (-1.06%), JNJ (-1.62%). Tại sao cổ phiếu có khoảng trống giá qua đêm giải thích cơ chế này.

Where the money traded

Truy vấnTop 6 theo giá trị giao dịch, top 4 theo số lượng cổ phiếu — Ngày 9 tháng 7 giờ giao dịch chính thức
Câu lệnh SQL chính xác đằng sau mỗi con số
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-09 13:30:00' AND window_start < '2026-07-09 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-09 13:30:00' AND window_start < '2026-07-09 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

MU topped the dollar board again at 33.56B, over SPY (24.37B), NVDA (21.28B) and SNDK (20.59B) — memory in two of the top four slots. The shares board is a different market: SOXS led at 558.1M shares, implied price $3.91 (relative volume).

Truy vấnSố lượng cổ phiếu theo mỗi khung 30 phút ET, giờ giao dịch chính thức, kèm % của khung lớn nhất trong ngày
Câu lệnh SQL chính xác đằng sau mỗi con số
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-09 13:30:00' AND window_start < '2026-07-09 20:00:00'
GROUP BY et_time
ORDER BY et_time

A textbook U: the open bucket ran 1.79B shares (91.4% of the biggest), the midday trough 0.64B, and the closing auction half-hour was the day's biggest at 1.96B. Even on a day made at its open, the volume finished at the close.

Dòng lệnh options

Truy vấnOptions tape: các lệnh khớp, số lượng hợp đồng, % call, tỷ lệ 0DTE so với thứ Tư, các hợp đồng hàng đầu
Câu lệnh SQL chính xác đằng sau mỗi con số
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) = '260709', 1, 0) AS is_0dte
            FROM global_markets.options_trades
            WHERE sip_timestamp >= '2026-07-09 00:00:00' AND sip_timestamp < '2026-07-10 00:00:00'
            GROUP BY ticker
            ORDER BY vol DESC
            LIMIT 3
        )
    ) AS top3,
    (
        SELECT round(toFloat64(argMax(close, window_start)), 2)
        FROM global_markets.delayed_stocks_minute_aggs
        WHERE ticker = 'SPY' AND window_start >= '2026-07-09 13:30:00' AND window_start < '2026-07-09 20:00:00'
    ) AS spy_regular_close,
    (
        SELECT round(toFloat64(sum(size)) / 1e6, 2)
        FROM global_markets.options_trades
        WHERE sip_timestamp >= '2026-07-08 00:00:00' AND sip_timestamp < '2026-07-09 00:00:00'
    ) AS jul8_contracts_m,
    (
        SELECT round(100.0 * sumIf(size, substring(ticker, length(ticker) - 14, 6) = '260708') / sum(size), 1)
        FROM global_markets.options_trades
        WHERE sip_timestamp >= '2026-07-08 00:00:00' AND sip_timestamp < '2026-07-09 00:00:00'
    ) AS jul8_pct_0dte
SELECT
    round(count() / 1e6, 2) AS option_prints_m,
    round(toFloat64(sum(size)) / 1e6, 2) AS contracts_m,
    jul8_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) = '260709') / sum(size), 1) AS pct_0dte,
    jul8_pct_0dte,
    spy_regular_close,
    top3.1[1] AS top1_und, top3.2[1] AS top1_strike, top3.3[1] AS top1_type,
    round(toFloat64(top3.4[1]) / 1e3, 1) AS top1_contracts_k, top3.5[1] AS top1_avg_px, top3.6[1] AS top1_is_0dte,
    top3.1[2] AS top2_und, top3.2[2] AS top2_strike, top3.3[2] AS top2_type, top3.6[2] AS top2_is_0dte,
    top3.1[3] AS top3_und, top3.2[3] AS top3_strike, top3.3[3] AS top3_type, top3.6[3] AS top3_is_0dte,
    round(toFloat64(top3.2[1]) - spy_regular_close, 2) AS top1_moneyness
FROM global_markets.options_trades
WHERE sip_timestamp >= '2026-07-09 00:00:00' AND sip_timestamp < '2026-07-10 00:00:00'

Dòng lệnh ghi nhận 9.99M lệnh in và 58.85M hợp đồng — thấp hơn mức 63.26M của thứ Tư — trong đó các lệnh call chiếm 58% khối lượng, tỷ trọng cổ phiếu 0DTE giảm xuống 28.7% từ mức 38.7%. Ba hợp đồng giao dịch nhiều nhất đều là các lệnh call SPY cùng ngày — gồm 751C (846.6K hợp đồng, giá trung bình $0.526), 752C750C — tạo thành một thang giá quanh mức đóng cửa $751.64 của SPY (0DTE options cung cấp thông tin về sản phẩm này).

Phòng vệ hay đặt cược? Phòng vệ là mua các mức strike xa mức at-the-money; đặt cược là mua theo hướng kỳ vọng.

Truy vấnOptions SPY cùng ngày (0DTE): số lượng hợp đồng theo khoảng cách strike từ giá đóng cửa
Câu lệnh SQL chính xác đằng sau mỗi con số
WITH (
    SELECT toFloat64(argMax(close, window_start))
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker = 'SPY' AND window_start >= '2026-07-09 13:30:00' AND window_start < '2026-07-09 20:00:00'
) AS spy_close
SELECT
    multiIf(dist < -2, 'Strike >2% below close',
            dist < -0.5, 'Strike 0.5-2% below',
            dist <= 0.5, 'Strike within 0.5%',
            dist <= 2, 'Strike 0.5-2% above',
            'Strike >2% above close') AS strike_bucket,
    round(toFloat64(sumIf(size, option_type = 'C')) / 1e3, 1) AS call_contracts_k,
    round(toFloat64(sumIf(size, option_type = 'P')) / 1e3, 1) AS put_contracts_k,
    round(100.0 * sumIf(size, option_type = 'C') / sum(size), 1) AS call_share_pct
FROM (
    SELECT option_type, size, (toFloat64(strike_price) / spy_close - 1) * 100 AS dist
    FROM global_markets.options_trades
    WHERE sip_timestamp >= '2026-07-09 00:00:00' AND sip_timestamp < '2026-07-10 00:00:00'
      AND underlying_symbol = 'SPY'
      AND substring(ticker, length(ticker) - 14, 6) = '260709'
)
GROUP BY strike_bucket
ORDER BY min(dist)

Dòng lệnh cùng ngày tập trung tại mức at-the-money: 3768.9k lệnh call và 2563.3k lệnh put trong phạm vi nửa phần trăm so với giá đóng cửa (59.5% lệnh call). Các lệnh ở vùng wings phân hóa theo hướng — dưới mức đóng cửa, có 1356.5k lệnh put so với 255.4k lệnh call (1.2% tỷ trọng call nằm sâu hơn); trên mức đóng cửa, các lệnh call chiếm 91.6% trong một nhóm mỏng hơn nhiều với 29.1k lệnh. Khối lượng ở vùng wings tập trung vào các mức strike giảm giá, nơi nhu cầu mua phòng vệ tăng cao: một thang giá tập trung ở mức at-the-money, thay vì ở phía tăng giá.

Bảng giá niêm yết

Truy vấnSố lần cập nhật NBBO của cổ phiếu: ngày 9 tháng 7 so với ngày 8 tháng 7, kèm cập nhật ticker cụ thể (triệu)
Câu lệnh SQL chính xác đằng sau mỗi con số
SELECT
    round(countIf(toDate(sip_timestamp) = toDate('2026-07-09')) / 1e6, 2) AS jul9_updates_m,
    round(countIf(toDate(sip_timestamp) = toDate('2026-07-08')) / 1e6, 2) AS jul8_updates_m,
    round((countIf(toDate(sip_timestamp) = toDate('2026-07-09')) / countIf(toDate(sip_timestamp) = toDate('2026-07-08')) - 1) * 100, 1) AS day_over_day_pct,
    round(countIf(toDate(sip_timestamp) = toDate('2026-07-09') AND ticker = 'SPY') / 1e6, 2) AS jul9_spy_updates_m,
    round(countIf(toDate(sip_timestamp) = toDate('2026-07-09') AND ticker = 'QQQ') / 1e6, 2) AS jul9_qqq_updates_m,
    round(countIf(toDate(sip_timestamp) = toDate('2026-07-09') AND ticker = 'NVDA') / 1e6, 2) AS jul9_nvda_updates_m,
    round(countIf(toDate(sip_timestamp) = toDate('2026-07-09') AND ticker = 'TSLA') / 1e6, 2) AS jul9_tsla_updates_m,
    round(countIf(toDate(sip_timestamp) = toDate('2026-07-09') AND ticker = 'MU') / 1e6, 2) AS jul9_mu_updates_m
FROM global_markets.cache_stocks_quotes
WHERE sip_timestamp >= '2026-07-08 00:00:00' AND sip_timestamp < '2026-07-10 00:00:00'

Một thực tế ít được chú ý nhất trong ngày: 383.44M cập nhật NBBO trên bảng giá cổ phiếu, tăng -27.7% so với thứ Tư. Sự biến động mạnh nằm ở các mức giá, không phải ở khối lượng giao dịch tại mức giá khớp lệnh. QQQ dẫn đầu các mã cổ phiếu được nêu tên với 4.35M, vượt qua mức 2.71M của SPY và 1.83M của NVDA.

Truy vấnSPY / QQQ / NVDA / TSLA / MU / SNDK / AVGO: median quoted spread trong RTH tính bằng basis points
Câu lệnh SQL chính xác đằng sau mỗi con số
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-09 13:30:00' AND sip_timestamp < '2026-07-09 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

Mức spread niêm yết trung vị của SPY là 0.27 bps, QQQ là 0.42, và NVDA là 0.99 — những con số bình thường. Các mức spread cao hơn bao gồm: MU ở mức 4.23 bps, SNDK ở mức 8.79 bps (bid-ask spread là chi phí mà chỉ số này đo lường).

Truy vấnRTH average quoted spread của SPY trong bối cảnh trailing-month
Câu lệnh SQL chính xác đằng sau mỗi con số
SELECT
    round(anyIf(avg_spread_cents, d = toDate('2026-07-09')), 3) AS jul9_avg_spread_cents,
    arrayCount(x -> x < anyIf(avg_spread_cents, d = toDate('2026-07-09')), groupArrayIf(avg_spread_cents, d != toDate('2026-07-09'))) + 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
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
    FROM global_markets.cache_stocks_quotes
    WHERE ticker = 'SPY'
      AND sip_timestamp >= toDateTime('2026-06-08 00:00:00')
      AND sip_timestamp < toDateTime('2026-07-10 00:00:00')
      AND (toHour(sip_timestamp) * 60 + toMinute(sip_timestamp)) BETWEEN 810 AND 1199
    GROUP BY d
)

Mức spread niêm yết trung bình của SPY đạt 2.071 cents, xếp thứ 10 trong số 22 phiên gần đây, nằm trong khoảng từ 1.809 đến 2.865 cent: không có áp lực lên báo giá, ngay cả tại thời điểm mở cửa đó.

Truy vấnOptions NBBO tape: tổng số lần cập nhật so với stock tape, kèm phần SPY root slice
Câu lệnh SQL chính xác đằng sau mỗi con số
WITH
    (SELECT count() FROM global_markets.cache_options_quotes WHERE sip_timestamp >= '2026-07-09 00:00:00' AND sip_timestamp < '2026-07-10 00:00:00') AS jul9_options_rows,
    (SELECT count() FROM global_markets.cache_stocks_quotes WHERE sip_timestamp >= '2026-07-09 00:00:00' AND sip_timestamp < '2026-07-10 00:00:00') AS jul9_stock_quote_rows
SELECT
    round(jul9_options_rows / 1e9, 2) AS jul9_options_bn,
    round(jul9_options_rows / jul9_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-09 13:30:00' AND sip_timestamp < '2026-07-09 20:00:00') / 1e6, 0) AS jul9_spy_options_m

Bảng giá quyền chọn ghi nhận 6.9 tỷ cập nhật NBBO — gấp 18 lần so với bảng giá cổ phiếu, riêng mã SPY đã đạt 242M.

Lãi suất: dữ liệu ngày 9 tháng 7

Truy vấnTrạng thái print Treasury: các dòng ngày 9 tháng 7, và đường cong lãi suất ngày 8 tháng 7 (tại thời điểm soạn thảo)
Câu lệnh SQL chính xác đằng sau mỗi con số
SELECT
    (SELECT count() FROM global_markets.treasury_yields WHERE date = '2026-07-09') AS jul9_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,
    round(toFloat64(any(yield_10_year)) - toFloat64(any(yield_2_year)), 2) AS latest_2s10s_pct
FROM global_markets.treasury_yields
WHERE date = '2026-07-09'

Dữ liệu trái phiếu kho bạc ngày 9 tháng 7 được công bố sau khi bài viết hoàn tất, theo độ trễ thông thường của tệp lợi suất hàng ngày — hiện đã ghi nhận dòng 1. Đường cong lợi suất trong ngày (2026-07-09): lợi suất 2 năm 4.16%, 10 năm 4.54%, 30 năm 5.05%, và chênh lệch 2s10s 0.38 — lợi suất 2 năm giảm nhẹ so với mức ngày 8 tháng 7 trong khi các kỳ hạn dài vẫn giữ nguyên.

Lịch trình trong ngày

Truy vấnEx-divs, splits, hồ sơ SEC, tin tức đáng chú ý
Câu lệnh SQL chính xác đằng sau mỗi con số
WITH
    (
        SELECT (count(), uniqExact(publisher))
        FROM global_markets.stocks_news
        WHERE toDate(toTimeZone(published_utc, 'America/New_York')) = '2026-07-09'
    ) 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-09'
            )
            WHERE t != 'SPCX'
            GROUP BY t
        )
    ) AS top_news
SELECT
    (SELECT count() FROM global_markets.stocks_dividends WHERE ex_dividend_date = '2026-07-09') AS ex_dividend_records,
    (SELECT count() FROM global_markets.stocks_splits WHERE execution_date = '2026-07-09') AS splits_executed,
    (SELECT countIf(toFloat64(split_from) > toFloat64(split_to)) FROM global_markets.stocks_splits WHERE execution_date = '2026-07-09') AS reverse_splits,
    (SELECT countIf(toFloat64(split_to) > toFloat64(split_from)) FROM global_markets.stocks_splits WHERE execution_date = '2026-07-09') AS forward_splits,
    (SELECT countIf(form_type = '424B2') FROM global_markets.stocks_sec_edgar_index WHERE filing_date = '2026-07-09') AS fil_424b2,
    (SELECT countIf(form_type = '4') FROM global_markets.stocks_sec_edgar_index WHERE filing_date = '2026-07-09') AS fil_form4,
    (SELECT countIf(form_type = '8-K') FROM global_markets.stocks_sec_edgar_index WHERE filing_date = '2026-07-09') AS fil_8k,
    (SELECT count() FROM global_markets.stocks_sec_edgar_index WHERE filing_date = '2026-07-09') 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,
    if(top_news.1 = 'NVDA', 1, 0) AS top_news_is_nvda

Một lịch trình thông thường với những biến động bất thường: hồ sơ ex-dividend của 127, các đợt reverse splits 5, forward split 1, và các hồ sơ SEC của 2979 (bao gồm 623 Form 4s, 605 424B2s, 149 8-Ks). Luồng dữ liệu đã chạy 184 bài viết qua 3 nhà xuất bản; ticker được đề cập nhiều nhất là NVDA với 20 bài viết, tiếp theo là 8.

Sắp tới

Dữ liệu từ bảng của chúng tôi — các sự kiện thực tế cho phiên tới, không phải dự báo.

Truy vấnSắp tới: phiên tiếp theo, danh sách ex-dividend, thang expiry SPY, và đồng hồ short-interest
Câu lệnh SQL chính xác đằng sau mỗi con số
SELECT
    toString(min(d)) AS next_session_date,
    (SELECT count() FROM global_markets.stocks_market_holidays WHERE date = '2026-07-10') AS next_session_holiday_rows,
    (SELECT count() FROM global_markets.stocks_dividends WHERE ex_dividend_date = '2026-07-10') AS ex_div_records_next,
    (SELECT countIf(ticker IN ('AAPL', 'MSFT', 'JNJ', 'KO', 'PG', 'XOM', 'CVX', 'JPM', 'WMT', 'PEP', 'HON', 'CAT'))
     FROM global_markets.stocks_dividends WHERE ex_dividend_date = '2026-07-10') AS household_ex_div_next,
    (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'
       AND underlying_symbol = 'SPY' AND substring(ticker, length(ticker) - 14, 6) = '260710') AS spy_next_expiry_contracts_m,
    (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'
       AND underlying_symbol = 'SPY' AND substring(ticker, length(ticker) - 14, 6) = '260717') AS spy_monthly_expiry_contracts_m,
    (SELECT toString(max(settlement_date)) FROM global_markets.stocks_short_interest) AS latest_short_settlement,
    (SELECT count() FROM global_markets.stocks_short_interest WHERE settlement_date = '2026-07-15') AS jul15_short_rows
FROM (
    SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS d
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker = 'SPY' AND window_start >= '2026-07-10 00:00:00' AND window_start < '2026-07-14 00:00:00'
)

Phiên tới là 2026-07-10, với 0 ngày lễ tương ứng: một ngày thứ Sáu bình thường. 153 công ty sẽ chốt quyền nhận cổ tức vào sáng hôm đó, trong đó có 0 công ty nằm trong danh sách các thương hiệu phổ biến của chúng tôi. Kỳ hạn SPY vào thứ Sáu là kỳ hạn lớn nhất đã được giao dịch — đạt 1.66M hợp đồng vào ngày 9 tháng 7 so với 0.57M của kỳ hạn tháng 7. Thời gian cập nhật short-interest: dữ liệu quyết toán mới nhất là 2026-06-30, còn 0 dòng dữ liệu cho giữa tháng 7 chưa được nộp — FINRA công bố dữ liệu này khoảng tám ngày làm việc sau khi quyết toán (tại sao short interest thường trễ hai tuần).

Phiên giao dịch đã xác thực

Truy vấnXác nhận phiên: thanh SPY đầu/cuối theo ET, số lượng thanh giao dịch chính thức, receipts ngày lễ, thời điểm đóng cửa tiếp theo
Câu lệnh SQL chính xác đằng sau mỗi con số
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-09 13:30:00' AND window_start < '2026-07-09 20:00:00') AS regular_session_bars,
    uniqExactIf(toDate(toTimeZone(window_start, 'America/New_York')), window_start >= '2026-07-09 13:30:00' AND window_start < '2026-07-09 20:00:00') AS day_sessions,
    (SELECT count() FROM global_markets.stocks_market_holidays WHERE date = '2026-07-09') AS jul9_holiday_rows,
    (SELECT toString(min(date)) FROM global_markets.stocks_market_holidays WHERE date > '2026-07-09' AND status = 'closed') AS next_closure_date,
    (SELECT concat(monthName(min(date)), ' ', toString(toDayOfMonth(min(date))), ', ', toString(toYear(min(date))))
     FROM global_markets.stocks_market_holidays WHERE date > '2026-07-09' AND status = 'closed') AS next_closure_label,
    (SELECT argMin(name, date) FROM global_markets.stocks_market_holidays WHERE date > '2026-07-09' AND status = 'closed') AS next_closure_name
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY' AND window_start >= '2026-07-09 00:00:00' AND window_start < '2026-07-10 00:00:00'

Một phiên giao dịch bình thường đầy đủ: thanh SPY đầu tiên lúc 04:00 ET, thanh cuối cùng lúc 19:59 ET, gồm 390 thanh phút thông thường, không có dòng ngày lễ. Thời điểm đóng cửa tiếp theo: Labor Day, September 7, 2026.

FAQ

Chuyện gì đã xảy ra trên thị trường chứng khoán vào ngày 9 tháng 7 năm 2026?

Tất cả các index ETF đều đóng cửa ở mức cao hơn — QQQ +1.67%, IWM +1.29%, SPY +0.85%, DIA +0.29%, và 71.5% cổ phiếu thanh khoản tăng điểm. Các cổ phiếu thiết bị chip có khoảng trống tăng giá rồi giảm dần; các cổ phiếu mega-cap có khoảng trống giảm giá rồi hồi phục.

Tại sao các cổ phiếu thiết bị chip như KLAC và LRCX lại tăng mạnh vào ngày 9 tháng 7 năm 2026?

Dữ liệu của chúng tôi không ghi nhận lý do: không có bài báo hay hồ sơ SEC nào cho KLAC, LRCX, TER hay WDC từ lúc đóng cửa thứ Tư đến hết thứ Năm. Biến động này đã được phản ánh vào giá trong phiên premarket, trước 9:30 sáng ET.

Tại sao NVDA giảm trong khi nhóm ngành chip lại tăng trưởng?

NVDA đóng cửa ở mức -0.68% trong khi 12 trong số mười bốn cổ phiếu chip đóng cửa ở sắc xanh. Cổ phiếu này không có khoảng trống giá (0.16% tại thời điểm mở cửa) và là ticker được theo dõi nhiều nhất với 20 bài báo — mức độ xuất hiện đồng thời kỷ lục, nhưng nguyên nhân không nằm trong dữ liệu này.

Ngày 9 tháng 7 năm 2026 có phải là một ngày bất thường đối với thị trường không?

Không xét ở cấp độ chỉ số: biến động của QQQ xếp hạng 10 trong số 21 phiên giao dịch trước đó về độ lớn, spread trung bình của SPY là 10 của 22. Sự phân tán bên dưới là: -6.25 điểm giữa nhóm ngành tốt nhất và tệ nhất.

Ghi chú dữ liệu

Giờ giao dịch chính thức là 13:3020:00 UTC (9:30 am–4:00 pm ET); bảng dữ liệu premarket sử dụng khung giờ 08:00–13:30 UTC. Tám rổ ngành được lựa chọn và phân bổ trọng số bằng nhau — mỗi rổ gồm ba mã có tính thanh khoản cao, mọi ticker được liệt kê trong SQL của bảng đó. Đây là phương pháp được công bố, không phải phân loại từ nhà cung cấp: ba mã đại diện cho nhóm đó, không phải cho toàn bộ ngành. Bảng dữ liệu chất xúc tác chỉ tính dựa trên nguồn tin tức của chúng tôi và chỉ số EDGAR.

Ghi chú dữ liệu đầy đủ

Các bảng theo từng ticker được sắp xếp theo thứ tự bảng chữ cái, vì vậy mỗi tham chiếu trong văn bản sẽ tương ứng với một hàng cố định; các bảng xếp hạng được sắp xếp theo giá trị, mọi vị trí đều được giới hạn cụ thể. Dữ liệu trái phiếu kho bạc và quyết toán vị thế bán khống (short-interest) vào giữa tháng bảy được giới hạn ở mức không có hàng dữ liệu — khi có dữ liệu, bài viết này sẽ được viết lại.

Phương pháp luận

  • Nguồn dữ liệu: mỗi bảng dữ liệu sử dụng các bảng SQL riêng biệt — bao gồm dữ liệu tổng hợp theo phút, bộ nhớ đệm NBBO của cổ phiếu và quyền chọn, giao dịch quyền chọn, nguồn tin tức, chỉ mục EDGAR, cổ tức, vị thế bán khống, ngày lễ và lợi suất trái phiếu kho bạc.
  • Quy ước: sử dụng giá trị UTC gốc trong mệnh đề WHERE, chỉ sử dụng nhãn ET trong mệnh đề SELECT; gap = giá mở cửa của thanh nến thông thường đầu tiên ÷ giá đóng cửa thông thường trước đó − 1; các số liệu của phiên trước và tuần trước được tính toán trực tiếp trong truy vấn, không lấy từ các bài viết trước đó. Dữ liệu kho lưu trữ tính đến ngày 13 tháng 7 năm 2026.