สรุปตลาด 28 กรกฎาคม 2026 ตัวเลขสำคัญรายวัน
สรุปตลาดวันที่ 28 กรกฎาคม 2026 ครบทั้งดัชนี breadth ส่วนต่างรายกลุ่ม sector options flow ราคาปิด อัตราดอกเบี้ย และปฏิทิน โดยทุกตัวเลขอ้างอิง stored queries
บทสรุปตลาดประจำวันที่วันอังคารที่ 28 กรกฎาคม 2026 นี้ครอบคลุมการซื้อขายตลอดทั้งช่วงจาก stored queries โดยการเปลี่ยนแปลงของ SPY เมื่อเทียบกับราคาปิดครั้งก่อนอยู่ที่ 0.24% สัดส่วนหุ้นที่ปรับตัวขึ้นในตลาดที่มีสภาพคล่องอยู่ที่ 58.6% และตลาด options มีการทำรายการสัญญาจำนวน 59.28 ล้านสัญญา ตัวเลขในแต่ละช่วงด้านล่างอ้างอิงวันที่เริ่มต้นและสิ้นสุดอย่างชัดเจน ดังนั้นการเรียกใช้ SQL ของแต่ละแผงอีกครั้งจะได้ตัวเลขเดียวกันนี้
ตารางคะแนน
การเปลี่ยนแปลงทั้งหมดเปรียบเทียบแท่งข้อมูลนาทีสุดท้ายของช่วงการซื้อขายปกติวันที่ 28 กรกฎาคมกับวันที่ 27 กรกฎาคม ซึ่งเป็นช่วงการซื้อขายที่ต่อเนื่องกัน โดยเรียงแถวตามลำดับตัวอักษร ดังนั้น ETF แต่ละรายการจึงอยู่ในตำแหน่งเดิมเสมอ
SQL เบื้องหลังตัวเลขแต่ละตัว
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 เปลี่ยนแปลง 1.07%, IWM 0.15%, QQQ -0.96% และ SPY 0.24% สู่ราคาปิดที่ $740.76 แต่ละแถวแยกการเปลี่ยนแปลงออกเป็นสองช่วง ได้แก่ SPY เปิดตลาดที่ 0.02% จากราคาปิดวันจันทร์ และเปลี่ยนแปลง 0.21% ระหว่างราคาเปิดกับราคาปิด ช่วงการซื้อขายข้ามคืนและช่วงระหว่างวันไม่จำเป็นต้องเคลื่อนไหวไปในทิศทางเดียวกัน และสัดส่วนของการเปลี่ยนแปลงที่เกิดขึ้นในแต่ละช่วงคือสัญญาณลักษณะแรกของเซสชันนั้น
วันนี้มีความผิดปกติหรือไม่?
ตัวเลขของการซื้อขายเพียงหนึ่งวันมีความหมายจำกัด หากไม่พิจารณาการกระจายของข้อมูลเบื้องหลัง ดังนั้นจึงจัดอันดับวันดังกล่าวภายในเดือนย้อนหลังของวันนั้นเอง โดยใช้หลักเกณฑ์เดียวกัน
SQL เบื้องหลังตัวเลขแต่ละตัว
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
)การเปลี่ยนแปลงของ SPY ตั้งแต่เปิดตลาดจนถึงปิดตลาดที่ 0.21% อยู่อันดับที่ 14 จากทั้งหมด 21 วันซื้อขายย้อนหลัง ตามขนาดสัมบูรณ์ ภายในช่วงข้อมูลที่ย้อนหลังไปถึง 2026-06-29 อันดับนี้นับจำนวนวันซื้อขายอื่นในช่วงดังกล่าวที่มีการเปลี่ยนแปลงมากกว่า แล้วบวกหนึ่ง ดังนั้นอันดับหนึ่งจึงหมายถึงการเปลี่ยนแปลงที่มากที่สุดของเดือนย้อนหลัง.std
ความกว้างของตลาด
ระดับดัชนีเป็นตัวเลขหนึ่งค่า ส่วนความกว้างของตลาดนับจำนวนหุ้นที่เคลื่อนไหวไปในทิศทางเดียวกับดัชนี
SQL เบื้องหลังตัวเลขแต่ละตัว
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
)
)จากหุ้น 6008 รายที่มีมูลค่าการซื้อขายในเวลาทำการปกติเกินเกณฑ์หนึ่งล้านดอลลาร์ หุ้น 3519 รายปิดสูงกว่าราคาปิดวันจันทร์ และหุ้น 2423 รายปิดต่ำกว่า คิดเป็นสัดส่วนหุ้นปรับขึ้น 58.6% เกณฑ์นี้ไม่นับรวมหุ้น 5346 รายที่มีการซื้อขายเบาบาง โดยระบุจำนวนไว้ในส่วนนี้แทนที่จะตัดออกโดยไม่แสดงข้อมูล
กลุ่มหุ้น mega-cap
หุ้น mega-cap เดิมทั้งแปดตัวปรากฏในทุกเซสชัน โดยเรียงตามตัวอักษรเพื่อให้แต่ละตัวมีแถวของตนเอง จุดประสงค์คือการใช้ตะกร้าหุ้นแบบคงที่ เพื่อให้ผู้อ่านคุ้นเคยกับแต่ละแถว และไม่มีการเลือกหุ้นที่ทำผลงานเด่นย้อนหลังตามดุลยพินิจของบรรณาธิการ
SQL เบื้องหลังตัวเลขแต่ละตัว
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 เคลื่อนไหว 0.97%, META -0.05%, MSFT 1.12% และ NVDA 0.23% จากมูลค่าการซื้อขายในเวลาทำการปกติรวม 21.11 พันล้านดอลลาร์ โดย TSLA อยู่ที่ -0.57% คอลัมน์มูลค่าเงินดอลลาร์แสดงให้เห็นว่าหุ้นทั้งแปดตัวนี้มีสัดส่วนของการซื้อขายทั้งหมดมากเพียงใดด้วยตัวเอง ส่วนแผง breadth ด้านบนใช้ตรวจสอบว่าตลาดส่วนที่เหลือเคลื่อนไหวไปในทิศทางเดียวกับหุ้นเหล่านี้มากน้อยเพียงใด
หุ้นที่เคลื่อนไหวเด่นประจำวัน
ตลาดหลักทรัพย์ทั้งสองแห่งกำหนดให้มีมูลค่าการซื้อขายในช่วงเวลาทำการอย่างน้อยห้าล้านดอลลาร์สหรัฐ ไม่รวมหลักทรัพย์ใด ๆ ที่การแตกหุ้นมีผลระหว่างราคาปิดสองช่วงเวลาที่ใช้วัด และไม่รวมสัญลักษณ์ที่ถูกนำกลับมาใช้ซ้ำหนึ่งรายการตามข้อกำหนดป้องกันความกำกวมของสำนักข่าวที่ระบุไว้ในหมายเหตุ
SQL เบื้องหลังตัวเลขแต่ละตัว
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หุ้นที่ปรับตัวขึ้นมากที่สุดในตลาดแห่งนี้คือ STKH โดยเคลื่อนไหว 166.7% จากมูลค่าการซื้อขาย 113.2 ล้านดอลลาร์สหรัฐ หุ้นที่ปรับตัวลงมากที่สุดคือ YYAI โดยปรากฏการซื้อขายที่ -71% จากมูลค่าการซื้อขาย 18.3 ล้านดอลลาร์สหรัฐ หน้านี้บันทึกขนาดการเคลื่อนไหวและข้อมูลการซื้อขายเท่านั้น โดยไม่ได้เชื่อมโยงการเคลื่อนไหวดังกล่าวกับเหตุผลใด ๆ
การกระจายตัวระหว่างกลุ่มอุตสาหกรรม
กองทุน SPDR Select Sector ทั้งสิบเอ็ดกองทุน โดยเปรียบเทียบราคาปิดวันที่ 28 กรกฎาคมกับวันที่ 27 กรกฎาคม และเรียงจากดีที่สุดไปแย่ที่สุด กลุ่มนี้กำหนดไว้อย่างชัดเจนและตายตัว ไม่ใช่การจัดหมวดหมู่โดยผู้ให้บริการข้อมูล
SQL เบื้องหลังตัวเลขแต่ละตัว
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 ครองอันดับสูงสุดที่ 2.36% ขณะที่ Technology รั้งท้ายที่ -1.9% ซึ่งตามหลังอยู่ 4.26 จุดเปอร์เซ็นต์ ส่วนต่างดังกล่าวคือการกระจายตัวระหว่างกลุ่มอุตสาหกรรมของวันนั้น ภาวะการซื้อขายที่กองทุนทั้งสิบเอ็ดกองทุนเคลื่อนไหวอยู่ภายในกรอบหนึ่งจุดเปอร์เซ็นต์ ย่อมแตกต่างอย่างชัดเจนจากภาวะที่ผลตอบแทนกระจายออกไปหลายจุดเปอร์เซ็นต์
จุดที่มีการซื้อขายดอลลาร์
SQL เบื้องหลังตัวเลขแต่ละตัว
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 นำกระดานซื้อขายสกุลเงินดอลลาร์ด้วยมูลค่าการซื้อขายในเวลาทำการปกติที่ 39.21 พันล้านดอลลาร์ ตามด้วย QQQ ที่ 29.98 พันล้านดอลลาร์ กระดานซื้อขายหุ้นตอบคำถามอีกแบบหนึ่ง โดย ONFO ครองอันดับสูงสุดที่ 182.4 ล้านหุ้น และมีราคาเฉลี่ยโดยนัยที่ 0.16 ดอลลาร์ มูลค่าการซื้อขายเป็นดอลลาร์สะท้อนความสนใจของตลาด ขณะที่ปริมาณหุ้นสะท้อนการหมุนเวียนซื้อขาย และเมื่อคำนวณเป็นรายหลักทรัพย์ ตัวชี้วัดนี้เรียกว่า ปริมาณการซื้อขายสัมพัทธ์
เทปการซื้อขายออปชัน
SQL เบื้องหลังตัวเลขแต่ละตัว
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'เทปการซื้อขายออปชันแสดงรายการซื้อขาย 10.07 ล้านรายการ คิดเป็น 59.28 ล้านสัญญา เทียบกับ 64.69 ล้านสัญญาในวันจันทร์ ออปชัน Call คิดเป็น 55% ของปริมาณสัญญา สัญญาที่หมดอายุในวันเดียวกัน ซึ่งเป็นกลุ่ม สัญญาที่เหลืออายุศูนย์วัน มีจำนวน 29% เทียบกับ 39.3% ในวันจันทร์ โดยมี จังหวะการหมดอายุ เป็นปัจจัยกำหนดจังหวะดังกล่าว สัญญา SPY ที่มีการซื้อขายคึกคักที่สุดคือ 742 C จำนวน 0.72 ล้านสัญญา โดยราคาใช้สิทธิอยู่ห่างจากราคาปิดปกติของ SPY ที่ $740.76 เป็นระยะ 1.24 ดอลลาร์ ซึ่งคำนวณจากราคาใช้สิทธิลบด้วยราคาปิด
เทปข้อมูลราคาเสนอซื้อขาย
ข้อมูลราคาเสนอซื้อขายเป็นชุดข้อมูลที่หายากที่สุดของโต๊ะซื้อขายนี้ และมีการวัดในทุกช่วงการซื้อขาย รวมถึงวันปกติก็ถูกบันทึกไว้เช่นกัน
SQL เบื้องหลังตัวเลขแต่ละตัว
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'เทปราคาเสนอซื้อขายหุ้นมีการอัปเดต NBBO จำนวน 536.07 ล้านครั้ง เทียบกับ 553.53 ล้านครั้งในวันจันทร์ เปลี่ยนแปลงจากวันก่อนหน้า -3.2% โดย SPY มีการอัปเดต 4.72 ล้านครั้ง QQQ 5.94 ล้านครั้ง และ NVDA 3.01 ล้านครั้ง
SQL เบื้องหลังตัวเลขแต่ละตัว
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สเปรด ราคาเสนอซื้อขายในเวลาซื้อขายปกติของ SPY มีค่ามัธยฐานเท่ากับ 0.27 basis points ของราคากึ่งกลาง ขณะที่ QQQ อยู่ที่ 0.74 และ NVDA อยู่ที่ 1.52 สองคอลัมน์สุดท้ายเป็นข้อมูลเปิดเผย: ราคาเสนอซื้อขายด้านเดียวและราคาเสนอซื้อขายที่ไขว้กันจะนับแยกตามชื่อหลักทรัพย์ และแยกออกจากการคำนวณค่ามัธยฐาน ไม่ได้ถูกตัดทิ้งโดยไม่เปิดเผย ราคาเสนอซื้อขายที่ไขว้กัน ซึ่งราคาเสนอซื้อสูงกว่าราคาเสนอขาย เป็นผลที่เกิดขึ้นได้ตามปกติจากฟีดข้อมูลรวมที่เชื่อมข้อมูลจากหลายตลาดด้วยความละเอียดระดับนาโนวินาที
SQL เบื้องหลังตัวเลขแต่ละตัว
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
)เมื่อจัดอันดับเทียบกับทุกช่วงการซื้อขายในเดือนกรกฎาคมโดยใช้หลักเกณฑ์เดียวกัน สเปรดค่ามัธยฐานของ SPY ในวันดังกล่าวที่ 0.27 basis points อยู่ที่ 16 จาก 19 โดยนับจากสเปรดที่แคบที่สุด ภายในช่วงเวลาที่เริ่มต้น 2026-07-01 สำหรับเทปข้อมูลที่เงียบ ประโยคนี้คือสาระสำคัญของแผงข้อมูล: วันปกติสำหรับสภาพคล่องถือเป็นข้อค้นพบที่มีการเผยแพร่และกำหนดขอบเขตไว้อย่างชัดเจน
SQL เบื้องหลังตัวเลขแต่ละตัว
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เทปข้อมูล NBBO ของออปชันมีการอัปเดต 10.23 พันล้านครั้ง หรือ 19.1 เท่าของเทปราคาเสนอซื้อขายหุ้น โดยเฉพาะหลักทรัพย์ที่ใช้ root SPY เพียงรายการเดียวมีการอัปเดตในเวลาซื้อขายปกติ 382 ล้านครั้ง
อัตราดอกเบี้ย
SQL เบื้องหลังตัวเลขแต่ละตัว
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ไฟล์ข้อมูลของกระทรวงการคลังสหรัฐฯ ล่าช้ากว่าข้อมูลการซื้อขายในตลาดประมาณหนึ่งช่วงการซื้อขาย ดังนั้นแผงนี้จึงรายงานรายการซื้อขายที่ไฟล์ดังกล่าวมีอยู่: แถวข้อมูลจำนวน 4 แถวในช่วงเวลานี้ โดยข้อมูลล่าสุดลงวันที่ 2026-07-28 แสดงว่าอัตราผลตอบแทนพันธบัตรอายุสองปีอยู่ที่ 4.26% อายุสิบปีอยู่ที่ 4.61% และอายุสามสิบปีอยู่ที่ 5.09% คิดเป็น ส่วนต่างอัตราผลตอบแทนระหว่างพันธบัตรอายุสองปีกับสิบปี 35 จุดฐาน
ปฏิทินเบื้องหลังวันดังกล่าว
SQL เบื้องหลังตัวเลขแต่ละตัว
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เงินปันผลของ 147 รายการมีวันขึ้นเครื่องหมาย ex-dividend ในวันที่ 28 กรกฎาคม มีการดำเนินการ split แบบ reverse จำนวน 3 รายการ และ split แบบ forward จำนวน 0 รายการ รวมถึงมีหุ้นจดทะเบียนใหม่ 2 รายการเข้าสู่ตลาด ฟีดข่าวมีบทความ 161 บทความจากสำนักข่าว 2 แห่ง โดย ticker ที่ถูกนำเสนอมากที่สุดในช่วงเวลาของฟีดนี้คือ MSFT ซึ่งมีบทความ 9 บทความ ดัชนีรายวันของ EDGAR มีเอกสารยื่นแบบ 5915 รายการสำหรับวันดังกล่าว จากผู้ยื่นแบบที่แตกต่างกัน 2898 ราย ได้แก่ รายงานของบุคคลภายในตาม Form 4 จำนวน 856 รายงาน รายงานปัจจุบัน 8-K จำนวน 315 รายงาน เอกสารแนบท้ายการกำหนดราคา 424B2 จำนวน 900 รายการ และรายงานรายไตรมาส 10-Q จำนวน 100 รายงาน ดัชนีดังกล่าวจัดทำตามกำหนดเวลาของตัวเอง และแผงข้อมูลนี้จะแสดงข้อมูลที่ดัชนีมีอยู่ ณ เวลาที่สร้างรายงาน
กำหนดการถัดไป
สำหรับช่วงที่เหลือของสัปดาห์ โปรดอ่านข้อมูลจากตารางเดิม โดยตั้งใจมองให้พ้นช่วงเวลาดังกล่าว
SQL เบื้องหลังตัวเลขแต่ละตัว
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'ตารางวันหยุดระบุว่ามีการปิดทำการ 0 ครั้งในวันพุธที่ 29 กรกฎาคม วันพฤหัสบดีที่ 30 กรกฎาคม และวันศุกร์ที่ 31 กรกฎาคม มีรายการเงินปันผล 696 รายการที่ขึ้นเครื่องหมาย ex-dividend ตลอดสามช่วงการซื้อขายดังกล่าว โดย 0 รายการอยู่ในกลุ่มหุ้นชื่อดังที่ตรวจสอบสิบแห่ง และมีกำหนดดำเนินการแตกหุ้น 15 รายการ จากปริมาณการซื้อขายออปชันในวันอังคาร 17.5% อยู่ในสัญญาที่มีกำหนดหมดอายุในวันศุกร์ที่ 31 กรกฎาคม ข้อมูลการชำระบัญชีสถานะขายชอร์ตล่าสุดที่มีอยู่คือ 2026-07-15 ซึ่งเป็นไฟล์ที่เผยแพร่ล่าช้ามากพอจนมี คำอธิบายแยกต่างหากของตนเอง
การตรวจสอบเซสชัน
SQL เบื้องหลังตัวเลขแต่ละตัว
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'เซสชันปกติเต็มช่วงเวลา: แท่งข้อมูล SPY แรกเวลา 04:00 ET แท่งสุดท้ายเวลา 19:59 ET มีแท่งข้อมูลในช่วงเวลาซื้อขายปกติ 390 แท่ง มีเซสชัน 1 เซสชันในช่วงเวลาที่กำหนด และมีแถววันหยุด 0 แถวสำหรับวันที่ดังกล่าว การปิดทำการตามกำหนดครั้งถัดไปคือ Labor Day ในวันที่ 2026-09-07
คำถามที่พบบ่อย
ตลาดหุ้นเป็นอย่างไรในวันอังคารที่ 28 กรกฎาคม 2026?
SPY เปลี่ยนแปลง 0.24% เมื่อเทียบกับราคาปิดของวันก่อนหน้า มาอยู่ที่ $740.76 ขณะที่ QQQ อยู่ที่ -0.96%, DIA อยู่ที่ 1.07% และ IWM อยู่ที่ 0.15% ในบรรดาหุ้นที่มีสภาพคล่องสูง 3519 ปรับตัวขึ้น และ 2423 ปรับตัวลง
กลุ่มอุตสาหกรรมใดทำผลงานดีที่สุดในวันที่ 28 กรกฎาคม 2026?
Health Care ที่ 2.36% โดยวัดจากกองทุน SPDR select-sector ทั้งสิบเอ็ดกอง กองทุนที่อ่อนแอที่สุดในบรรดาทั้งสิบเอ็ดกองคือ Technology ซึ่งมีรายการซื้อขายที่ราคา -1.9%
ตลาดออปชันมีความคึกคักเพียงใดในวันที่ 28 กรกฎาคม 2026?
มีการซื้อขายสัญญา 59.28 ล้านสัญญา เทียบกับ 64.69 ล้านสัญญาในวันทำการก่อนหน้า สัญญาที่หมดอายุในวันเดียวกันคิดเป็น 29% ของปริมาณการซื้อขาย และ call option คิดเป็น 55%
หุ้นใดมีมูลค่าการซื้อขายสูงสุดในวันที่ 28 กรกฎาคม 2026?
MU มีมูลค่าการซื้อขายในเวลาทำการปกติ 39.21 พันล้านดอลลาร์ สูงกว่า QQQ ซึ่งมีมูลค่าการซื้อขาย 29.98 พันล้านดอลลาร์
หมายเหตุข้อมูล
ฉบับนี้เติมช่วงวันที่ 28 กรกฎาคมที่ขาดหายไปในชุดข้อมูลรายวัน: ข้อมูลรายวันวันที่ 27 กรกฎาคม ครอบคลุมช่วงการซื้อขายก่อนหน้า ข้อมูลรายวันวันที่ 29 กรกฎาคม ครอบคลุมช่วงการซื้อขายถัดไป และ สรุปรายสัปดาห์ ครอบคลุมสัปดาห์ก่อนหน้าทั้งสองช่วง รายการตาม ticker ที่ระบุชื่อจัดเรียงตามตัวอักษร เพื่อให้การอ้างอิงในเนื้อหาชี้ไปยังแถวเดิม ส่วนกระดานจัดอันดับและกระดานหุ้นที่เคลื่อนไหวมากจัดเรียงตามมูลค่า และทุกข้อความที่อ้างถึงตำแหน่งในกระดานมีการเข้ารหัสเป็นขอบเขตตรวจสอบความสมเหตุสมผล ตะกร้าหุ้น mega-cap และตะกร้ากองทุนรายอุตสาหกรรมจำนวนสิบเอ็ดกองทุนเป็นชุดที่กำหนดและคงที่ ไม่ใช่การจัดประเภทโดยผู้ให้บริการข้อมูล กระดานหุ้นที่เคลื่อนไหวมากใช้เกณฑ์มูลค่าการซื้อขายในเวลาทำการปกติห้าล้านดอลลาร์สหรัฐ ตัดชื่อที่มีการแตกพาร์เกิดขึ้นระหว่างราคาปิดทั้งสองวันที่ใช้วัด และตัดสัญลักษณ์ที่นำกลับมาใช้ซ้ำหนึ่งรายการตามเกณฑ์ป้องกันความกำกวมของระบบ เพื่อให้ข้อความเน้นย้ำแต่ละรายการอ้างถึงชื่อที่ตรวจสอบได้เสมอ แผงข้อมูลราคาแยกนับราคาเสนอซื้อหรือเสนอขายด้านเดียวและราคาเสนอซื้อขายไขว้ของแต่ละชื่อ แทนที่จะตัดรายการเหล่านี้ออกโดยไม่แจ้ง Treasury และดัชนีรายวันของ EDGAR มีเวลานำส่งข้อมูลของตนเอง ดังนั้นแผงข้อมูลดังกล่าวจึงรายงานเฉพาะข้อมูลที่มีอยู่จริง โดยไม่สมมติว่าข้อมูลจะมาถึงตามกำหนด ไม่ปรากฏดัชนีความผันผวนโดยนัยในที่นี้ เนื่องจากชุดข้อมูลดังกล่าวไม่ได้รับอนุญาตให้นำเข้าสู่คลังข้อมูลนี้ ดังนั้นจึงประเมินความผันผวนจากข้อมูลการซื้อขายผ่านกรอบราคา สัดส่วน options ในวันเดียวกัน และพฤติกรรมของราคาเสนอซื้อขาย
ระเบียบวิธี
- แหล่งข้อมูลตลาด: consolidated tape ใช้
delayed_stocks_minute_aggsสำหรับราคาและปริมาณการซื้อขายoptions_tradesสำหรับ options tape และcache_stocks_quotesกับcache_options_quotesสำหรับแผง NBBO - ราคาปิด: แท่งข้อมูลนาทีสุดท้ายของช่วงการซื้อขายปกติเท่านั้น ไม่ถือว่าเป็นรายการซื้อขาย ณ เวลา 16:00 โดยอัตโนมัติ และไม่ใช้รายการซื้อขายนอกเวลาปกติ
- การจัดการเขตเวลา: timestamp ที่จัดเก็บทั้งหมดเป็น UTC ส่วนคำสั่ง WHERE ใช้ค่า UTC ดิบ และ
toTimeZoneปรากฏเฉพาะในรายการ SELECT สำหรับป้ายกำกับ ET - การตรวจสอบช่วงการซื้อขาย: ตรวจสอบจากตารางวันหยุดและแท่งข้อมูลที่สังเกตได้ ไม่ได้อนุมานจากปฏิทิน
- การเปรียบเทียบกับช่วงการซื้อขายก่อนหน้า: คำนวณภายใน query โดยเริ่มจากวันที่ 27 กรกฎาคม ไม่ได้นำค่าจากบทความก่อนหน้ามาใช้
- ทศนิยม: คอลัมน์ราคา ขนาด และปริมาณถูกแปลงเป็น Float64 ก่อนการหารหรือคูณใด ๆ
- การรวมข้อมูลแบบกำหนดผลลัพธ์แน่นอน: ใช้ quantiles ที่คำนวณได้อย่างแน่นอนและการตัดสินกรณีเสมอด้วยคีย์แบบ tuple ตลอดทั้ง query โดยการเรียงลำดับหรือข้ออ้างเกี่ยวกับทิศทางทุกประการในเนื้อหาถูกเข้ารหัสเป็นขอบเขตตรวจสอบความสมเหตุสมผล
- วันที่ข้อมูลในคลังข้อมูล ณ เวลาอ้างอิง: วันที่ 1 สิงหาคม 2026 ซึ่งเป็นเวลาสี่วันหลังช่วงการซื้อขาย และพ้นช่วงหน่วงเวลานำเข้าข้อมูลตามปกติของ tape ที่หนึ่งถึงสองวันแล้ว ใบรับข้อมูลที่มีขอบเขตข้างต้นจะคงบทความนี้ไว้ หากพบว่าชุดข้อมูลใดขาดหายระหว่างการสร้างบทความ
ลิงก์ภายใน: สรุปรายวันวันที่ 27 กรกฎาคม, สรุปรายวันวันที่ 29 กรกฎาคม, วันที่ options หมดอายุ, ความหมายของ bid-ask spread, และ spread ระหว่างอัตราผลตอบแทนพันธบัตรอายุสองถึงสิบปี
ทุก query ข้างต้นทำงานได้โดยไม่ต้องแก้ไขบนเทอร์มินัล Strasmore หากต้องการเปลี่ยนช่วงเวลาไปยังช่วงการซื้อขายอื่น