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

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

Tổng hợp phiên 28/7/2026 với bảng điểm chỉ số, độ rộng, chênh lệch ngành, options flow, quote tape, lãi suất và lịch kinh tế để bạn đối chiếu toàn cảnh.

Bản tổng kết thị trường cho phiên thứ Ba, ngày 28 tháng 7 năm 2026, đọc toàn bộ diễn biến phiên từ các truy vấn đã lưu: mức thay đổi close-over-close của SPY là 0.24%, tỷ lệ mã tăng giá trên bảng điện có thanh khoản cao là 58.6%, và bảng điện phái sinh ghi nhận 59.28 triệu hợp đồng. Mọi khoảng thời gian dưới đây đều được cố định bằng ngày bắt đầu và ngày kết thúc cụ thể, nên khi chạy lại SQL của bất kỳ bảng nào, các số liệu này sẽ không thay đổi.

Bảng điểm

Mọi thay đổi đều so sánh thanh giá của phút cuối trong phiên thông thường ngày 28 tháng 7 với ngày 27 tháng 7, là hai phiên giao dịch liên tiếp. Các dòng được sắp xếp theo thứ tự bảng chữ cái, vì vậy mỗi ETF giữ nguyên vị trí.

Truy vấnSPY / QQQ / DIA / IWM: ngày 28/7 so với giá đóng cửa ngày 27/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-27 13:30:00' AND window_start < '2026-07-27 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-28 13:30:00' AND window_start < '2026-07-28 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
Run this yourself

DIA biến động 1.07%, IWM 0.15%, QQQ -0.96% và SPY 0.24%, đóng cửa ở mức $740.76. Mỗi dòng chia biến động thành hai chặng: SPY mở cửa 0.02% so với giá đóng cửa hôm thứ Hai và biến động 0.21% từ lúc mở cửa đến lúc đóng cửa. Biến động qua đêm và biến động trong phiên không nhất thiết phải cùng chiều. Sự phân bổ giữa hai chặng này là dấu hiệu đầu tiên của một phiên giao dịch.

Ngày đó có bất thường không?

Con số của một phiên riêng lẻ ít có ý nghĩa nếu không đặt trong phân phối đứng sau nó. Vì vậy, ngày này được xếp hạng trong chính tháng gần nhất của nó theo cùng một phương pháp.

Truy vấnDiễn biến trong ngày của SPY theo bối cảnh quá khứ (từ mở cửa đến đóng cửa, ngày 29/6–28/7)
Câu lệnh SQL chính xác đằng sau mỗi con số
SELECT
    round(anyIf(oc_pct, d = toDate('2026-07-28')), 2) AS spy_open_to_close_pct,
    arrayCount(x -> x > abs(anyIf(oc_pct, d = toDate('2026-07-28'))), groupArrayIf(abs(oc_pct), d != toDate('2026-07-28'))) + 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-29 13:30:00')
      AND window_start < toDateTime('2026-07-29 00:00:00')
      AND (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199
    GROUP BY d
)
Run this yourself

Mức biến động từ lúc mở cửa đến lúc đóng cửa của SPY là 0.21%, xếp thứ 14 trong 21 phiên gần nhất theo độ lớn tuyệt đối, trong khoảng thời gian bắt đầu từ 2026-06-29. Thứ hạng được tính bằng số phiên khác trong khoảng thời gian này có mức biến động lớn hơn, cộng thêm một. Do đó, vị trí thứ nhất là mức biến động lớn nhất trong tháng gần nhất.

Độ rộng thị trường

Mức chỉ số là một con số. Độ rộng thị trường cho biết có bao nhiêu cổ phiếu biến động cùng chiều với chỉ số.

Truy vấnĐộ rộng thị trường theo giao dịch thanh khoản: giá đóng cửa ngày 28/7 so với ngày 27/7, lọc giao dịch từ $1M
Câu lệnh SQL chính xác đằng sau mỗi con số
SELECT
    countIf(c28 > c27 AND liquid) AS advancers,
    countIf(c28 < c27 AND liquid) AS decliners,
    countIf(c28 = c27 AND liquid) AS unchanged,
    countIf(liquid) AS liquid_tickers,
    countIf(NOT liquid) AS dropped_by_liquidity_filter,
    round(100.0 * countIf(c28 > c27 AND liquid) / countIf(liquid), 1) AS advancer_pct
FROM (
    SELECT ticker, c27, c28, dv28 >= 1000000 AS liquid
    FROM (
        SELECT ticker,
               argMaxIf(toFloat64(close), window_start, window_start >= '2026-07-27 13:30:00' AND window_start < '2026-07-27 20:00:00') AS c27,
               argMaxIf(toFloat64(close), window_start, window_start >= '2026-07-28 13:30:00' AND window_start < '2026-07-28 20:00:00') AS c28,
               sumIf(toFloat64(close) * toFloat64(volume), window_start >= '2026-07-28 13:30:00') AS dv28
        FROM global_markets.delayed_stocks_minute_aggs
        WHERE window_start >= '2026-07-27 13:30:00' AND window_start < '2026-07-28 20:00:00'
        GROUP BY ticker
        HAVING c27 > 0 AND c28 > 0
    )
)
Run this yourself

Trong số 6008 mã cổ phiếu vượt ngưỡng giá trị giao dịch một triệu USD trong giờ giao dịch thông thường, 3519 mã đóng cửa cao hơn mức đóng cửa hôm thứ Hai và 2423 mã đóng cửa thấp hơn, tương ứng tỷ lệ mã tăng là 58.6%. Bộ lọc loại riêng 5346 mã có thanh khoản thấp hơn; các mã này được tính ở đây thay vì âm thầm bị loại bỏ.

Nhóm cổ phiếu vốn hóa siêu lớn

Tám cổ phiếu vốn hóa siêu lớn giống nhau xuất hiện trong mỗi phiên. Chúng được sắp xếp theo thứ tự bảng chữ cái để mỗi mã luôn giữ nguyên một dòng. Việc duy trì một rổ cố định là chủ đích: người đọc có thể làm quen với từng dòng, và không có biên tập viên nào chọn cổ phiếu thắng cuộc sau khi kết quả đã xảy ra.

Truy vấnTám cổ phiếu mega-cap: thay đổi so với ngày 27/7 và giá trị giao dịch giờ chính thức, ngày 28/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-28 00:00:00')) AS prior_close,
        toFloat64(argMaxIf(close, window_start, window_start >= '2026-07-28 00:00:00')) AS day_close,
        round(sumIf(toFloat64(close) * toFloat64(volume), window_start >= '2026-07-28 00:00:00') / 1e9, 2) AS day_dollar_bn
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker IN ('AAPL', 'AMZN', 'AVGO', 'GOOGL', 'META', 'MSFT', 'NVDA', 'TSLA')
      AND ((window_start >= '2026-07-27 13:30:00' AND window_start < '2026-07-27 20:00:00')
        OR (window_start >= '2026-07-28 13:30:00' AND window_start < '2026-07-28 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,
    day_dollar_bn
FROM per_name
ORDER BY ticker
Run this yourself

AAPL biến động 0.97%, META -0.05%, MSFT 1.12% và NVDA 0.23%, với tổng giá trị giao dịch trong giờ giao dịch chính là 21.11 tỷ USD; TSLA ở mức -0.57%. Cột giá trị bằng USD cho thấy riêng tám mã này chiếm bao nhiêu phần trong tổng giá trị giao dịch. Bảng độ rộng thị trường ở phía trên cho biết phần còn lại của thị trường đã biến động cùng chúng đến mức nào.

Các mã biến động trong ngày

Cả hai bảng đều yêu cầu giá trị giao dịch trong giờ chính đạt năm triệu đô la, loại trừ mọi mã có giao dịch chia tách được thực hiện giữa hai lần đóng cửa mà bảng đo lường, và loại trừ một mã được tái sử dụng theo cơ chế kiểm soát nhầm lẫn của tòa soạn được mô tả trong phần ghi chú.

Truy vấnCổ phiếu tăng và giảm mạnh nhất: giá đóng cửa ngày 28/7 so với ngày 27/7, giao dịch từ $5M+, loại trừ các đợt split
Câu lệnh SQL chính xác đằng sau mỗi con số
SELECT ticker, board, day_pct, day_dollar_m
FROM (
    SELECT 'gainers' AS board, ticker, round((c28 / c27 - 1) * 100, 1) AS day_pct, round(dv / 1e6, 1) AS day_dollar_m
    FROM (
        SELECT ticker,
               argMaxIf(toFloat64(close), window_start, window_start >= '2026-07-27 13:30:00' AND window_start < '2026-07-27 20:00:00') AS c27,
               argMaxIf(toFloat64(close), window_start, window_start >= '2026-07-28 13:30:00' AND window_start < '2026-07-28 20:00:00') AS c28,
               sumIf(toFloat64(close) * toFloat64(volume), window_start >= '2026-07-28 13:30:00') AS dv
        FROM global_markets.delayed_stocks_minute_aggs
        WHERE ticker NOT IN ('SPCX')
          AND ticker NOT IN (SELECT ticker FROM global_markets.stocks_splits WHERE execution_date > '2026-07-27' AND execution_date <= '2026-07-28')
          AND window_start >= '2026-07-27 13:30:00' AND window_start < '2026-07-28 20:00:00'
        GROUP BY ticker
        HAVING c27 > 0 AND c28 > 0 AND dv >= 5000000
    )
    ORDER BY day_pct DESC
    LIMIT 8
    UNION ALL
    SELECT 'decliners' AS board, ticker, round((c28 / c27 - 1) * 100, 1) AS day_pct, round(dv / 1e6, 1) AS day_dollar_m
    FROM (
        SELECT ticker,
               argMaxIf(toFloat64(close), window_start, window_start >= '2026-07-27 13:30:00' AND window_start < '2026-07-27 20:00:00') AS c27,
               argMaxIf(toFloat64(close), window_start, window_start >= '2026-07-28 13:30:00' AND window_start < '2026-07-28 20:00:00') AS c28,
               sumIf(toFloat64(close) * toFloat64(volume), window_start >= '2026-07-28 13:30:00') AS dv
        FROM global_markets.delayed_stocks_minute_aggs
        WHERE ticker NOT IN ('SPCX')
          AND ticker NOT IN (SELECT ticker FROM global_markets.stocks_splits WHERE execution_date > '2026-07-27' AND execution_date <= '2026-07-28')
          AND window_start >= '2026-07-27 13:30:00' AND window_start < '2026-07-28 20:00:00'
        GROUP BY ticker
        HAVING c27 > 0 AND c28 > 0 AND dv >= 5000000
    )
    ORDER BY day_pct ASC
    LIMIT 8
)
ORDER BY board DESC, abs(day_pct) DESC
Run this yourself

Mã tăng mạnh nhất trên bảng, STKH, tăng 166.7% với giá trị giao dịch 113.2 triệu đô la. Mã giảm mạnh nhất, YYAI, ghi nhận mức giảm -71% với giá trị giao dịch 18.3 triệu đô la. Trang này ghi nhận quy mô và các giao dịch đã thực hiện, không gắn cho chúng bất kỳ câu chuyện nào.

Mức độ phân hóa giữa các ngành

Mười một quỹ SPDR theo ngành, xếp hạng từ tốt nhất đến kém nhất dựa trên giá đóng cửa ngày 28 tháng 7 so với ngày 27 tháng 7. Danh mục này đã được xác định và cố định, không dựa trên phân loại của nhà cung cấp dữ liệu.

Truy vấnETF ngành, giá đóng cửa ngày 28/7 so với ngày 27/7, xếp hạng
Câu lệnh SQL chính xác đằng sau mỗi con số
SELECT sector, day_pct, round(max(day_pct) OVER () - day_pct, 2) AS points_behind_best
FROM (
    SELECT multiIf(ticker = 'XLK', 'Technology', ticker = 'XLC', 'Communications', ticker = 'XLE', 'Energy',
                   ticker = 'XLF', 'Financials', ticker = 'XLI', 'Industrials', ticker = 'XLB', 'Materials',
                   ticker = 'XLP', 'Staples', ticker = 'XLRE', 'Real Estate', ticker = 'XLU', 'Utilities',
                   ticker = 'XLV', 'Health Care', 'Consumer Discretionary') AS sector,
           round((c28 / c27 - 1) * 100, 2) AS day_pct
    FROM (
        SELECT ticker,
               argMaxIf(toFloat64(close), window_start, window_start < '2026-07-28 00:00:00') AS c27,
               argMaxIf(toFloat64(close), window_start, window_start >= '2026-07-28 00:00:00') AS c28
        FROM global_markets.delayed_stocks_minute_aggs
        WHERE ticker IN ('XLB', 'XLC', 'XLE', 'XLF', 'XLI', 'XLK', 'XLP', 'XLRE', 'XLU', 'XLV', 'XLY')
          AND ((window_start >= '2026-07-27 13:30:00' AND window_start < '2026-07-27 20:00:00')
            OR (window_start >= '2026-07-28 13:30:00' AND window_start < '2026-07-28 20:00:00'))
        GROUP BY ticker
        HAVING c27 > 0 AND c28 > 0
    )
)
ORDER BY day_pct DESC
Run this yourself

Health Care đứng đầu bảng với 2.36%, còn Technology xếp cuối với -1.9%, thấp hơn 4.26 điểm phần trăm. Chênh lệch đó thể hiện mức độ phân hóa giữa các ngành trong ngày: một phiên mà cả mười một quỹ đều nằm trong phạm vi một điểm phần trăm sẽ rất khác một phiên có mức chênh lệch trải rộng qua nhiều điểm phần trăm.

Nơi dòng tiền được giao dịch

Truy vấnTop 6 theo giá trị giao dịch, top 4 theo số cổ phiếu giao dịch: giờ chính thức ngày 28/7
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
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-28 13:30:00' AND window_start < '2026-07-28 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-28 13:30:00' AND window_start < '2026-07-28 20:00:00'
      AND ticker NOT IN ('SPCX')
    GROUP BY ticker
    ORDER BY shares_m DESC
    LIMIT 4
)
ORDER BY leaderboard, if(leaderboard = 'by shares traded', shares_m, dollar_volume_bn) DESC
Run this yourself

MU dẫn đầu bảng xếp hạng theo giá trị giao dịch bằng dollar với 39.21 tỷ dollar trong phiên giao dịch thông thường, theo sau là QQQ với 29.98 tỷ dollar. Bảng xếp hạng theo số cổ phiếu trả lời một câu hỏi khác: ONFO đứng đầu với 182.4 triệu cổ phiếu, tương ứng mức giá bình quân ước tính là $0.16. Khối lượng giao dịch tính theo dollar cho thấy sự chú ý của thị trường, còn khối lượng cổ phiếu cho thấy mức độ luân chuyển. Chỉ số tính riêng cho từng mã là khối lượng tương đối.

Bảng giao dịch quyền chọn

Truy vấnDòng lệnh options: số hợp đồng, tỷ trọng call, tỷ trọng giao dịch trong ngày so với thứ Hai, hợp đồng SPY sôi động nhất
Câu lệnh SQL chính xác đằng sau mỗi con số
WITH
    (
        SELECT (strike, typ, vol_m, is_0dte)
        FROM (
            SELECT toFloat64(any(strike_price)) AS strike, any(option_type) AS typ,
                   round(toFloat64(sum(size)) / 1e6, 2) AS vol_m,
                   if(substring(ticker, length(ticker) - 14, 6) = '260728', 1, 0) AS is_0dte
            FROM global_markets.options_trades
            WHERE sip_timestamp >= '2026-07-28 00:00:00' AND sip_timestamp < '2026-07-29 00:00:00'
              AND underlying_symbol = 'SPY'
            GROUP BY ticker
            ORDER BY vol_m DESC, strike ASC
            LIMIT 1
        )
    ) AS top_spy,
    (
        SELECT round(toFloat64(argMax(close, window_start)), 2)
        FROM global_markets.delayed_stocks_minute_aggs
        WHERE ticker = 'SPY' AND window_start >= '2026-07-28 13:30:00' AND window_start < '2026-07-28 20:00:00'
    ) AS spy_regular_close,
    (
        SELECT round(toFloat64(sum(size)) / 1e6, 2)
        FROM global_markets.options_trades
        WHERE sip_timestamp >= '2026-07-27 00:00:00' AND sip_timestamp < '2026-07-28 00:00:00'
    ) AS jul27_contracts_m,
    (
        SELECT round(100.0 * sumIf(size, substring(ticker, length(ticker) - 14, 6) = '260727') / sum(size), 1)
        FROM global_markets.options_trades
        WHERE sip_timestamp >= '2026-07-27 00:00:00' AND sip_timestamp < '2026-07-28 00:00:00'
    ) AS jul27_pct_0dte
SELECT
    round(count() / 1e6, 2) AS option_prints_m,
    round(toFloat64(sum(size)) / 1e6, 2) AS contracts_m,
    jul27_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) = '260728') / sum(size), 1) AS pct_0dte,
    jul27_pct_0dte,
    spy_regular_close,
    top_spy.1 AS top_spy_strike,
    top_spy.2 AS top_spy_type,
    top_spy.3 AS top_spy_contracts_m,
    top_spy.4 AS top_spy_is_0dte,
    round(top_spy.1 - spy_regular_close, 2) AS top_spy_strike_minus_close
FROM global_markets.options_trades
WHERE sip_timestamp >= '2026-07-28 00:00:00' AND sip_timestamp < '2026-07-29 00:00:00'
Run this yourself

Bảng giao dịch quyền chọn ghi nhận 10.07 triệu giao dịch, tương ứng 59.28 triệu hợp đồng, so với 64.69 triệu hợp đồng trong phiên thứ Hai. Quyền chọn mua chiếm 55% tổng khối lượng hợp đồng. Các hợp đồng đáo hạn ngay trong phiên, thuộc nhóm đáo hạn trong ngày, đạt 29%, so với 39.3% trong phiên thứ Hai. Nhịp giao dịch này do thời điểm đáo hạn quyết định. Hợp đồng SPY sôi động nhất là 742 C, với 0.72 triệu hợp đồng. Giá thực hiện của hợp đồng này cách mức đóng cửa thông thường $740.76 của SPY 1.24 đô la, được tính bằng giá thực hiện trừ giá đóng cửa.

Bảng dữ liệu báo giá

Dữ liệu báo giá là bộ dữ liệu khan hiếm nhất của bộ phận giao dịch này và được đo lường trong từng phiên. Các ngày giao dịch thông thường cũng được ghi nhận.

Truy vấnSố lần cập nhật NBBO cổ phiếu: ngày 28/7 so với ngày 27/7, kèm cập nhật ticker được nêu tên (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-28')) / 1e6, 2) AS jul28_updates_m,
    round(countIf(toDate(sip_timestamp) = toDate('2026-07-27')) / 1e6, 2) AS jul27_updates_m,
    round((countIf(toDate(sip_timestamp) = toDate('2026-07-28')) / countIf(toDate(sip_timestamp) = toDate('2026-07-27')) - 1) * 100, 1) AS day_over_day_pct,
    round(countIf(toDate(sip_timestamp) = toDate('2026-07-28') AND ticker = 'SPY') / 1e6, 2) AS jul28_spy_updates_m,
    round(countIf(toDate(sip_timestamp) = toDate('2026-07-28') AND ticker = 'QQQ') / 1e6, 2) AS jul28_qqq_updates_m,
    round(countIf(toDate(sip_timestamp) = toDate('2026-07-28') AND ticker = 'NVDA') / 1e6, 2) AS jul28_nvda_updates_m
FROM global_markets.cache_stocks_quotes
WHERE sip_timestamp >= '2026-07-27 00:00:00' AND sip_timestamp < '2026-07-29 00:00:00'
Run this yourself

Bảng báo giá cổ phiếu ghi nhận 536.07 triệu lần cập nhật NBBO, so với 553.53 triệu vào thứ Hai, tương ứng mức thay đổi qua ngày là -3.2%. SPY ghi nhận 4.72 triệu lần cập nhật, QQQ 5.94 triệu và NVDA 3.01 triệu.

Truy vấnBảy mã: spread được báo giá trung vị trong giờ giao dịch chính thức, kèm số liệu chất lượng báo giá, ngày 28/7
Câu lệnh SQL chính xác đằng sau mỗi con số
SELECT ticker,
       round(quantileExactIf(0.5)(10000 * (toFloat64(ask_price) - toFloat64(bid_price)) / ((toFloat64(ask_price) + toFloat64(bid_price)) / 2), bid_price > 0 AND ask_price > 0 AND ask_price >= bid_price), 2) AS median_spread_bps,
       round(count() / 1e6, 2) AS quote_updates_m,
       countIf(bid_price <= 0 OR ask_price <= 0) AS one_sided_quote_count,
       countIf(bid_price > ask_price AND bid_price > 0 AND ask_price > 0) AS crossed_quote_count
FROM global_markets.cache_stocks_quotes
WHERE ticker IN ('AAPL', 'DIA', 'IWM', 'NVDA', 'QQQ', 'SPY', 'TSLA')
  AND sip_timestamp >= '2026-07-28 13:30:00' AND sip_timestamp < '2026-07-28 20:00:00'
GROUP BY ticker
HAVING countIf(bid_price > 0 AND ask_price > 0 AND ask_price >= bid_price) > 0
ORDER BY ticker
Run this yourself

Spread báo giá trung vị của SPY trong giờ giao dịch thông thường bằng 0.27 điểm cơ bản so với giá giữa, QQQ là 0.74 và NVDA là 1.52. Hai cột cuối là phần công bố dữ liệu: các báo giá một chiều và báo giá chéo được đếm riêng cho từng mã và loại khỏi phép tính trung vị, thay vì âm thầm bị loại bỏ. Báo giá chéo, trong đó giá bid cao hơn giá ask, là hiện tượng thông thường của một nguồn dữ liệu hợp nhất từ nhiều địa điểm giao dịch ở độ phân giải nano giây.

Truy vấnSpread trung vị của SPY xếp hạng so với mọi phiên tháng 7, từ hẹp nhất
Câu lệnh SQL chính xác đằng sau mỗi con số
SELECT round(anyIf(spread_bps, d = toDate('2026-07-28')), 2) AS jul28_median_spread_bps,
       arrayCount(x -> x < anyIf(spread_bps, d = toDate('2026-07-28')), groupArrayIf(spread_bps, d != toDate('2026-07-28'))) + 1 AS rank_tightest,
       count() AS sessions_compared,
       toString(min(d)) AS first_session
FROM (
    SELECT toDate(sip_timestamp) AS d,
           quantileExactIf(0.5)(10000 * (toFloat64(ask_price) - toFloat64(bid_price)) / ((toFloat64(ask_price) + toFloat64(bid_price)) / 2), bid_price > 0 AND ask_price > 0 AND ask_price >= bid_price) AS spread_bps
    FROM global_markets.cache_stocks_quotes
    WHERE ticker = 'SPY'
      AND sip_timestamp >= '2026-07-01 13:30:00' AND sip_timestamp < '2026-07-28 20:00:00'
      AND (toHour(sip_timestamp) * 60 + toMinute(sip_timestamp)) BETWEEN 810 AND 1199
    GROUP BY d
    HAVING countIf(bid_price > 0 AND ask_price > 0 AND ask_price >= bid_price) > 0
)
Run this yourself

Khi so sánh với mọi phiên giao dịch trong tháng Bảy theo cùng một phương pháp, spread trung vị của SPY trong ngày ở mức 0.27 điểm cơ bản, đứng ở vị trí 16 trong tổng số 19 phiên, tính từ mức spread thấp nhất, trong giai đoạn bắt đầu từ 2026-07-01. Với một bảng dữ liệu báo giá yên ắng, câu này chính là ý nghĩa của bảng: thanh khoản trong một ngày thông thường là một phát hiện được công bố và giới hạn rõ ràng.

Truy vấnNBBO options: tổng số lần cập nhật so với tape cổ phiếu, cùng phần theo root SPY, ngày 28/7
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-28 00:00:00' AND sip_timestamp < '2026-07-29 00:00:00') AS jul28_options_rows,
    (SELECT count() FROM global_markets.cache_stocks_quotes WHERE sip_timestamp >= '2026-07-28 00:00:00' AND sip_timestamp < '2026-07-29 00:00:00') AS jul28_stock_quote_rows
SELECT
    round(jul28_options_rows / 1e9, 2) AS jul28_options_bn,
    round(jul28_options_rows / jul28_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-28 13:30:00' AND sip_timestamp < '2026-07-28 20:00:00') / 1e6, 0) AS jul28_spy_options_m
Run this yourself

Bảng NBBO của quyền chọn ghi nhận 10.23 tỷ lần cập nhật, gấp 19.1 lần bảng báo giá cổ phiếu. Riêng mã gốc SPY ghi nhận 382 triệu lần cập nhật trong giờ giao dịch thông thường.

Lãi suất

Truy vấnCác mức Treasury curve được ghi nhận, ngày 23/7–28/7
Câu lệnh SQL chính xác đằng sau mỗi con số
SELECT toString(date) AS date,
       round(toFloat64(yield_2_year), 2) AS yield_2y_pct,
       round(toFloat64(yield_10_year), 2) AS yield_10y_pct,
       round(toFloat64(yield_30_year), 2) AS yield_30y_pct,
       round((toFloat64(yield_10_year) - toFloat64(yield_2_year)) * 100) AS spread_2s10s_bp
FROM global_markets.treasury_yields
WHERE date >= '2026-07-23' AND date <= '2026-07-28'
ORDER BY date
Run this yourself

Dữ liệu của Treasury chậm hơn thị trường khoảng một phiên, vì vậy bảng này báo cáo các giao dịch đã thực hiện có trong dữ liệu: 4 dòng dữ liệu theo ngày trong khoảng thời gian này. Số liệu mới nhất, ngày 2026-07-28, ghi nhận lợi suất kỳ hạn hai năm ở mức 4.26%, kỳ hạn mười năm ở mức 4.61% và kỳ hạn ba mươi năm ở mức 5.09%, với spread kỳ hạn hai đến mười năm35 điểm cơ bản.

Lịch phía sau phiên giao dịch

Truy vấnNgày không hưởng cổ tức, split, niêm yết, tin tức và cơ cấu hồ sơ SEC ngày 28/7
Câu lệnh SQL chính xác đằng sau mỗi con số
WITH
    (
        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 published_utc >= '2026-07-28 04:00:00' AND published_utc < '2026-07-29 04:00:00'
            )
            WHERE t != 'SPCX'
            GROUP BY t
        )
    ) AS top_news,
    (
        SELECT (count(), uniqExact(cik), countIf(form_type = '4'), countIf(form_type = '8-K'), countIf(form_type = '424B2'), countIf(form_type = '10-Q'))
        FROM global_markets.stocks_sec_edgar_index
        WHERE filing_date = '2026-07-28'
    ) AS fil
SELECT
    (SELECT count() FROM global_markets.stocks_dividends WHERE ex_dividend_date = '2026-07-28') AS ex_dividend_records,
    (SELECT countIf(toFloat64(split_from) > toFloat64(split_to)) FROM global_markets.stocks_splits WHERE execution_date = '2026-07-28') AS reverse_splits,
    (SELECT countIf(toFloat64(split_to) > toFloat64(split_from)) FROM global_markets.stocks_splits WHERE execution_date = '2026-07-28') AS forward_splits,
    (SELECT count() FROM global_markets.stocks_ipos WHERE listing_date = '2026-07-28') AS listings,
    (SELECT count() FROM global_markets.stocks_news WHERE published_utc >= '2026-07-28 04:00:00' AND published_utc < '2026-07-29 04:00:00') AS news_articles,
    (SELECT uniqExact(JSONExtractString(publisher, 'name')) FROM global_markets.stocks_news WHERE published_utc >= '2026-07-28 04:00:00' AND published_utc < '2026-07-29 04:00:00') AS news_publishers,
    top_news.1 AS top_news_ticker,
    top_news.2 AS top_news_n,
    fil.1 AS fil_total,
    fil.2 AS fil_filers,
    fil.3 AS fil_form4,
    fil.4 AS fil_8k,
    fil.5 AS fil_424b2,
    fil.6 AS fil_10q
Run this yourself

147 hồ sơ cổ tức đã không còn quyền nhận cổ tức vào ngày 28 tháng 7, 3 đợt split ngược và 0 đợt split thuận đã được thực hiện, đồng thời 2 mã niêm yết mới xuất hiện trên bảng giao dịch. Bản tin có 161 bài viết từ 2 cơ quan xuất bản, trong đó MSFT là ticker được đưa tin nhiều nhất trong khoảng thời gian của nguồn cấp này, với 9 bài viết. Chỉ mục hằng ngày của EDGAR ghi nhận 5915 hồ sơ nộp trong ngày đó từ 2898 đơn vị nộp hồ sơ riêng biệt: 856 báo cáo giao dịch nội bộ Mẫu 4, 315 báo cáo hiện hành 8-K, 900 phụ lục định giá 424B2 và 100 báo cáo quý 10-Q. Chỉ mục này được cập nhật theo lịch riêng, còn bảng này hiển thị dữ liệu có trong chỉ mục tại thời điểm tạo.

Tiếp theo

Trong phần còn lại của tuần, hãy đọc cùng các bảng dữ liệu đó nhưng chủ động nhìn xa hơn giai đoạn hiện tại.

Truy vấnLịch ngày 29–31/7: ngày đóng cửa, ngày không hưởng cổ tức, split, kỳ đáo hạn thứ Sáu và độ trễ dữ liệu short interest
Câu lệnh SQL chính xác đằng sau mỗi con số
SELECT
    (SELECT count() FROM global_markets.stocks_market_holidays WHERE date >= '2026-07-29' AND date <= '2026-07-31' AND status != 'open') AS closures_rest_of_week,
    (SELECT count() FROM global_markets.stocks_dividends WHERE ex_dividend_date >= '2026-07-29' AND ex_dividend_date <= '2026-07-31') AS exdiv_records_rest_of_week,
    (SELECT countIf(ticker IN ('AAPL', 'MSFT', 'JPM', 'KO', 'JNJ', 'XOM', 'CVX', 'PG', 'WMT', 'HD')) FROM global_markets.stocks_dividends WHERE ex_dividend_date >= '2026-07-29' AND ex_dividend_date <= '2026-07-31') AS household_exdivs,
    (SELECT count() FROM global_markets.stocks_splits WHERE execution_date >= '2026-07-29' AND execution_date <= '2026-07-31') AS splits_rest_of_week,
    round(100.0 * sumIf(size, substring(ticker, length(ticker) - 14, 6) = '260731') / sum(size), 1) AS jul31_expiry_pct_of_tue_volume,
    (SELECT toString(max(settlement_date)) FROM global_markets.stocks_short_interest WHERE settlement_date <= '2026-07-28') AS latest_short_interest_settlement
FROM global_markets.options_trades
WHERE sip_timestamp >= '2026-07-28 00:00:00' AND sip_timestamp < '2026-07-29 00:00:00'
Run this yourself

Bảng ngày nghỉ cho thấy 0 phiên đóng cửa trong ba ngày thứ Tư 29 tháng 7, thứ Năm 30 tháng 7 và thứ Sáu 31 tháng 7. Có 696 hồ sơ cổ tức chuyển sang ngày giao dịch không hưởng quyền trong ba phiên đó, trong đó 0 thuộc mười doanh nghiệp tiêu dùng được kiểm tra, và 15 đợt chia tách cổ phiếu dự kiến được thực hiện. Trong khối lượng giao dịch quyền chọn ngày thứ Ba, 17.5% đã nằm trong các hợp đồng có ngày đáo hạn là thứ Sáu 31 tháng 7. Dữ liệu thanh toán lãi suất short mới nhất hiện có là 2026-07-15, một tệp được công bố với độ trễ đủ dài để có bài giải thích riêng.

Phiên giao dịch đã được xác minh

Truy vấnXác minh phiên: nến SPY đầu/cuối theo ET, số nến giờ chính thức, dữ liệu ngày lễ, lần đó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,
    countIf(window_start >= '2026-07-28 13:30:00' AND window_start < '2026-07-28 20:00:00') AS regular_session_bars,
    uniqExactIf(toDate(toTimeZone(window_start, 'America/New_York')), window_start >= '2026-07-28 13:30:00' AND window_start < '2026-07-28 20:00:00') AS day_sessions,
    (SELECT count() FROM global_markets.stocks_market_holidays WHERE date = '2026-07-28') AS jul28_holiday_rows,
    (SELECT toString(min(date)) FROM global_markets.stocks_market_holidays WHERE date > '2026-07-28' AND date <= '2026-12-31' AND status = 'closed') AS next_closure_date,
    (SELECT argMin(name, date) FROM global_markets.stocks_market_holidays WHERE date > '2026-07-28' AND date <= '2026-12-31' AND status = 'closed') AS next_closure_name
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY' AND window_start >= '2026-07-28 00:00:00' AND window_start < '2026-07-29 00:00:00'
Run this yourself

Một phiên giao dịch đầy đủ: nến SPY đầu tiên lúc 04:00 ET, nến cuối cùng lúc 19:59 ET, 390 nến trong giờ giao dịch thông thường, 1 phiên trong khoảng thời gian và 0 dòng ngày nghỉ lễ cho ngày này. Lần đóng cửa theo lịch tiếp theo là Labor Day vào 2026-09-07.

Câu hỏi thường gặp

Thị trường chứng khoán diễn biến ra sao vào thứ Ba, ngày 28 tháng 7 năm 2026?

SPY thay đổi 0.24% so với giá đóng cửa phiên trước, lên $740.76; QQQ ở mức -0.96%, DIA ở mức 1.07% và IWM ở mức 0.15%. Trong nhóm cổ phiếu có thanh khoản cao, 3519 tăng và 2423 giảm.

Ngành nào dẫn đầu bảng xếp hạng ngày 28 tháng 7 năm 2026?

Health Care, ở mức 2.36%, xét trên mười một quỹ SPDR theo ngành. Yếu nhất trong mười một quỹ là Technology, với mức -1.9%.

Thị trường quyền chọn sôi động đến mức nào vào ngày 28 tháng 7 năm 2026?

59.28 triệu hợp đồng được giao dịch, so với 64.69 triệu hợp đồng trong phiên trước. Các hợp đồng đáo hạn trong ngày chiếm 29% khối lượng, còn quyền chọn mua chiếm 55%.

Cổ phiếu nào có giá trị giao dịch cao nhất vào ngày 28 tháng 7 năm 2026?

MU, với giá trị giao dịch trong giờ thông thường đạt 39.21 tỷ USD, đứng trước QQQ ở mức 29.98 tỷ USD.

Ghi chú dữ liệu

Ấn bản này bổ sung phần còn thiếu ngày 28 tháng 7 trong chuỗi dữ liệu hằng ngày: bản tin hằng ngày ngày 27 tháng 7 bao quát phiên trước đó, bản tin hằng ngày ngày 29 tháng 7 bao quát phiên sau đó, còn bản tổng kết tuần bao quát tuần liền trước cả hai phiên. Các bảng theo từng ticker được sắp xếp theo thứ tự alphabet để những tham chiếu trong phần diễn giải luôn trỏ đến các dòng cố định; các bảng xếp hạng và bảng cổ phiếu biến động được sắp xếp theo giá trị, và mọi nhận định về vị trí trong đó đều được mã hóa bằng một ngưỡng kiểm tra hợp lý. Rổ mega-cap và rổ ngành gồm eleven fund là các tập hợp cố định đã được xác định trước, không phải phân loại của nhà cung cấp dữ liệu. Các bảng cổ phiếu biến động áp dụng ngưỡng turnover trong giờ giao dịch chính là five million dollars, loại mọi mã có split được thực hiện giữa hai lần đóng cửa được dùng để đo lường, đồng thời loại một ticker được tái sử dụng theo cơ chế kiểm soát mơ hồ của hệ thống. Nhờ đó, mỗi điểm nhấn luôn quy về một mã có thể kiểm chứng. Các bảng báo giá ghi nhận báo giá một chiều và báo giá chéo của từng mã, thay vì âm thầm loại bỏ chúng. Tệp của Bộ Tài chính và chỉ mục hằng ngày của EDGAR được cập nhật theo lịch riêng, vì vậy các bảng này chỉ báo cáo những dữ liệu đã nhận được, không giả định rằng dữ liệu sẽ đến đúng lúc. Không có chỉ số implied volatility nào xuất hiện ở đây: các chuỗi dữ liệu đó chưa được cấp phép vào kho dữ liệu này. Do đó, mức độ biến động được đọc trực tiếp từ diễn biến giá thông qua biên độ, tỷ trọng quyền chọn trong ngày và hành vi báo giá.

Phương pháp

  • Nguồn dữ liệu thị trường: consolidated tape. delayed_stocks_minute_aggs dùng cho giá và khối lượng, options_trades dùng cho options tape, cache_stocks_quotescache_options_quotes dùng cho các bảng NBBO.
  • Giá đóng cửa: thanh giá theo phút cuối cùng của phiên thông thường; không bao giờ giả định là một print lúc 16:00 và không bao giờ sử dụng print ngoài giờ giao dịch.
  • Xử lý múi giờ: tất cả timestamp được lưu theo UTC; các mệnh đề WHERE sử dụng literal UTC thô, còn toTimeZone chỉ xuất hiện trong danh sách SELECT để gắn nhãn ET.
  • Xác minh phiên giao dịch: dựa trên bảng ngày nghỉ và các thanh giá quan sát được, không giả định theo lịch.
  • So sánh với phiên trước: được tính trong query từ ngày 27 tháng 7, không lấy lại từ bài đăng trước.
  • Số thập phân: các cột giá, quy mô và khối lượng được chuyển sang Float64 trước mọi phép chia hoặc phép nhân.
  • Các phép tổng hợp xác định: sử dụng quantile chính xác và quy tắc phá hòa theo tuple-key trong toàn bộ quy trình; mọi nhận định về thứ tự hoặc dấu trong phần nội dung đều được mã hóa thành một ngưỡng kiểm tra hợp lý.
  • Ngày as-of của kho dữ liệu: ngày 1 tháng 8 năm 2026, bốn ngày sau phiên giao dịch và đã qua độ trễ nạp dữ liệu thông thường từ một đến hai ngày của tape; các biên nhận được giới hạn ở trên sẽ giữ bài đăng nếu phát hiện thiếu dataset tại thời điểm tạo bài.

Liên kết chéo: bản tổng kết hằng ngày ngày 27 tháng 7, bản tổng kết hằng ngày ngày 29 tháng 7, thời điểm options hết hạn, bid-ask spread là gì, và spread kỳ hạn hai đến mười năm.

Mọi query ở trên đều chạy nguyên trạng trên terminal Strasmore nếu bạn muốn điều chỉnh lại một khoảng thời gian cho phiên khác.