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í.
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 tickerDIA 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.
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
)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ố.
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
)
)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.
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 tickerAAPL 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ú.
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) DESCMã 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.
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 DESCHealth 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
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) DESCMU 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
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'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.
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'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.
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 tickerSpread 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.
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
)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.
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_mBả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
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 dateDữ 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ăm là 35 điểm cơ bản.
Lịch phía sau phiên giao dịch
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_10q147 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.
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'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
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'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?
Có 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_aggsdùng cho giá và khối lượng,options_tradesdùng cho options tape,cache_stocks_quotesvàcache_options_quotesdù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
toTimeZonechỉ 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.