สรุปสภาวะตลาดวันที่ 30 กรกฎาคม 2026 ข้อมูลตัวเลขสำคัญ
สรุปภาพรวมตลาดวันที่ 30 กรกฎาคม 2026 รวบรวมข้อมูลดัชนี สัดส่วนหุ้นปรับตัวขึ้น การเคลื่อนไหวของออปชัน อัตราดอกเบี้ย และตารางกิจกรรมสำคัญผ่านการวิเคราะห์ข้อมูลเชิงปริมาณที่แม่นยำ
สรุปสภาวะตลาดสำหรับวันพฤหัสบดีที่ 30 กรกฎาคม 2026 นี้ ได้รวบรวมข้อมูลตลอดทั้งช่วงการซื้อขายจากฐานข้อมูล: การเปลี่ยนแปลงราคาปิดต่อราคาปิดของ SPY อยู่ที่ 1.68% สัดส่วนหุ้นที่ปรับตัวเพิ่มขึ้นในกระดานที่มีสภาพคล่องสูงอยู่ที่ 63.5% และมีการบันทึกการซื้อขายในตลาดออปชันจำนวน 67.06 ล้านสัญญา หน้าต่างข้อมูลทุกส่วนด้านล่างถูกกำหนดช่วงเวลาไว้อย่างชัดเจนทั้งจุดเริ่มต้นและจุดสิ้นสุด ดังนั้นการเรียกใช้คำสั่ง SQL ของแต่ละส่วนจะให้ผลลัพธ์เป็นตัวเลขชุดเดียวกันนี้
ตารางสรุปผลการดำเนินงาน
การเปลี่ยนแปลงทั้งหมดเป็นการเปรียบเทียบระหว่างแท่งราคาหนึ่งนาทีสุดท้ายของช่วงการซื้อขายปกติในวันที่ 30 กรกฎาคม กับวันที่ 29 กรกฎาคม ซึ่งเป็นช่วงการซื้อขายที่ต่อเนื่องกัน โดยเรียงลำดับแถวตามตัวอักษรเพื่อให้ 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-29 13:30:00' AND window_start < '2026-07-29 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-30 13:30:00' AND window_start < '2026-07-30 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.19%, IWM 1.37%, QQQ 3.34% และ SPY 1.68% ปิดที่ระดับ $741.73 ในแต่ละแถวจะแบ่งการเคลื่อนไหวออกเป็นสองช่วง ได้แก่ SPY เปิดตลาดที่ 0.9% จากราคาปิดของวันพุธ และเคลื่อนไหว 0.77% จากราคาเปิดถึงราคาปิด ช่วงการซื้อขายข้ามคืนและช่วงการซื้อขายระหว่างวันไม่จำเป็นต้องมีทิศทางเดียวกัน และการแบ่งช่วงเวลาดังกล่าวถือเป็นร่องรอยแรกของแต่ละรอบการซื้อขาย
วันดังกล่าวมีความผิดปกติหรือไม่?
ตัวเลขของช่วงการซื้อขายเพียงวันเดียวไม่มีความหมายหากปราศจากการกระจายตัวของข้อมูลที่อยู่เบื้องหลัง ดังนั้นวันดังกล่าวจึงถูกจัดอันดับภายในช่วงหนึ่งเดือนย้อนหลังโดยใช้ตรรกะเดียวกัน
SQL เบื้องหลังตัวเลขแต่ละตัว
SELECT
round(anyIf(oc_pct, d = toDate('2026-07-30')), 2) AS spy_open_to_close_pct,
arrayCount(x -> x > abs(anyIf(oc_pct, d = toDate('2026-07-30'))), groupArrayIf(abs(oc_pct), d != toDate('2026-07-30'))) + 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-30 13:30:00')
AND window_start < toDateTime('2026-07-31 00:00:00')
AND (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199
GROUP BY d
)การเคลื่อนไหวของ SPY จากราคาเปิดสู่ราคาปิดที่ 0.77% ได้รับการจัดอันดับที่ 3 จากจำนวน 22 ช่วงการซื้อขายย้อนหลัง โดยพิจารณาจากขนาดสัมบูรณ์ในกรอบเวลาที่ย้อนกลับไปถึง 2026-06-30 การจัดอันดับนี้เป็นการนับจำนวนช่วงการซื้อขายอื่น ๆ ในกรอบเวลาเดียวกันที่มีการเคลื่อนไหวมากกว่า โดยบวกเพิ่มอีกหนึ่ง ดังนั้นอันดับที่หนึ่งจึงหมายถึงการเคลื่อนไหวที่ใหญ่ที่สุดของเดือนที่ผ่านมา
ความกว้างของตลาด
ระดับดัชนีเป็นเพียงตัวเลขเดียว แต่ความกว้างของตลาดจะนับจำนวนหุ้นที่เคลื่อนไหวไปในทิศทางเดียวกัน
SQL เบื้องหลังตัวเลขแต่ละตัว
SELECT
countIf(c30 > c29 AND liquid) AS advancers,
countIf(c30 < c29 AND liquid) AS decliners,
countIf(c30 = c29 AND liquid) AS unchanged,
countIf(liquid) AS liquid_tickers,
countIf(NOT liquid) AS dropped_by_liquidity_filter,
round(100.0 * countIf(c30 > c29 AND liquid) / countIf(liquid), 1) AS advancer_pct
FROM (
SELECT ticker, c29, c30, dv30 >= 1000000 AS liquid
FROM (
SELECT ticker,
argMaxIf(toFloat64(close), window_start, window_start >= '2026-07-29 13:30:00' AND window_start < '2026-07-29 20:00:00') AS c29,
argMaxIf(toFloat64(close), window_start, window_start >= '2026-07-30 13:30:00' AND window_start < '2026-07-30 20:00:00') AS c30,
sumIf(toFloat64(close) * toFloat64(volume), window_start >= '2026-07-30 13:30:00') AS dv30
FROM global_markets.delayed_stocks_minute_aggs
WHERE window_start >= '2026-07-29 13:30:00' AND window_start < '2026-07-30 20:00:00'
GROUP BY ticker
HAVING c29 > 0 AND c30 > 0
)
)จากหุ้นจำนวน 5960 ตัวที่มีมูลค่าการซื้อขายในช่วงเวลาปกติเกินหนึ่งล้านดอลลาร์ มีหุ้น 3782 ตัวที่ปิดสูงกว่าราคาปิดของวันพุธ และหุ้น 2122 ตัวที่ปิดต่ำกว่า โดยมีสัดส่วนหุ้นปรับตัวขึ้นอยู่ที่ 63.5% ตัวกรองนี้ได้แยกหุ้นที่มีสภาพคล่องต่ำจำนวน 5492 ตัวออกมา ซึ่งถูกนับรวมไว้ที่นี่แทนที่จะถูกตัดออกไปโดยไม่มีการบันทึก
กลุ่มหุ้นขนาดใหญ่พิเศษ (Mega-cap)
รายชื่อหุ้นขนาดใหญ่พิเศษทั้งแปดตัวปรากฏอยู่ที่นี่ในทุกรอบการซื้อขาย โดยเรียงตามตัวอักษรเพื่อให้แต่ละตัวคงอยู่ในแถวเดิม จุดประสงค์คือการใช้ตะกร้าหุ้นชุดคงที่ เพื่อให้ผู้อ่านจดจำแถวของหุ้นแต่ละตัวได้ และไม่มีการเลือกหุ้นผู้ชนะโดยใช้ดุลยพินิจของผู้เขียนในภายหลัง
SQL เบื้องหลังตัวเลขแต่ละตัว
WITH per_name AS (
SELECT
ticker,
toFloat64(argMaxIf(close, window_start, window_start < '2026-07-30 00:00:00')) AS prior_close,
toFloat64(argMaxIf(close, window_start, window_start >= '2026-07-30 00:00:00')) AS day_close,
round(sumIf(toFloat64(close) * toFloat64(volume), window_start >= '2026-07-30 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-29 13:30:00' AND window_start < '2026-07-29 20:00:00')
OR (window_start >= '2026-07-30 13:30:00' AND window_start < '2026-07-30 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 เคลื่อนไหวที่ -1.24%, META ที่ -8.17%, MSFT ที่ 15.06% และ NVDA ที่ 2.67% โดยมีมูลค่าการซื้อขายในช่วงเวลาปกติอยู่ที่ 19.63 พันล้านดอลลาร์ ในขณะที่ TSLA อยู่ที่ 3.53% คอลัมน์ดอลลาร์แสดงให้เห็นว่าหุ้นทั้งแปดตัวนี้มีสัดส่วนต่อปริมาณการซื้อขายรวมมากเพียงใด ส่วนแผงแสดงความกว้างของตลาด (breadth panel) ด้านบนทำหน้าที่ตรวจสอบว่าหุ้นตัวอื่นๆ ในตลาดเคลื่อนไหวไปในทิศทางเดียวกันมากน้อยเพียงใด
หุ้นที่มีการเคลื่อนไหวโดดเด่นประจำวัน
กระดานทั้งสองแห่งกำหนดให้มีมูลค่าการซื้อขายในช่วงเวลาทำการปกติไม่ต่ำกว่าห้าล้านดอลลาร์ โดยไม่นับรวมหลักทรัพย์ที่มีการแตกหุ้นระหว่างช่วงปิดทำการสองช่วงที่วัดผล และไม่นับรวมสัญลักษณ์ที่ถูกนำกลับมาใช้ใหม่ภายใต้มาตรการป้องกันความคลุมเครือของบริษัทตามที่ระบุไว้ในหมายเหตุ
SQL เบื้องหลังตัวเลขแต่ละตัว
SELECT ticker, board, day_pct, day_dollar_m
FROM (
SELECT 'gainers' AS board, ticker, round((c30 / c29 - 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-29 13:30:00' AND window_start < '2026-07-29 20:00:00') AS c29,
argMaxIf(toFloat64(close), window_start, window_start >= '2026-07-30 13:30:00' AND window_start < '2026-07-30 20:00:00') AS c30,
sumIf(toFloat64(close) * toFloat64(volume), window_start >= '2026-07-30 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-29' AND execution_date <= '2026-07-30')
AND window_start >= '2026-07-29 13:30:00' AND window_start < '2026-07-30 20:00:00'
GROUP BY ticker
HAVING c29 > 0 AND c30 > 0 AND dv >= 5000000
)
ORDER BY day_pct DESC
LIMIT 8
UNION ALL
SELECT 'decliners' AS board, ticker, round((c30 / c29 - 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-29 13:30:00' AND window_start < '2026-07-29 20:00:00') AS c29,
argMaxIf(toFloat64(close), window_start, window_start >= '2026-07-30 13:30:00' AND window_start < '2026-07-30 20:00:00') AS c30,
sumIf(toFloat64(close) * toFloat64(volume), window_start >= '2026-07-30 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-29' AND execution_date <= '2026-07-30')
AND window_start >= '2026-07-29 13:30:00' AND window_start < '2026-07-30 20:00:00'
GROUP BY ticker
HAVING c29 > 0 AND c30 > 0 AND dv >= 5000000
)
ORDER BY day_pct ASC
LIMIT 8
)
ORDER BY board DESC, abs(day_pct) DESCหุ้นที่ปรับตัวขึ้นสูงสุดบนกระดานคือ CYCU ซึ่งปรับตัวขึ้น 489.5% ด้วยมูลค่าการซื้อขาย 474.4 ล้านดอลลาร์ ส่วนหุ้นที่ปรับตัวลดลงรุนแรงที่สุดคือ IREZ ซึ่งมีราคาปิดที่ -61.2% ด้วยมูลค่าการซื้อขาย 90.8 ล้านดอลลาร์ หน้านี้บันทึกขนาดการซื้อขายและมูลค่าที่เกิดขึ้นจริงเท่านั้น โดยไม่มีการวิเคราะห์สาเหตุประกอบ
การกระจายตัวของกลุ่มอุตสาหกรรม
กองทุน SPDR select-sector ทั้งสิบเอ็ดกองทุน โดยเปรียบเทียบราคาปิดวันที่ 30 กรกฎาคม กับวันที่ 29 กรกฎาคม เรียงลำดับจากดีที่สุดไปแย่ที่สุด ตะกร้าหุ้นนี้ถูกกำหนดและคงที่ไว้ ไม่ใช่การจัดกลุ่มโดยผู้ให้บริการข้อมูล
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((c30 / c29 - 1) * 100, 2) AS day_pct
FROM (
SELECT ticker,
argMaxIf(toFloat64(close), window_start, window_start < '2026-07-30 00:00:00') AS c29,
argMaxIf(toFloat64(close), window_start, window_start >= '2026-07-30 00:00:00') AS c30
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-29 13:30:00' AND window_start < '2026-07-29 20:00:00')
OR (window_start >= '2026-07-30 13:30:00' AND window_start < '2026-07-30 20:00:00'))
GROUP BY ticker
HAVING c29 > 0 AND c30 > 0
)
)
ORDER BY day_pct DESCTechnology ครองอันดับหนึ่งที่ 5.52% และ Communications อยู่ในอันดับสุดท้ายที่ -2.69% ซึ่งห่างกัน 8.21 จุดเปอร์เซ็นต์ ส่วนต่างดังกล่าวคือการกระจายตัวของกลุ่มอุตสาหกรรมในวันนั้น โดยสภาวะตลาดที่ทั้งสิบเอ็ดกลุ่มเคลื่อนไหวอยู่ในกรอบหนึ่งจุดจะให้ภาพที่แตกต่างอย่างสิ้นเชิงจากสภาวะที่กระจายตัวกว้างออกไปหลายจุด
มูลค่าการซื้อขายดอลลาร์
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-30 13:30:00' AND window_start < '2026-07-30 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-30 13:30:00' AND window_start < '2026-07-30 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 นำกระดานมูลค่าการซื้อขายดอลลาร์ด้วยยอดรวม 43.29 พันล้านดอลลาร์ในช่วงเวลาทำการปกติ โดยมี MSFT ตามมาที่ 42.56 พันล้านดอลลาร์ สำหรับกระดานปริมาณหุ้นนั้นสะท้อนภาพที่ต่างออกไป โดย CYCU ครองอันดับหนึ่งด้วยปริมาณ 544 ล้านหุ้น และมีราคาเฉลี่ยโดยนัยอยู่ที่ 0.86 ดอลลาร์ มูลค่าการซื้อขายดอลลาร์บ่งบอกถึงความสนใจของตลาด ส่วนปริมาณหุ้นบ่งบอกถึงความเคลื่อนไหวหมุนเวียน และเมื่อวัดเป็นรายหลักทรัพย์ ตัวชี้วัดนี้จะเรียกว่า relative volume
ข้อมูลการซื้อขายออปชัน
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) = '260730', 1, 0) AS is_0dte
FROM global_markets.options_trades
WHERE sip_timestamp >= '2026-07-30 00:00:00' AND sip_timestamp < '2026-07-31 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-30 13:30:00' AND window_start < '2026-07-30 20:00:00'
) AS spy_regular_close,
(
SELECT round(toFloat64(sum(size)) / 1e6, 2)
FROM global_markets.options_trades
WHERE sip_timestamp >= '2026-07-29 00:00:00' AND sip_timestamp < '2026-07-30 00:00:00'
) AS jul29_contracts_m,
(
SELECT round(100.0 * sumIf(size, substring(ticker, length(ticker) - 14, 6) = '260729') / sum(size), 1)
FROM global_markets.options_trades
WHERE sip_timestamp >= '2026-07-29 00:00:00' AND sip_timestamp < '2026-07-30 00:00:00'
) AS jul29_pct_0dte
SELECT
round(count() / 1e6, 2) AS option_prints_m,
round(toFloat64(sum(size)) / 1e6, 2) AS contracts_m,
jul29_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) = '260730') / sum(size), 1) AS pct_0dte,
jul29_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-30 00:00:00' AND sip_timestamp < '2026-07-31 00:00:00'ข้อมูลการซื้อขายออปชันบันทึกจำนวนการเทรดไว้ที่ 10.93 ล้านรายการ คิดเป็นปริมาณสัญญา 67.06 ล้านสัญญา เทียบกับ 66.84 ล้านสัญญาในวันพุธ ปริมาณการซื้อขายในฝั่ง Call คิดเป็น 54.6% ของปริมาณสัญญาทั้งหมด สัญญาที่หมดอายุในวันเดียวกันหรือกลุ่ม zero-days-to-expiry มีสัดส่วนอยู่ที่ 25.3% เทียบกับ 33.1% ในวันพุธ ซึ่งเป็นจังหวะที่ถูกกำหนดโดย expiration timing สัญญา SPY ที่มีการซื้อขายหนาแน่นที่สุดคือ 740 C ด้วยปริมาณ 0.56 ล้านสัญญา โดยมีราคาใช้สิทธิห่างจากราคาปิดปกติของ SPY ที่ $741.73 อยู่ -1.73 ดอลลาร์ ซึ่งคำนวณจากราคาใช้สิทธิหักด้วยราคาปิด
แถบบันทึกราคาเสนอซื้อขาย
ข้อมูลราคาเสนอซื้อขายเป็นชุดข้อมูลที่หายากที่สุดของฝ่ายนี้ และมีการวัดผลในทุกรอบการซื้อขาย วันปกติทั่วไปจะถูกบันทึกไว้เช่นกัน
SQL เบื้องหลังตัวเลขแต่ละตัว
SELECT
round(countIf(toDate(sip_timestamp) = toDate('2026-07-30')) / 1e6, 2) AS jul30_updates_m,
round(countIf(toDate(sip_timestamp) = toDate('2026-07-29')) / 1e6, 2) AS jul29_updates_m,
round((countIf(toDate(sip_timestamp) = toDate('2026-07-30')) / countIf(toDate(sip_timestamp) = toDate('2026-07-29')) - 1) * 100, 1) AS day_over_day_pct,
round(countIf(toDate(sip_timestamp) = toDate('2026-07-30') AND ticker = 'SPY') / 1e6, 2) AS jul30_spy_updates_m,
round(countIf(toDate(sip_timestamp) = toDate('2026-07-30') AND ticker = 'QQQ') / 1e6, 2) AS jul30_qqq_updates_m,
round(countIf(toDate(sip_timestamp) = toDate('2026-07-30') AND ticker = 'NVDA') / 1e6, 2) AS jul30_nvda_updates_m
FROM global_markets.cache_stocks_quotes
WHERE sip_timestamp >= '2026-07-29 00:00:00' AND sip_timestamp < '2026-07-31 00:00:00'แถบบันทึกราคาเสนอซื้อขายหุ้นมีการอัปเดต NBBO จำนวน 560.75 ล้านรายการ เทียบกับ 722.65 ล้านรายการในวันพุธ ซึ่งเป็นการเปลี่ยนแปลงแบบวันต่อวันอยู่ที่ -22.4% โดย SPY บันทึกการอัปเดตได้ 5.55 ล้านรายการ QQQ ได้ 6.75 ล้านรายการ และ NVDA ได้ 2.39 ล้านรายการ
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-30 13:30:00' AND sip_timestamp < '2026-07-30 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.59 และ NVDA อยู่ที่ 1.03 สองคอลัมน์สุดท้ายคือการเปิดเผยข้อมูล โดยราคาเสนอซื้อเสนอขายด้านเดียวและราคาที่คาบเกี่ยวกันจะถูกนับแยกตามรายชื่อและแยกออกจากค่ามัธยฐานแทนที่จะถูกตัดออกไปโดยเงียบๆ ราคาเสนอซื้อเสนอขายที่คาบเกี่ยวกัน ซึ่งราคาเสนอซื้อสูงกว่าราคาเสนอขาย เป็นผลลัพธ์ปกติของข้อมูลที่รวบรวมจากหลายแหล่งซื้อขายที่ความละเอียดระดับนาโนวินาที
SQL เบื้องหลังตัวเลขแต่ละตัว
SELECT round(anyIf(spread_bps, d = toDate('2026-07-30')), 2) AS jul30_median_spread_bps,
arrayCount(x -> x < anyIf(spread_bps, d = toDate('2026-07-30')), groupArrayIf(spread_bps, d != toDate('2026-07-30'))) + 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-30 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 อยู่ในลำดับที่ 19 จากทั้งหมด 21 โดยนับจากส่วนต่างที่แคบที่สุด ในช่วงเวลาที่เริ่มตั้งแต่ 2026-07-01 ในวันที่ตลาดเงียบเหงา ประโยคนี้คือประเด็นสำคัญของตารางข้อมูลนี้ นั่นคือวันปกติสำหรับสภาพคล่องถือเป็นข้อค้นพบที่ได้รับการเผยแพร่และมีขอบเขตชัดเจน
SQL เบื้องหลังตัวเลขแต่ละตัว
WITH
(SELECT count() FROM global_markets.cache_options_quotes WHERE sip_timestamp >= '2026-07-30 00:00:00' AND sip_timestamp < '2026-07-31 00:00:00') AS jul30_options_rows,
(SELECT count() FROM global_markets.cache_stocks_quotes WHERE sip_timestamp >= '2026-07-30 00:00:00' AND sip_timestamp < '2026-07-31 00:00:00') AS jul30_stock_quote_rows
SELECT
round(jul30_options_rows / 1e9, 2) AS jul30_options_bn,
round(jul30_options_rows / jul30_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-30 13:30:00' AND sip_timestamp < '2026-07-30 20:00:00') / 1e6, 0) AS jul30_spy_options_mแถบบันทึก NBBO ของออปชันมีการอัปเดตจำนวน 10.32 พันล้านรายการ ซึ่งเป็น 18.4 เท่าของแถบบันทึกราคาเสนอซื้อขายหุ้น โดยเฉพาะตัวหลักอย่าง SPY เพียงตัวเดียวมีการอัปเดตในช่วงเวลาทำการปกติถึง 441 ล้านรายการ
อัตราดอกเบี้ย
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-27' AND date <= '2026-07-30'
ORDER BY dateข้อมูลของกระทรวงการคลังมีความล่าช้ากว่าการซื้อขายจริงในตลาดประมาณหนึ่งวันทำการ ดังนั้นตารางนี้จึงแสดงรายการธุรกรรมที่บันทึกไว้ โดยมีแถวข้อมูล 4 แถวในช่วงเวลาดังกล่าว ข้อมูลล่าสุด ณ วันที่ 2026-07-30 ระบุอัตราผลตอบแทนพันธบัตรอายุสองปีอยู่ที่ 4.23% อายุสิบปีอยู่ที่ 4.68% และอายุสามสิบปีอยู่ที่ 5.21% ซึ่งคิดเป็น ส่วนต่างอัตราผลตอบแทนพันธบัตรอายุสองปีและสิบปี ที่ 45 basis points
ปฏิทินเบื้องหลังของวัน
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-30 04:00:00' AND published_utc < '2026-07-31 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-30'
) AS fil
SELECT
(SELECT count() FROM global_markets.stocks_dividends WHERE ex_dividend_date = '2026-07-30') AS ex_dividend_records,
(SELECT countIf(toFloat64(split_from) > toFloat64(split_to)) FROM global_markets.stocks_splits WHERE execution_date = '2026-07-30') AS reverse_splits,
(SELECT countIf(toFloat64(split_to) > toFloat64(split_from)) FROM global_markets.stocks_splits WHERE execution_date = '2026-07-30') AS forward_splits,
(SELECT count() FROM global_markets.stocks_ipos WHERE listing_date = '2026-07-30') AS listings,
(SELECT count() FROM global_markets.stocks_news WHERE published_utc >= '2026-07-30 04:00:00' AND published_utc < '2026-07-31 04:00:00') AS news_articles,
(SELECT uniqExact(JSONExtractString(publisher, 'name')) FROM global_markets.stocks_news WHERE published_utc >= '2026-07-30 04:00:00' AND published_utc < '2026-07-31 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_10q200 รายการเงินปันผลได้ขึ้นเครื่องหมาย ex-dividend เมื่อวันที่ 30 กรกฎาคม โดยมีการทำ 3 รายการ reverse split และ 3 รายการ forward split รวมถึงมี 3 หลักทรัพย์ใหม่เข้าซื้อขายในตลาด ข่าวสารในระบบมีบทความจำนวน 173 ฉบับจากสำนักข่าว 2 แห่ง โดยที่ NVDA เป็น ticker ที่ถูกกล่าวถึงมากที่สุดในรอบเวลาของฟีดนี้ด้วยจำนวน 11 บทความ ดัชนีรายวันของ EDGAR มีเอกสารยื่น 5544 ฉบับสำหรับวันที่ดังกล่าวจากผู้ยื่น 2743 ราย ได้แก่ รายงานการซื้อขายของบุคคลภายใน Form 4 จำนวน 745 ฉบับ, รายงานเหตุการณ์สำคัญ 8-K จำนวน 460 ฉบับ, เอกสารประกอบการกำหนดราคา 424B2 จำนวน 1426 ฉบับ และรายงานผลประกอบการรายไตรมาส 10-Q จำนวน 252 ฉบับ ดัชนีดังกล่าวมีกำหนดการเผยแพร่ของตนเอง และแผงข้อมูลนี้จะรายงานสิ่งที่ปรากฏอยู่ในขณะที่สร้างข้อมูลขึ้นมา
สิ่งที่กำลังจะเกิดขึ้น
สองช่วงการซื้อขายถัดไปจะอ้างอิงจากตารางชุดเดียวกัน โดยมุ่งเน้นไปที่ช่วงเวลาถัดจากนี้ วันศุกร์ที่ 31 กรกฎาคม เป็นวันซื้อขายวันสุดท้ายของเดือนตามปฏิทิน
SQL เบื้องหลังตัวเลขแต่ละตัว
SELECT
(SELECT count() FROM global_markets.stocks_market_holidays WHERE date >= '2026-07-31' AND date <= '2026-08-03' AND status != 'open') AS closures_next_two_sessions,
(SELECT count() FROM global_markets.stocks_dividends WHERE ex_dividend_date >= '2026-07-31' AND ex_dividend_date <= '2026-08-03') AS exdiv_records_next_two_sessions,
(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-31' AND ex_dividend_date <= '2026-08-03') AS household_exdivs,
(SELECT count() FROM global_markets.stocks_splits WHERE execution_date >= '2026-07-31' AND execution_date <= '2026-08-03') AS splits_next_two_sessions,
round(100.0 * sumIf(size, substring(ticker, length(ticker) - 14, 6) = '260731') / sum(size), 1) AS jul31_expiry_pct_of_thu_volume,
(SELECT toString(max(settlement_date)) FROM global_markets.stocks_short_interest WHERE settlement_date <= '2026-07-30') AS latest_short_interest_settlement
FROM global_markets.options_trades
WHERE sip_timestamp >= '2026-07-30 00:00:00' AND sip_timestamp < '2026-07-31 00:00:00'ตารางวันหยุดแสดงการปิดทำการ 0 แห่งในช่วงวันศุกร์ที่ 31 กรกฎาคม และวันจันทร์ที่ 3 สิงหาคม มีหุ้น 544 ตัวที่ขึ้นเครื่องหมาย ex-dividend ในช่วงสองวันดังกล่าว โดย 0 ตัวอยู่ในกลุ่มหุ้นบลูชิพสิบอันดับแรกที่ตรวจสอบ และมีการกำหนดการแตกหุ้น 14 รายการ ปริมาณการซื้อขาย option ของวันพฤหัสบดีมี 26.7% ที่อยู่ในสัญญาซึ่งจะหมดอายุในวันศุกร์ที่ 31 กรกฎาคม ข้อมูลยอดขายชอร์ต (short-interest) ล่าสุดที่มีคือ 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-30 13:30:00' AND window_start < '2026-07-30 20:00:00') AS regular_session_bars,
uniqExactIf(toDate(toTimeZone(window_start, 'America/New_York')), window_start >= '2026-07-30 13:30:00' AND window_start < '2026-07-30 20:00:00') AS day_sessions,
(SELECT count() FROM global_markets.stocks_market_holidays WHERE date = '2026-07-30') AS jul30_holiday_rows,
(SELECT toString(min(date)) FROM global_markets.stocks_market_holidays WHERE date > '2026-07-30' 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-30' 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-30 00:00:00' AND window_start < '2026-07-31 00:00:00'ช่วงการซื้อขายปกติเต็มรูปแบบ: แท่งราคาแรกของ SPY คือ 04:00 ตามเวลา ET แท่งสุดท้ายคือ 19:59 ตามเวลา ET มีแท่งราคาในช่วงเวลาปกติจำนวน 390 แท่ง มีช่วงการซื้อขายจำนวน 1 ช่วงในกรอบเวลาดังกล่าว และมีแถวข้อมูลวันหยุดจำนวน 0 แถวสำหรับวันที่นี้ วันหยุดทำการถัดไปที่มีการกำหนดไว้คือ Labor Day ในวันที่ 2026-09-07
คำถามที่พบบ่อย
ตลาดหุ้นมีผลการดำเนินงานอย่างไรในวันพฤหัสบดีที่ 30 มิถุนายน 2026?
SPY มีการเปลี่ยนแปลงแบบวันต่อวันอยู่ที่ 1.68% ปิดที่ $741.73 โดยที่ QQQ อยู่ที่ 3.34%, DIA อยู่ที่ 1.19% และ IWM อยู่ที่ 1.37% ในกลุ่มหุ้นที่มีสภาพคล่องสูง 3782 ปรับตัวเพิ่มขึ้น และ 2122 ปรับตัวลดลง
กลุ่มอุตสาหกรรมใดทำผลงานได้ดีที่สุดในวันที่ 30 มิถุนายน 2026?
Technology อยู่ที่ 5.52% เมื่อวัดจากกองทุน SPDR select-sector ทั้งสิบเอ็ดกลุ่ม ส่วนกลุ่มที่อ่อนแอที่สุดในสิบเอ็ดกลุ่มคือ Communications ซึ่งมีราคาปิดอยู่ที่ -2.69%
ตลาดออปชันมีความคึกคักเพียงใดในวันที่ 30 มิถุนายน 2026?
มีการซื้อขายสัญญาทั้งสิ้น 67.06 ล้านสัญญา เทียบกับ 66.84 ล้านสัญญาในรอบการซื้อขายก่อนหน้า สัญญาที่หมดอายุในวันเดียวกันมีสัดส่วนอยู่ที่ 25.3% ของปริมาณการซื้อขายทั้งหมด และสัญญาสิทธิซื้อ (call option) มีสัดส่วนอยู่ที่ 54.6%
หุ้นตัวใดที่มีมูลค่าการซื้อขายสูงสุดในวันที่ 30 มิถุนายน 2026?
MU มีมูลค่าการซื้อขายในช่วงเวลาปกติอยู่ที่ 43.29 พันล้านดอลลาร์ นำหน้า MSFT ซึ่งอยู่ที่ 42.56 พันล้านดอลลาร์
หมายเหตุข้อมูล
ฉบับรายวันก่อนหน้านี้คือ 29 กรกฎาคม 2026 และ สรุปรายสัปดาห์ จะครอบคลุมสัปดาห์ก่อนหน้าฉบับนี้ แผงข้อมูลราย ticker จะถูกเรียงลำดับตามตัวอักษรเพื่อให้การอ้างอิงในเนื้อหาชี้ไปยังแถวที่คงที่ ส่วนตารางผู้นำและตารางการเคลื่อนไหวจะเรียงลำดับตามมูลค่า โดยข้อความระบุตำแหน่งทุกรายการจะถูกเข้ารหัสไว้เป็นขอบเขตความถูกต้อง ตะกร้าหุ้น mega-cap และตะกร้าหุ้นรายกลุ่มอุตสาหกรรมสิบเอ็ดกองทุนเป็นชุดข้อมูลที่กำหนดไว้ตายตัว ไม่ใช่การจัดประเภทโดยผู้ให้บริการ ตารางการเคลื่อนไหวใช้เกณฑ์มูลค่าการซื้อขายในช่วงเวลาปกติที่ห้าล้านดอลลาร์ โดยไม่รวมหลักทรัพย์ที่มีการแตกหุ้นระหว่างราคาปิดสองวันที่วัดผล และไม่รวมสัญลักษณ์ที่ใช้ซ้ำภายใต้มาตรการป้องกันความคลุมเครือของบริษัท เพื่อให้การเรียกชื่ออ้างอิงถึงชื่อหลักทรัพย์ที่ตรวจสอบได้เสมอ แผงราคาเสนอซื้อเสนอขายจะนับราคาเสนอซื้อเสนอขายด้านเดียวและราคาที่คาบเกี่ยวกันของแต่ละหลักทรัพย์แทนที่จะตัดทิ้งโดยไม่แจ้งให้ทราบ ไฟล์ของกระทรวงการคลังและดัชนีรายวันของ EDGAR จะเผยแพร่ตามกำหนดการของตนเอง ดังนั้นแผงข้อมูลดังกล่าวจะรายงานสิ่งที่ถือครองอยู่จริงแทนการคาดการณ์เวลาที่ข้อมูลจะมาถึง ไม่มีการแสดงดัชนีความผันผวนแฝง (implied-volatility index) ในที่นี้ เนื่องจากชุดข้อมูลดังกล่าวไม่ได้รับอนุญาตให้ใช้ในคลังข้อมูลนี้ ดังนั้นความผันผวนจึงถูกอ่านจากข้อมูลการซื้อขายจริงผ่านช่วงราคา ปริมาณการซื้อขาย options ในวันเดียวกัน และพฤติกรรมของราคาเสนอซื้อเสนอขาย
ระเบียบวิธี
- แหล่งข้อมูลตลาด: consolidated tape โดยใช้
delayed_stocks_minute_aggsสำหรับราคาและปริมาณการซื้อขาย ใช้options_tradesสำหรับข้อมูล options และใช้cache_stocks_quotesกับcache_options_quotesสำหรับแผงข้อมูล NBBO - ราคาปิด: แท่งราคาหนึ่งนาทีสุดท้ายของช่วงการซื้อขายปกติ ไม่ใช่ราคาที่สมมติขึ้น ณ เวลา 16:00 น. และไม่รวมการซื้อขายนอกเวลาทำการ
- การจัดการเขตเวลา: การประทับเวลาทั้งหมดที่จัดเก็บเป็น UTC โดยคำสั่ง WHERE จะใช้ค่า UTC ดิบ และ
toTimeZoneจะปรากฏเฉพาะในรายการ SELECT สำหรับป้ายกำกับเวลา ET เท่านั้น - การตรวจสอบช่วงการซื้อขาย: ตรวจสอบจากตารางวันหยุดและแท่งราคาที่เกิดขึ้นจริง ไม่ได้อ้างอิงจากปฏิทินเพียงอย่างเดียว
- การเปรียบเทียบกับช่วงก่อนหน้า: คำนวณภายในคิวรีโดยอ้างอิงจากวันที่ 29 กรกฎาคม ไม่ได้นำข้อมูลมาจากบทความก่อนหน้า
- ทศนิยม: คอลัมน์ราคา ขนาด และปริมาณการซื้อขายจะถูกแปลงเป็น Float64 ก่อนการหารหรือการคูณใดๆ
- การรวมข้อมูลแบบกำหนดค่าได้: ใช้ค่าควอนไทล์ที่แม่นยำและการจัดการกรณีค่าเท่ากันด้วย tuple-keyed ตลอดทั้งกระบวนการ โดยข้อความที่กล่าวถึงลำดับหรือเครื่องหมายจะถูกกำหนดเป็นขอบเขตความถูกต้องไว้แล้ว
- วันที่อ้างอิงของคลังข้อมูล: วันที่ 1 สิงหาคม 2026 ซึ่งเป็นเวลาสองวันหลังจากช่วงการซื้อขาย อยู่ในช่วงเวลาที่ข้อมูลมักจะมีความล่าช้าในการนำเข้าหนึ่งถึงสองวันตามปกติของ tape โดยการรับข้อมูลที่จำกัดไว้ข้างต้นจะถือเป็นที่สิ้นสุดหากพบว่าชุดข้อมูลขาดหายไปในระหว่างการสร้างรายงาน
ลิงก์เชื่อมโยง: สรุปข้อมูลรายวันก่อนหน้า, สรุปข้อมูลรายสัปดาห์, ช่วงเวลาที่ options หมดอายุ, ความหมายของ bid-ask spread, และ ส่วนต่างอัตราผลตอบแทนพันธบัตรอายุสองปีถึงสิบปี
คิวรีทั้งหมดข้างต้นสามารถทำงานได้โดยไม่มีการเปลี่ยนแปลงบนเทอร์มินัล Strasmore หากคุณต้องการเปลี่ยนหน้าต่างไปดูช่วงการซื้อขายอื่น