สรุปภาวะตลาดวันที่ 29 มิถุนายน 2026
สรุปตัวเลขตลาดวันที่ 29 มิถุนายน 2026 ดัชนีปรับตัวขึ้นด้วยหุ้นกลุ่ม growth และความเคลื่อนไหวของกลุ่ม sector รวมถึงข้อมูล 0DTE และอัตราดอกเบี้ย
วันจันทร์ที่ 29 มิถุนายน 2026 ตลาดปรับตัวขึ้นโดยมีแรงขับเคลื่อนจากหุ้นกลุ่มเติบโต (growth) แต่มีกลุ่มผู้นำที่จำกัด โดย QQQ เพิ่มขึ้น 2.57%, SPY เพิ่มขึ้น 1.62% และหุ้นที่มีสภาพคล่องสูงในกลุ่ม 3968 ปรับตัวขึ้นสวนทางกับหุ้นที่ปรับตัวลงในกลุ่ม 2327 อย่างไรก็ตาม เกือบครึ่งหนึ่งของตะกร้าหุ้นรายกลุ่ม (sector baskets) ปิดลบ ทุกตัวเลขดึงมาจากฐานข้อมูลที่จัดเก็บไว้ หากต้องการดูคำสั่ง SQL สามารถขยายแผงข้อมูลได้ สำหรับข้อมูลเชิงลึกรายธุรกรรม (tick-by-tick) ของเซสชันเดียวกัน: เจาะลึกโครงสร้างตลาดรายธุรกรรมของวันที่ 29 มิถุนายน
สรุปผลการดำเนินงาน
การเปรียบเทียบทุกการเปลี่ยนแปลงใช้ข้อมูลจากแท่งเวลาสุดท้ายของช่วงการซื้อขายปกติของวันที่ 29 มิถุนายน เทียบกับวันที่ 26 มิถุนายน
SQL เบื้องหลังตัวเลขแต่ละตัว
WITH friday AS (
SELECT ticker, argMax(close, window_start) AS friday_close
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker IN ('SPY', 'QQQ', 'DIA', 'IWM')
AND window_start >= '2026-06-26 13:30:00' AND window_start < '2026-06-26 20:00:00'
GROUP BY ticker
),
monday AS (
SELECT ticker,
argMin(open, window_start) AS monday_open,
argMax(close, window_start) AS monday_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-06-29 13:30:00' AND window_start < '2026-06-29 20:00:00'
GROUP BY ticker
)
SELECT
m.ticker AS ticker,
toFloat64(f.friday_close) AS jun26_close,
toFloat64(m.monday_open) AS jun29_open,
toFloat64(m.monday_close) AS jun29_close,
round((toFloat64(m.monday_close) / toFloat64(f.friday_close) - 1) * 100, 2) AS pct_change,
round(100 * (toFloat64(m.monday_close) / toFloat64(f.friday_close) - 1) / max(toFloat64(m.monday_close) / toFloat64(f.friday_close) - 1) OVER (), 1) AS pct_of_best_change,
toFloat64(m.day_high) AS day_high,
toFloat64(m.day_low) AS day_low,
m.shares_traded_m AS shares_traded_m
FROM monday m
JOIN friday f ON m.ticker = f.ticker
ORDER BY m.tickerSPY เปิดที่ $736.525 เทียบกับราคาปิดของวันศุกร์ที่ $729.09 และปิดที่ $740.88 ซึ่งต่ำกว่าระดับสูงสุดที่ $741.56 ของวัน QQQ เพิ่มขึ้น 2.57% เทียบกับ DIA ที่เพิ่มขึ้น 0.81% สะท้อนถึงสภาวะตลาดที่หุ้นกลุ่มเติบโตและกลุ่มเทคโนโลยีปรับตัวขึ้น ส่วน IWM ในกลุ่มหุ้นขนาดเล็กเพิ่มขึ้น 0.45%
วันนี้มีความผิดปกติหรือไม่?
การเปลี่ยนแปลงเป็นเปอร์เซ็นต์จะไม่มีความหมายหากไม่มีเกณฑ์มาตรฐาน แผงข้อมูลนี้จัดลำดับวันที่ 29 มิถุนายน เมื่อเทียบกับเดือนที่ผ่านมา โดยพิจารณาจากขนาดการเปลี่ยนแปลงของราคาปิดเทียบกับราคาปิดแบบสัมบูรณ์
SQL เบื้องหลังตัวเลขแต่ละตัว
SELECT
round(anyIf(cc_pct, ticker = 'QQQ' AND d = toDate('2026-06-29')), 2) AS qqq_close_over_close_pct,
arrayCount(x -> x > abs(anyIf(cc_pct, ticker = 'QQQ' AND d = toDate('2026-06-29'))), groupArrayIf(abs(cc_pct), ticker = 'QQQ' AND d != toDate('2026-06-29'))) + 1 AS qqq_abs_move_rank,
countIf(ticker = 'QQQ') AS qqq_sessions_compared,
round(max(if(ticker = 'QQQ', abs(cc_pct), 0)), 2) AS qqq_biggest_move_of_month_pct,
countIf(ticker = 'QQQ' AND cc_pct > 0) AS qqq_up_sessions,
round(anyIf(cc_pct, ticker = 'SPY' AND d = toDate('2026-06-29')), 2) AS spy_close_over_close_pct,
arrayCount(x -> x > abs(anyIf(cc_pct, ticker = 'SPY' AND d = toDate('2026-06-29'))), groupArrayIf(abs(cc_pct), ticker = 'SPY' AND d != toDate('2026-06-29'))) + 1 AS spy_abs_move_rank,
countIf(ticker = 'SPY') AS spy_sessions_compared,
round(anyIf(oc_pct, ticker = 'SPY' AND d = toDate('2026-06-29')), 2) AS spy_open_to_close_pct,
concat(monthName(min(d)), ' ', toString(toDayOfMonth(min(d))), ', ', toString(toYear(min(d)))) AS first_session
FROM (
SELECT ticker, d,
(close_px / lagInFrame(close_px) OVER (PARTITION BY ticker ORDER BY d) - 1) * 100 AS cc_pct,
oc_pct
FROM (
SELECT ticker,
toDate(toTimeZone(window_start, 'America/New_York')) AS d,
argMax(toFloat64(close), window_start) AS close_px,
(argMax(toFloat64(close), window_start) / argMin(toFloat64(open), window_start) - 1) * 100 AS oc_pct
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker IN ('SPY', 'QQQ')
AND window_start >= toDateTime('2026-05-28 00:00:00')
AND window_start < toDateTime('2026-06-30 00:00:00')
AND (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199
GROUP BY ticker, d
)
)
WHERE isFinite(cc_pct)การเคลื่อนไหวครั้งใหญ่แต่ไม่ใช่สถิติ: การเคลื่อนไหว 2.57% ของ QQQ อยู่ในลำดับที่ 5 ของจำนวนเซสชัน 21 ตั้งแต่ May 29, 2026 โดยในเดือนนี้การเคลื่อนไหวครั้งเดียวที่ใหญ่ที่สุดวัดได้ที่ 4.76% ส่วน 1.62% ของ SPY อยู่ในลำดับที่ 4 ของ 21 แหล่งที่มาของการเคลื่อนไหวเป็นสิ่งสำคัญ: การขยับของราคา SPY จากราคาเปิดไปถึงราคาปิดอยู่ที่เพียง 0.59% ดังนั้นกำไรส่วนใหญ่จึงเกิดขึ้นในช่วง overnight gap ก่อนที่จะมีการแสดงแท่งราคาในช่วงเวลาทำการปกติเพียงแท่งเดียว QQQ ปิดบวกใน 10 ของเซสชันเหล่านั้น ซึ่งถือเป็นเดือนที่มีโอกาสเกิดขึ้นได้กึ่งหนึ่งพอๆ กับไม่เกิด
Breadth: ขอบเขตการปรับตัวขึ้นกว้างเพียงใด?
หุ้นที่ปรับตัวขึ้น (advancer) คือหุ้นที่มีราคาปิดในวันจันทร์สูงกว่าราคาปิดในวันศุกร์ โดยต้องมีมูลค่าการซื้อขายอย่างน้อย 1 ล้านดอลลาร์ ซึ่งเกณฑ์นี้ทำให้หุ้นจำนวน 5,108 จาก 11,475 ของหุ้นที่มีการซื้อขายทั้งสองวันถูกคัดออก
SQL เบื้องหลังตัวเลขแต่ละตัว
WITH per_ticker AS (
SELECT
ticker,
toFloat64(argMaxIf(close, window_start, window_start < '2026-06-27 00:00:00')) AS friday_close,
toFloat64(argMaxIf(close, window_start, window_start >= '2026-06-29 00:00:00')) AS monday_close,
sumIf(toFloat64(close) * toFloat64(volume), window_start >= '2026-06-29 00:00:00') AS monday_dollar_volume
FROM global_markets.delayed_stocks_minute_aggs
WHERE (window_start >= '2026-06-26 13:30:00' AND window_start < '2026-06-26 20:00:00')
OR (window_start >= '2026-06-29 13:30:00' AND window_start < '2026-06-29 20:00:00')
GROUP BY ticker
)
SELECT
countIf(monday_close > friday_close AND monday_dollar_volume >= 1000000) AS advancers,
countIf(monday_close < friday_close AND monday_dollar_volume >= 1000000) AS decliners,
countIf(monday_close = friday_close AND monday_dollar_volume >= 1000000) AS unchanged,
countIf(monday_dollar_volume >= 1000000) AS liquid_tickers,
count() AS tickers_traded_both_sessions,
reverse(arrayStringConcat(extractAll(reverse(toString(count())), '[0-9]{1,3}'), ',')) AS tickers_traded_both_sessions_label,
count() - countIf(monday_dollar_volume >= 1000000) AS dropped_by_liquidity_filter,
reverse(arrayStringConcat(extractAll(reverse(toString(count() - countIf(monday_dollar_volume >= 1000000))), '[0-9]{1,3}'), ',')) AS dropped_by_liquidity_filter_label,
round(100.0 * countIf(monday_close > friday_close AND monday_dollar_volume >= 1000000)
/ countIf(monday_dollar_volume >= 1000000), 1) AS advancer_pct
FROM per_ticker
WHERE friday_close > 0 AND monday_close > 03968 หุ้นที่ปรับตัวขึ้น, 2327 หุ้นที่ปรับตัวลง, 72 หุ้นที่ราคาคงที่: 62.3% ของหุ้นที่มีสภาพคล่องปรับตัวขึ้น — เมื่อนับรายตัว ถือเป็นวันที่ตลาดปรับตัวขึ้นในวงกว้าง
แยกตามกลุ่มอุตสาหกรรม: การปรับตัวขึ้นนั้นแคบกว่าที่เห็น
การนับจำนวนหุ้นที่ปรับตัวขึ้นเท่ากันเป็นมุมมองหนึ่ง แต่การให้น้ำหนักตามขนาดของบริษัทเป็นอีกมุมมองหนึ่ง โดย SPDR sector ETFs ทั้งสิบเอ็ดกองทุน คือตัวแทนของมุมมองที่สอง ซึ่งเป็นการรวมกลุ่มตามมูลค่าตลาดต่อหนึ่งกลุ่มอุตสาหกรรมใน S&P 500 ผลลัพธ์ที่ได้มีความแตกต่างอย่างมากจากการนับจำนวนหุ้น
SQL เบื้องหลังตัวเลขแต่ละตัว
WITH per_etf AS (
SELECT
ticker,
toFloat64(argMaxIf(close, window_start, window_start < '2026-06-27 00:00:00')) AS friday_close,
toFloat64(argMaxIf(close, window_start, window_start >= '2026-06-29 00:00:00')) AS monday_close,
maxIf(toFloat64(high), window_start >= '2026-06-29 00:00:00') AS day_high,
minIf(toFloat64(low), window_start >= '2026-06-29 00:00:00') AS day_low,
round(sumIf(toFloat64(close) * toFloat64(volume), window_start >= '2026-06-29 00:00:00') / 1e6, 0) AS dollar_volume_m
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-06-26 13:30:00' AND window_start < '2026-06-26 20:00:00')
OR (window_start >= '2026-06-29 13:30:00' AND window_start < '2026-06-29 20:00:00'))
GROUP BY ticker
)
SELECT
sector,
ticker,
round((monday_close / friday_close - 1) * 100, 2) AS pct_change,
round((day_high / day_low - 1) * 100, 2) AS range_pct,
dollar_volume_m,
round((monday_close / friday_close - 1) * 100 - min((monday_close / friday_close - 1) * 100) OVER (), 2) AS pct_above_worst_sector
FROM (
SELECT *,
multiIf(ticker = 'XLB', 'Materials',
ticker = 'XLC', 'Communication services',
ticker = 'XLE', 'Energy',
ticker = 'XLF', 'Financials',
ticker = 'XLI', 'Industrials',
ticker = 'XLK', 'Technology',
ticker = 'XLP', 'Consumer staples',
ticker = 'XLRE', 'Real estate',
ticker = 'XLU', 'Utilities',
ticker = 'XLV', 'Health care',
'Consumer discretionary') AS sector
FROM per_etf
)
ORDER BY pct_change DESCกลุ่ม Technology นำตลาดที่ 2.52% ตามด้วย consumer discretionary ที่ 2.37% ส่วนกลุ่ม materials ปิดที่ -1.82% และ real estate ที่ -0.64% ค่าความแตกต่างระหว่างกลุ่มที่ปรับตัวขึ้นสูงสุดและต่ำสุด หรือการกระจายตัวของกลุ่มอุตสาหกรรมในวันนั้น วัดได้ที่ 4.34 percentage points โดยกลุ่ม utilities, staples, energy, real estate และ materials ต่างมีราคาลดลงในวันที่ดัชนีปรับตัวเพิ่มขึ้น การเพิ่มขึ้นของกองทุนดัชนีอาจปกปิดความจริงที่ว่า ตลาดมีการกระจายตัวกว้างในเชิงจำนวนหุ้น แต่แคบในเชิงน้ำหนักการลงทุน
ไฮไลท์ประจำวัน: หน่วยความจำและหน่วยจัดเก็บข้อมูล
หุ้นสี่ตัวเคลื่อนไหวในทิศทางเดียวกันแต่ให้ผลลัพธ์ที่แตกต่างกันอย่างมาก โดยมีความสัมพันธ์กันเพียงในด้านทิศทางและขนาดการเคลื่อนไหวเท่านั้น ข้อมูลไม่ได้ระบุสาเหตุที่แน่ชัด
SQL เบื้องหลังตัวเลขแต่ละตัว
WITH per_name AS (
SELECT
ticker,
toFloat64(argMaxIf(close, window_start, window_start < '2026-06-27 00:00:00')) AS friday_close,
toFloat64(argMaxIf(close, window_start, window_start >= '2026-06-29 00:00:00')) AS monday_close,
maxIf(toFloat64(high), window_start >= '2026-06-29 00:00:00') AS day_high,
minIf(toFloat64(low), window_start >= '2026-06-29 00:00:00') AS day_low,
argMinIf(window_start, toFloat64(low), window_start >= '2026-06-29 00:00:00') AS low_bar,
argMaxIf(window_start, toFloat64(high), window_start >= '2026-06-29 00:00:00') AS high_bar
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker IN ('MU', 'SNDK', 'STX', 'WDC')
AND ((window_start >= '2026-06-26 13:30:00' AND window_start < '2026-06-26 20:00:00')
OR (window_start >= '2026-06-29 13:30:00' AND window_start < '2026-06-29 20:00:00'))
GROUP BY ticker
)
SELECT
ticker,
round(friday_close, 2) AS jun26_close,
round(monday_close, 2) AS jun29_close,
round((monday_close / friday_close - 1) * 100, 2) AS pct_chg,
round(day_high, 2) AS day_high,
formatDateTime(toTimeZone(high_bar, 'America/New_York'), '%H:%i') AS day_high_et,
round(day_low, 2) AS day_low,
formatDateTime(toTimeZone(low_bar, 'America/New_York'), '%H:%i') AS day_low_et,
round((day_high / day_low - 1) * 100, 2) AS range_pct
FROM per_name
ORDER BY tickerMU เป็นกรณีตัวอย่างที่ชัดเจนระหว่างกรอบการแกว่งตัวเทียบกับการเปลี่ยนแปลงสุทธิ โดยมีกรอบการแกว่งตัวระหว่างวันที่ 12.22% ซึ่งมีจุดต่ำสุดที่ $1023.65 ณ เวลา 10:18 ET และจุดสูงสุดที่ $1148.79 ณ เวลา 15:59 แต่ราคาปิดกลับสูงกว่าวันศุกธ์ที่ 1.97% ส่วน Western Digital ปรับตัวขึ้น 11.15% และ Seagate ปรับตัวขึ้น 8.17% ขณะที่ SanDisk ปิดที่ -1.9% ภายในกรอบการแกว่งตัว 10.33% ซึ่งเป็นหุ้นเพียงตัวเดียวในกลุ่มที่ปิดลบ การดูเพียงราคาปิดอาจไม่สามารถสะท้อนถึงความผันผวนที่ผู้ถือหุ้นต้องเผชิญได้
กระแสเงินหมุนเวียนในตลาด
หากวัดจากมูลค่าการซื้อขาย Micron (MU) มีมูลค่าสูงกว่าทุกหลักทรัพย์รวมถึงกองทุนดัชนี โดยมีมูลค่าสูงถึง $58.47 billion เมื่อเทียบกับ SPY ที่มีมูลค่า $33.97 billion แต่หากพิจารณาจากจำนวนหุ้นที่ซื้อขายกันนั้น ผลลัพธ์จะแตกต่างออกไป
SQL เบื้องหลังตัวเลขแต่ละตัว
SELECT ticker, leaderboard, dollar_volume_bn, if(dollar_volume_bn < 1, dollar_volume_m, NULL) AS dollar_value_m, shares_m,
round(100 * if(leaderboard = 'by dollars traded', dollar_volume_bn, shares_m)
/ max(if(leaderboard = 'by dollars traded', dollar_volume_bn, shares_m)) OVER (PARTITION BY leaderboard), 1) AS pct_of_board_leader
FROM (
SELECT
'by dollars traded' AS leaderboard,
ticker,
round(sum(toFloat64(close) * toFloat64(volume)) / 1e9, 2) AS dollar_volume_bn,
round(sum(toFloat64(close) * toFloat64(volume)) / 1e6, 0) AS dollar_volume_m,
round(sum(toFloat64(volume)) / 1e6, 1) AS shares_m
FROM global_markets.delayed_stocks_minute_aggs
WHERE window_start >= '2026-06-29 13:30:00' AND window_start < '2026-06-29 20:00:00'
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(close) * toFloat64(volume)) / 1e6, 0) AS dollar_volume_m,
round(sum(toFloat64(volume)) / 1e6, 1) AS shares_m
FROM global_markets.delayed_stocks_minute_aggs
WHERE window_start >= '2026-06-29 13:30:00' AND window_start < '2026-06-29 20:00:00'
GROUP BY ticker
ORDER BY shares_m DESC
LIMIT 4
)
ORDER BY leaderboard ASC, if(leaderboard = 'by dollars traded', dollar_volume_bn, shares_m) DESCข้อมูลจำนวนหุ้นที่ซื้อขายอาจทำให้เข้าใจผิด เนื่องจากหุ้นที่มีปริมาณการซื้อขายสูงสุดคือ SOXS ซึ่งเป็น ETF แบบ inverse semiconductor ที่มีอัตราทด 3 เท่า (695.3 million shares) และ INLF ซึ่งเป็นหุ้นราคาถูก (penny stock) ที่มีจำนวนหุ้น 353.8 million shares และมีมูลค่ารวมตลอดทั้งวันประมาณ $23 million ปริมาณการซื้อขายในรูปของมูลค่าเงินจะแสดงให้เห็นว่าเงินไหลไปที่ใด ส่วน ปริมาณการซื้อขายสัมพัทธ์ จะแสดงให้เห็นว่ากิจกรรมของหุ้นตัวนั้นๆ มีความผิดปกติเมื่อเทียบกับตัวมันเองหรือไม่
เมื่อพิจารณาตามช่วงเวลา 30 นาทีในตลาดนิวยอร์ก วันที่ 29 มิถุนายน แสดงให้เห็นรูปแบบปริมาณการซื้อขายแบบ "smile" ที่ชัดเจน:
SQL เบื้องหลังตัวเลขแต่ละตัว
SELECT
formatDateTime(toStartOfInterval(toTimeZone(window_start, 'America/New_York'), INTERVAL 30 MINUTE), '%H:%i') AS et_time,
round(sum(toFloat64(volume)) / 1e9, 2) AS shares_bn,
round(100 * sum(toFloat64(volume)) / max(sum(toFloat64(volume))) OVER (), 1) AS pct_of_biggest_bucket,
round(100 * (sum(toFloat64(volume)) / min(sum(toFloat64(volume))) OVER () - 1), 1) AS pct_above_trough
FROM global_markets.delayed_stocks_minute_aggs
WHERE window_start >= '2026-06-29 13:30:00' AND window_start < '2026-06-29 20:00:00'
GROUP BY et_time
ORDER BY et_timeมีปริมาณการซื้อขาย 2.3 billion shares ในช่วงครึ่งชั่วโมงแรกของการเปิดตลาด, มีจุดต่ำสุดที่ 0.77 billion ในช่วงเวลา 13:30, และช่วงที่มีปริมาณการซื้อขายสูงสุดคือ 2.39 billion ในช่วงครึ่งชั่วโมงสุดท้ายของการปิดตลาด ซึ่งเป็นช่วงที่มีการกระจุกตัวของ การประมูลปิดตลาด และกระแสเงินจากกองทุนที่ติดตามดัชนี
ข้อมูลการซื้อขาย options
มีการซื้อขาย options ทั้งหมด 66.33 ล้านสัญญา จากรายการซื้อขายทั้งหมด 11.04 ล้านรายการ
SQL เบื้องหลังตัวเลขแต่ละตัว
WITH
(
SELECT (any(underlying_symbol), any(toFloat64(strike_price)), any(option_type),
any(toDateOrNull(concat('20', substring(ticker, length(ticker) - 14, 6)))),
sum(size), count(), round(avg(toFloat64(price)), 3))
FROM global_markets.options_trades
WHERE sip_timestamp >= '2026-06-29 00:00:00' AND sip_timestamp < '2026-06-30 00:00:00'
GROUP BY ticker
ORDER BY sum(size) DESC
LIMIT 1
) AS top_contract,
(
SELECT round(toFloat64(argMax(close, window_start)), 2)
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY' AND window_start >= '2026-06-29 13:30:00' AND window_start < '2026-06-29 20:00:00'
) AS spy_regular_close
SELECT
round(count() / 1e6, 2) AS option_prints_m,
round(toFloat64(sum(size)) / 1e6, 2) AS 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) = '260629') / sum(size), 1) AS same_day_expiry_pct,
round(toFloat64(sumIf(size, substring(ticker, length(ticker) - 14, 6) = '260702')) / 1e6, 2) AS thu_jul2_expiry_contracts_m,
countIf(substring(ticker, length(ticker) - 14, 6) = '260703') AS fri_jul3_expiry_prints,
countIf(sip_timestamp < '2026-06-29 13:30:00') AS premarket_prints,
reverse(arrayStringConcat(extractAll(reverse(toString(countIf(sip_timestamp < '2026-06-29 13:30:00'))), '[0-9]{1,3}'), ',')) AS premarket_prints_label,
countIf(sip_timestamp < '2026-06-29 13:30:00'
AND underlying_symbol NOT IN ('SPX', 'SPXW', 'XSP', 'RUTW', 'VIX', 'VIXW')) AS premarket_non_index_prints,
arrayStringConcat(arraySort(groupUniqArrayIf(underlying_symbol, sip_timestamp < '2026-06-29 13:30:00')), ', ') AS premarket_underlyings,
round(toFloat64(sumIf(size, underlying_symbol = 'SPY')) / 1e6, 2) AS spy_contracts_m,
round(toFloat64(sumIf(size, underlying_symbol = 'QQQ')) / 1e6, 2) AS qqq_contracts_m,
top_contract.1 AS top_contract_underlying,
top_contract.2 AS top_contract_strike,
top_contract.3 AS top_contract_type,
top_contract.4 AS top_contract_expiry,
top_contract.5 AS top_contract_volume,
reverse(arrayStringConcat(extractAll(reverse(toString(assumeNotNull(top_contract.5))), '[0-9]{1,3}'), ',')) AS top_contract_volume_label,
round(top_contract.7, 3) AS top_contract_avg_price,
round(top_contract.2 - spy_regular_close, 2) AS top_strike_minus_spy_close
FROM global_markets.options_trades
WHERE sip_timestamp >= '2026-06-29 00:00:00' AND sip_timestamp < '2026-06-30 00:00:00'Calls มีสัดส่วนเป็น 55.7% ของปริมาณสัญญา และ 35.8% ของปริมาณการซื้อขายทั้งหมดหมดอายุในวันจันทร์เดียวกัน — หุ้นกลุ่ม zero-days-to-expiry (0DTE) สัญญาที่มีการซื้อขายหนาแน่นที่สุดคือ SPY call ที่ strike price $741: 788,133 สัญญา โดยมีค่า premium เฉลี่ยที่ $0.474 ขณะที่ราคาปิดของ SPY อยู่ ต่ำกว่า strike price อยู่ 0.12 ดอลลาร์ — ส่งผลให้ option ที่มีการซื้อขายสูงสุดของวันจบลงในสถานะ out of the money โดยมีปริมาณการซื้อขาย underlying ของ SPY อยู่ที่ 12.01 ล้านสัญญา และ QQQ อยู่ที่ 7.32 ล้านสัญญา
ข้อมูลยังระบุว่ามีรายการ option จำนวน 40,621 รายการ ก่อนตลาดหุ้นเปิดเวลา 9:30 น. โดยทุกรายการเป็น option ของดัชนีที่ชำระราคาด้วยเงินสด (RUTW, SPX, SPXW, VIX, VIXW, XSP) และมีรายการ option ของหุ้นหรือ ETF จำนวน 0 รายการในช่วงเวลาเดียวกัน ซึ่งเป็นไปตามกฎเกณฑ์ไม่ใช่เรื่องบังเอิญ เนื่องจาก option ของดัชนีมีช่วงเวลาซื้อขายครอบคลุมถึงช่วงเวลาการซื้อขายทั่วโลก ส่วน option ของหุ้นและ ETF จะเปิดซื้อขายพร้อมกับตลาดหุ้น โดยหุ้นจะมีการซื้อขายล่วงหน้า — ดูรายละเอียดที่ การซื้อขายช่วง premarket และ after-hours — แต่ option จะไม่ได้ซื้อขายในช่วงเวลาดังกล่าว
ไม่มีสัญญาใดที่มีวันหมดอายุในวันศุกร์ที่ 3 กรกฎาคม ถูกซื้อขายเลยตลอดทั้งวัน (0 รายการ) เนื่องจากตลาดปิดทำการในวันศุกร์ดังกล่าว ในขณะที่สัญญาที่มีวันหมดอายุในวันพฤหัสบดีที่ 2 กรกฎาคม มีปริมาณการซื้อขายอยู่ที่ 10.73 ล้านสัญญา
The quote tape: what the day cost to trade
Every price on this page sits on a quote stream — the National Best Bid and Offer, re-published continuously for every listed name. The gap between best bid and best offer, the bid-ask spread, is what an order pays to cross.
SQL เบื้องหลังตัวเลขแต่ละตัว
SELECT
ticker,
round(count() / 1e6, 2) AS nbbo_updates_m,
round(quantileExactIf(0.5)((toFloat64(ask_price) - toFloat64(bid_price)) / ((toFloat64(ask_price) + toFloat64(bid_price)) / 2) * 10000, bid_price > 0 AND ask_price >= bid_price), 2) AS median_spread_bps,
round(quantileExactIf(0.5)((toFloat64(ask_price) - toFloat64(bid_price)) / ((toFloat64(ask_price) + toFloat64(bid_price)) / 2) * 10000, bid_price > 0 AND ask_price >= bid_price AND sip_timestamp >= '2026-06-29 13:30:00' AND sip_timestamp < '2026-06-29 14:00:00'), 2) AS open_30min_spread_bps,
round(quantileExactIf(0.5)((toFloat64(ask_price) - toFloat64(bid_price)) / ((toFloat64(ask_price) + toFloat64(bid_price)) / 2) * 10000, bid_price > 0 AND ask_price >= bid_price AND sip_timestamp >= '2026-06-29 17:00:00' AND sip_timestamp < '2026-06-29 17:30:00'), 2) AS midday_spread_bps,
round(quantileExactIf(0.5)((toFloat64(ask_price) - toFloat64(bid_price)) / ((toFloat64(ask_price) + toFloat64(bid_price)) / 2) * 10000, bid_price > 0 AND ask_price >= bid_price AND sip_timestamp >= '2026-06-29 13:30:00' AND sip_timestamp < '2026-06-29 14:00:00')
- quantileExactIf(0.5)((toFloat64(ask_price) - toFloat64(bid_price)) / ((toFloat64(ask_price) + toFloat64(bid_price)) / 2) * 10000, bid_price > 0 AND ask_price >= bid_price AND sip_timestamp >= '2026-06-29 17:00:00' AND sip_timestamp < '2026-06-29 17:30:00'), 2) AS open_minus_midday_bps,
countIf(NOT (bid_price > 0 AND ask_price >= bid_price)) AS dropped_invalid_quotes
FROM global_markets.cache_stocks_quotes
WHERE ticker IN ('SPY', 'QQQ', 'MU', 'WDC')
AND sip_timestamp >= '2026-06-29 13:30:00' AND sip_timestamp < '2026-06-29 20:00:00'
GROUP BY ticker
ORDER BY tickerSPY's median quoted width was 0.41 basis points of its mid-price, against 0.84 for QQQ, 4.6 for Micron and 8.2 for Western Digital — the widest of the four. One basis point of a $10,000 order is one dollar, so buying and instantly selling $10,000 of SPY at the quote costs about $0.41; the same round trip in Western Digital costs $8.2. The trade size did not change; the name did.
All four quoted wider in the opening half hour than in the midday control window — SPY 0.41 bps against 0.27, Western Digital 14.33 against 7.55, a 6.78 bp opening premium on the widest name. Churn is the other half: 3.98 million NBBO updates on SPY in regular hours, 4.42 million on QQQ.
อัตราดอกเบี้ย: เส้นอัตราผลตอบแทนเปลี่ยนแปลงเพียงเล็กน้อย
พันธบัตรสหรัฐฯ มีการซื้อขายที่เงียบเหงาในวันจันทร์ อัตราผลตอบแทนที่แสดงคือราคาปิดรายวัน โดยเปรียบเทียบกับการปิดตลาดเมื่อวันที่ 26 มิถุนายน
SQL เบื้องหลังตัวเลขแต่ละตัว
SELECT
t.1 AS curve_point,
round(t.2, 2) AS jun29_yield_pct,
round((t.2 - t.3) * 100) AS one_day_change_bp
FROM (
SELECT arrayJoin([
('1 month', toFloat64(mon.yield_1_month), toFloat64(fri.yield_1_month)),
('3 month', toFloat64(mon.yield_3_month), toFloat64(fri.yield_3_month)),
('1 year', toFloat64(mon.yield_1_year), toFloat64(fri.yield_1_year)),
('2 year', toFloat64(mon.yield_2_year), toFloat64(fri.yield_2_year)),
('5 year', toFloat64(mon.yield_5_year), toFloat64(fri.yield_5_year)),
('10 year', toFloat64(mon.yield_10_year), toFloat64(fri.yield_10_year)),
('30 year', toFloat64(mon.yield_30_year), toFloat64(fri.yield_30_year)),
('2s10s spread', toFloat64(mon.yield_10_year - mon.yield_2_year), toFloat64(fri.yield_10_year - fri.yield_2_year))
]) AS t
FROM (SELECT * FROM global_markets.treasury_yields WHERE date = '2026-06-29') AS mon,
(SELECT * FROM global_markets.treasury_yields WHERE date = '2026-06-26') AS fri
)พันธบัตรอายุ 10 ปี ปิดที่ 4.38% โดยไม่มีการเปลี่ยนแปลงในวันนั้น (0 bp) ในขณะที่ตั๋วเงินอายุ 3 เดือน ปรับตัวเพิ่มขึ้น 4 bp เป็น 3.87% ส่วน ส่วนต่าง 2s10s — ซึ่งคือผลต่างระหว่างอายุ 10 ปี และ 2 ปี — ปิดที่ 0.28 percentage points (-3 bp) โดยยังมีค่าเป็นบวก แต่มีความชันลดลงเล็กน้อย
ปฏิทินเหตุการณ์ประจำวัน
SQL เบื้องหลังตัวเลขแต่ละตัว
WITH
(
SELECT (argMax(d, n), max(n))
FROM (
SELECT ex_dividend_date AS d, count() AS n
FROM global_markets.stocks_dividends
WHERE ex_dividend_date BETWEEN '2026-06-22' AND '2026-07-02'
GROUP BY d
)
) AS peak_ex_div,
(
SELECT (countIf(form_type = '424B2'), countIf(form_type = '4'), countIf(form_type = '8-K'), count())
FROM global_markets.stocks_sec_edgar_index
WHERE filing_date = '2026-06-29'
) AS filings,
(
SELECT (count(), uniqExact(publisher), countIf(has(tickers, 'NVDA')))
FROM global_markets.stocks_news
WHERE toDate(toTimeZone(published_utc, 'America/New_York')) = '2026-06-29'
) AS news,
(
SELECT max(n)
FROM (
SELECT t, count() AS n
FROM (
SELECT arrayJoin(tickers) AS t
FROM global_markets.stocks_news
WHERE toDate(toTimeZone(published_utc, 'America/New_York')) = '2026-06-29'
)
WHERE t NOT IN ('NVDA', 'SPCX')
GROUP BY t
)
) AS runner_up_articles,
(
SELECT (any(split_from), any(split_to), count())
FROM global_markets.stocks_splits
WHERE ticker = 'HON' AND execution_date = '2026-06-29'
) AS hon_split,
(
SELECT (
round(toFloat64(argMaxIf(close, window_start, window_start < '2026-06-27 00:00:00')), 2),
round(toFloat64(argMaxIf(close, window_start, window_start >= '2026-06-29 00:00:00')), 2)
)
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'HON'
AND ((window_start >= '2026-06-26 13:30:00' AND window_start < '2026-06-26 20:00:00')
OR (window_start >= '2026-06-29 13:30:00' AND window_start < '2026-06-29 20:00:00'))
) AS hon_close
SELECT
(SELECT count() FROM global_markets.stocks_dividends WHERE ex_dividend_date = '2026-06-29') AS ex_dividend_records_jun29,
(SELECT count() FROM global_markets.stocks_dividends WHERE ex_dividend_date = '2026-06-29'
AND ticker IN ('AAPL', 'MSFT', 'NVDA', 'AMZN', 'GOOGL', 'GOOG', 'META', 'TSLA', 'JPM', 'JNJ',
'XOM', 'KO', 'PG', 'V', 'MA', 'HD', 'WMT', 'CVX', 'MRK', 'PEP',
'SPY', 'QQQ', 'DIA', 'IWM', 'VTI')) AS household_name_ex_dividends,
length(['AAPL', 'MSFT', 'NVDA', 'AMZN', 'GOOGL', 'GOOG', 'META', 'TSLA', 'JPM', 'JNJ',
'XOM', 'KO', 'PG', 'V', 'MA', 'HD', 'WMT', 'CVX', 'MRK', 'PEP',
'SPY', 'QQQ', 'DIA', 'IWM', 'VTI']) AS household_names_checked,
concat(monthName(peak_ex_div.1), ' ', toString(toDayOfMonth(peak_ex_div.1))) AS busiest_ex_div_day_of_window,
peak_ex_div.2 AS busiest_ex_div_day_records,
(SELECT count() FROM global_markets.stocks_splits WHERE execution_date = '2026-06-29') AS splits_executed,
(SELECT count() FROM global_markets.stocks_ipos WHERE listing_date = '2026-06-29') AS ipos_listed_jun29,
(SELECT arrayStringConcat(groupArray(ticker), ', ') FROM (
SELECT ticker FROM global_markets.stocks_ipos WHERE listing_date = '2026-07-01' ORDER BY ticker
)) AS jul1_ipo_debuts,
filings.4 AS sec_filings,
filings.1 AS prospectus_424b2_filings,
filings.2 AS insider_form4_filings,
filings.3 AS filings_8k,
news.1 AS news_articles,
news.2 AS news_publishers,
news.3 AS nvda_articles,
runner_up_articles AS next_most_covered_articles,
news.3 - runner_up_articles AS nvda_minus_next_most_covered,
hon_split.3 AS hon_split_records,
hon_split.1 AS hon_split_from,
hon_split.2 AS hon_split_to,
hon_close.1 AS hon_close_jun26,
hon_close.2 AS hon_close_jun29รายการเงินปันผล 449 มีการขึ้นเครื่องหมาย ex-dividend เมื่อวันที่ 29 มิถุนายน — คุณต้องถือครองหุ้นก่อน วันที่ขึ้นเครื่องหมาย ex-dividend เพื่อที่จะได้รับเงินปันผล อย่างไรก็ตาม จากรายชื่อบริษัทชั้นนำ 25 แห่งที่เราตรวจสอบ พบเพียง 0 แห่งเท่านั้นที่ปรากฏในรายการ ปริมาณธุรกรรมช่วงสิ้นไตรมาสพุ่งสูงถึง 745 รายการ เมื่อวันที่ July 1 มีการดำเนินการแตกหุ้น 23 ครั้ง และมีการจดทะเบียน IPO 0 ครั้ง โดยมีการเปิดตัวในวันพุธ (BSP, ITG, LIME) รออยู่ในปฏิทินแล้ว
SEC บันทึกการยื่นเอกสาร 6173 เมื่อวันที่ 29 มิถุนายน ประกอบด้วย เอกสารประกอบการกำหนดราคาผลิตภัณฑ์โครงสร้าง 1473 (form 424B2) และ รายงานการซื้อขายโดยคนใน (Form 4) จำนวน 1277 รายการ ซึ่งมีจำนวนมากกว่า 8-Ks จำนวน 231 รายการที่มักเป็นพาดหัวข่าว ข้อมูลข่าวสารของเรานำเสนอบทความ 170 รายการ จากผู้ให้บริการ 3 ราย หากไม่นับรวมสัญลักษณ์หุ้นที่ถูกนำมาใช้ซ้ำซึ่งมีการติดแท็กไม่ชัดเจน (ถูกตัดออกจากการสืบค้น) ชื่อหุ้นที่มีการรายงานมากที่สุดคือ NVDA ด้วยจำนวน 14 บทความ ขณะที่อันดับรองลงมามีจำนวน 12 บทความ
หมายเหตุข้อมูล
ข้อมูลที่ผิดปกติจะถูกระบุไว้ในหมายเหตุเสมอ จะไม่มีการตัดออกโดยไม่แจ้งให้ทราบ — ข้อมูลทั้งสี่ส่วนนี้ส่งผลต่อตัวเลขหลัก
- ตะกร้ากลุ่มอุตสาหกรรม (Sector baskets) ใช้ระเบียบวิธีที่กำหนดไว้ "Sector" หมายถึง SPDR sector ETFs ทั้ง 11 รายการ โดยให้น้ำหนักตามมูลค่าตลาด — ใช้ชื่อเดิมในทุกรอบการซื้อขาย ไม่ใช่การจัดกลุ่มรายหลักทรัพย์ของผู้ให้บริการข้อมูล
- Dollar volume คือค่าประมาณต่อนาที — คำนวณจากราคาปิดคูณด้วยปริมาณการซื้อขายรวมในแต่ละแท่งนาที ซึ่งมีค่าใกล้เคียงแต่ไม่เท่ากับผลรวมของมูลค่าการซื้อขายจริง
- Quoted spreads ไม่รวมราคาเสนอซื้อขายที่ไม่ถูกต้อง (ราคาเสนอซื้อขายที่มีเพียงด้านเดียว หรือราคา NBBO ที่คาบเกี่ยวกัน); แผงข้อมูลจะระบุจำนวนรายการที่ถูกตัดออก (1544 ใน SPY) ค่ามัธยฐานของความกว้างราคาเสนอซื้อขาย (Median quoted width) คือสถิติการเสนอราคา ไม่ใช่ต้นทุนต่อการซื้อขาย — เนื่องจากคำสั่งซื้อขายมักดำเนินการในราคาที่ดีกว่าราคาที่เสนอไว้
- รายการซื้อขายเพียงรายการเดียวอาจทำให้ค่าสูงสุดหรือต่ำสุดของแท่งนาทีผิดเพี้ยนได้ แท่งเวลา 11:07 ET ของ QQQ มีจุดต่ำสุดที่ $709.58 ในขณะที่ไม่มีแท่งเวลาอื่นที่มีราคาต่ำกว่า $715.09 — มีรายการซื้อขายหนึ่งรายการที่ต่ำกว่าราคาตลาดในขณะนั้นอยู่ $5.51 ค่าสูงสุดและต่ำสุดที่สูงกว่านี้ทั้งหมดได้รับการตรวจสอบเทียบกับแท่งเวลาข้างเคียงแล้ว; จุดต่ำสุดของรอบการซื้อขายของ QQQ ที่ $705.172 ผ่านการตรวจสอบแล้ว
หมายเหตุข้อมูลฉบับเต็ม
- การครอบคลุมพันธบัตร Treasury น้อยกว่าที่ระบุในโครงสร้างข้อมูล อายุพันธบัตรสี่ช่วงที่โฆษณาไว้ (6 เดือน, 3 ปี, 7 ปี และ 20 ปี) ไม่เคยมีการเติมข้อมูล; กราฟแสดงผลเฉพาะเจ็ดช่วงที่มีอยู่จริง พร้อมกับแถว 2s10s
- ข้อมูลการ "reverse split" ของ Honeywell ขัดแย้งกับข้อมูลในระบบ ข้อมูลแสดงรายการ 1 ของ HON ลงวันที่ 29 มิถุนายน: เป็นการทำ reverse split ที่เปลี่ยนหุ้นเดิม 2 หุ้น ให้เป็นหุ้นใหม่ 1 หุ้น โดย HON ปิดที่ $231.3 เมื่อวันศุกร์ และ $227.71 เมื่อวันจันทร์ — ไม่มีการเพิ่มขึ้นเป็นสองเท่า เราจึงไม่ได้ปรับปรุงข้อมูลนี้
- จำนวนข่าวมาจากฟีดของผู้ให้บริการรายเดียว คือผู้เผยแพร่ 3 ที่เราใช้งาน — ไม่ใช่ "ข่าวทั้งหมดในตลาด"
- ข้อมูลระดับ Tick — ราคาเสนอซื้อขายที่คาบเกี่ยวกัน (crossed quotes), การปรับปรุงปริมาณการซื้อขายลวง (phantom-volume correction), ไฟล์ปริมาณการขายชอร์ตที่ถูกตัดทอนของ FINRA (และเหตุผลที่ ปริมาณการขายชอร์ตไม่ใช่สถานะขายชอร์ต) — สามารถดูได้ใน บทวิเคราะห์เจาะลึก
การยืนยันข้อมูลการซื้อขาย
SQL เบื้องหลังตัวเลขแต่ละตัว
WITH
(
SELECT (
round(toFloat64(minIf(low, formatDateTime(toTimeZone(window_start, 'America/New_York'), '%H:%i') = '11:07')), 2),
round(toFloat64(minIf(low, formatDateTime(toTimeZone(window_start, 'America/New_York'), '%H:%i') IN ('11:04', '11:05', '11:06', '11:08', '11:09', '11:10'))), 2)
)
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'QQQ' AND window_start >= '2026-06-29 13:30:00' AND window_start < '2026-06-29 20:00:00'
) AS qqq_lone
SELECT
(SELECT count() FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY' AND window_start >= '2026-07-03 00:00:00' AND window_start < '2026-07-04 00:00:00') AS jul3_spy_bars,
formatDateTime(min(toTimeZone(window_start, 'America/New_York')), '%H:%i') AS first_spy_bar_et,
formatDateTime(max(toTimeZone(window_start, 'America/New_York')), '%H:%i') AS last_spy_bar_et,
count() AS spy_minute_bars,
countIf(window_start >= '2026-06-29 13:30:00' AND window_start < '2026-06-29 20:00:00') AS regular_session_bars,
qqq_lone.1 AS qqq_1107_lone_low,
qqq_lone.2 AS qqq_1107_adjacent_bars_low,
round(qqq_lone.2 - qqq_lone.1, 2) AS qqq_lone_print_below_adjacent
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY' AND window_start >= '2026-06-29 00:00:00' AND window_start < '2026-06-30 00:00:00'แท่งเทียนของ SPY เริ่มต้นตั้งแต่ 04:00 ถึง 19:59 ตามเวลา New York โดยมีแท่งเทียนในช่วงเวลาทำการปกติทั้งหมด 390 แท่ง ซึ่งเป็นการยืนยันข้อมูลการซื้อขายที่ครบถ้วนสมบูรณ์จากข้อมูลการซื้อขายจริง (เนื่องจากชุดข้อมูลปฏิทินตลาดระบุเฉพาะวันหยุดที่กำลังจะมาถึงเท่านั้น) ในวันศุกร์ที่ 3 กรกฎาคม นั้นเป็นวันทำการเต็มวัน — 0 แท่งเทียนของ SPY ปรากฏขึ้นตลอดทั้งวัน เนื่องจากวันที่ 4 กรกฎาคม ตรงกับวันเสาร์ ส่วนสัปดาห์ที่มีสี่ช่วงการซื้อขายนั้นสามารถอ่าน สรุปข้อมูลได้ที่นี่
คำถามที่พบบ่อย
ตลาดหุ้นในวันที่ 29 มิถุนายน 2026 เป็นอย่างไร?
ตลาดปรับตัวขึ้นโดยมีหุ้นกลุ่มเติบโตเป็นผู้นำ: QQQ ปิดที่ระดับ 2.57% สูงกว่าวันศุกร์ ขณะที่ SPY อยู่ที่ 1.62%, DIA อยู่ที่ 0.81% และ IWM อยู่ที่ 0.45% โดยมีหุ้น 62.3% จากทั้งหมดที่มีมูลค่าการซื้อขายตั้งแต่ 1 ล้านดอลลาร์ขึ้นไป ปิดตลาดในแดนบวก
วันที่ 29 มิถุนายน 2026 เป็นวันที่สำคัญสำหรับ Nasdaq หรือไม่?
เป็นวันที่สำคัญแต่ไม่ถึงกับโดดเด่น: การเคลื่อนไหวของ QQQ ในช่วงปิดตลาดเทียบกับช่วงก่อนหน้าอยู่ที่ 2.57% ซึ่งเมื่อพิจารณาจากขนาดการเคลื่อนไหวสัมบูรณ์แล้ว ถือเป็นอันดับที่ 5 ของจำนวนรอบการซื้อขาย 21 ในเดือนที่ผ่านมา โดยมีค่าสูงสุดของเดือนอยู่ที่ 4.76%
กลุ่มอุตสาหกรรมใดที่เป็นผู้นำในวันที่ 29 มิถุนายน 2026?
กลุ่ม Technology (2.52%) และ Consumer Discretionary (2.37%) เป็นผู้นำในบรรดากลุ่มอุตสาหกรรมทั้ง 11 ของ SPDR; กลุ่ม Materials อยู่ในอันดับสุดท้ายที่ -1.82% โดยมีส่วนต่างอยู่ที่ 4.34 เปอร์เซ็นต์พอยต์ นอกจากนี้กลุ่ม Utilities, Staples, Energy และ Real Estate ปิดตลาดในแดนลบเช่นกัน
สัดส่วนปริมาณการซื้อขายออปชันแบบ 0DTE ในวันที่ 29 มิถุนายน 2026 คิดเป็นเท่าใด?
ออปชันที่มีวันหมดอายุภายในวันเดียวกันคิดเป็น 35.8% ของจำนวนสัญญาที่ซื้อขายทั้งหมด 66.33 ล้านสัญญา; โดยสัญญาที่มีการซื้อขายหนาแน่นที่สุดคือ SPY $741 call ที่หมดอายุในวันเดียวกัน (จำนวน 788,133 สัญญา) และปิดสถานะแบบ out of the money
ทำไมจึงมีการซื้อขายออปชันก่อนตลาดหุ้นเปิด?
มีเพียงออปชันดัชนีเท่านั้นที่มีการซื้อขายดังกล่าว โดยรายการออปชัน 40,621 ทั้งหมดก่อนเวลา 9:30 น. ET ของวันที่ 29 มิถุนายน เป็นออปชันที่อ้างอิงกับดัชนีซึ่งชำระราคาด้วยเงินสด (RUTW, SPX, SPXW, VIX, VIXW, XSP) ซึ่งครอบคลุมช่วงเวลาการซื้อขายทั่วโลกที่ขยายเวลาออกไป ส่วนรายการออปชันหุ้นและ ETF ในช่วงเวลาดังกล่าวมีจำนวนทั้งสิ้น 0 รายการ
ระเบียบวิธี
- ข้อมูลเวลาถูกจัดเก็บในรูปแบบ UTC และถูกแปลงเป็นเวลาของนิวยอร์กภายในคำสั่งดึงข้อมูล (queries) ค่า "Close" คือราคาปิดนาทีสุดท้ายของช่วงเวลาซื้อขายปกติ ไม่ใช่ราคาจากการประมูล (auction print) การเปรียบเทียบการเปลี่ยนแปลงรายวันใช้ข้อมูลวันที่ 29 มิถุนายน เทียบกับ 26 มิถุนายน และมีการตรวจสอบช่วงเวลาการซื้อขายจากช่วงเวลาของแท่งเทียนที่ปรากฏ
- การจัดอันดับย้อนหลังหนึ่งเดือน (trailing-month rank) ใช้การเคลื่อนไหวของราคาปิดในช่วงเวลาทำการปกติแบบ Close-over-close โดยตัดเซสชันแรกออก (เนื่องจากไม่มีราคาปิดก่อนหน้าภายในช่วงเวลาที่กำหนด) ข้อมูลวันหมดอายุของ Option ถูกดึงข้อมูลใหม่จาก ticker ของ OCC (เนื่องจากคอลัมน์วันหมดอายุในตารางเดิมมีความผิดพลาด)
- ทุกแผงข้อมูล (panel) ถูกอ่านเพียงครั้งเดียว ณ เวลาที่ผู้เขียนจัดทำ ผ่านช่องทางอ่านอย่างเดียว (read-only path) ที่มีการจำกัดสิทธิ์ ข้อมูลในคลังข้อมูล (Warehouse) เป็นข้อมูล ณ วันที่ 13 กรกฎาคม 2026
ทุกแผงข้อมูลคือผลลัพธ์จากคำสั่งดึงข้อมูลที่จัดเก็บไว้ ซึ่งประกอบด้วย กราฟ ตาราง และ SQL รวมอยู่ในวัตถุเดียว สามารถคัดลอกข้อมูลใดก็ได้ไปวางใน terminal ของ Strasmore เซสชันถัดไป: 30 มิถุนายน