สรุปภาวะตลาดวันที่ 2 กรกฎาคม 2026
เกิดการหมุนเวียนกลุ่มหุ้นก่อนวันหยุดยาว แม้ Nasdaq จะปรับตัวลดลงแต่ความกว้างของตลาดยังเป็นบวก ขณะที่กลุ่มเทคโนโลยีและกลุ่มหน่วยความจำเผชิญแรงเทขายต่อเนื่อง
วันพฤหัสบดีที่ 2 กรกฎาคม 2026 ซึ่งเป็นเซสชันสุดท้ายก่อนวันหยุดวันประกาศอิสรภาพ เป็นวันที่มีการหมุนเวียนกลุ่มหุ้น (rotation day) แม้ภาพรวมจะดูเหมือนมีการเทขายก็ตาม โดย QQQ ปรับตัวลง -1.71% ในขณะที่ DIA ปรับตัวขึ้น 1.04% และความกว้างของตลาด (breadth) อยู่ในแดนบวก โดยมีหุ้นที่มีสภาพคล่องสูง 3398 ปรับตัวขึ้นสวนทางกับ 2758 และมีหุ้นถึง 54.6% ที่ราคาปิดบวก ในขณะที่ดัชนีกลุ่มเติบโต (growth index) ปรับตัวลดลง ทั้งนี้ มีกองทุนกลุ่มอุตสาหกรรม 8 จาก 11 กลุ่มที่ปิดในแดนบวก โดยแรงเทขายกระจุกตัวอยู่ในกลุ่มเทคโนโลยีและกลุ่มหน่วยความจำที่เคย ปรับตัวลงเมื่อวันก่อนหน้า
สรุปผลการดำเนินงาน
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-01 13:30:00' AND window_start < '2026-07-01 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-02 13:30:00' AND window_start < '2026-07-02 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_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 AS shares_traded_m
FROM sess s
JOIN prior p ON s.ticker = p.ticker
ORDER BY s.tickerสรุปภาพรวมในหนึ่งบรรทัดคือ DIA อยู่ที่ 1.04% ขณะที่ QQQ อยู่ที่ -1.71% โดยกลุ่มอุตสาหกรรมและกลุ่มเติบโตมีส่วนต่างของผลตอบแทนรายวันเกือบสามจุด SPY อยู่กึ่งกลางที่ -0.12% และ IWM ปิดที่ -0.59%
วันนี้มีความผิดปกติหรือไม่?
มุมมองสองด้านในหนึ่งตาราง: การเคลื่อนที่จากราคาเปิดไปปิดของ SPY และการเคลื่อนที่จากราคาปิดวันก่อนหน้าไปปิดของ QQQ โดยแต่ละค่าถูกจัดลำดับเทียบกับเดือนที่ผ่านมาตามขนาดสัมบูรณ์ (ลำดับที่ 1 = ใหญ่ที่สุด)
SQL เบื้องหลังตัวเลขแต่ละตัว
WITH per_day AS (
SELECT ticker,
toDate(toTimeZone(window_start, 'America/New_York')) AS d,
(argMax(toFloat64(close), window_start) / argMin(toFloat64(open), window_start) - 1) * 100 AS oc_pct,
argMax(toFloat64(close), window_start) AS rth_close
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker IN ('SPY', 'QQQ')
AND window_start >= toDateTime('2026-06-02 00:00:00')
AND window_start < toDateTime('2026-07-03 00:00:00')
AND (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199
GROUP BY ticker, d
),
with_prev AS (
SELECT ticker, d, oc_pct,
lagInFrame(rth_close) OVER (PARTITION BY ticker ORDER BY d) AS prev_close,
(rth_close / lagInFrame(rth_close) OVER (PARTITION BY ticker ORDER BY d) - 1) * 100 AS cc_pct
FROM per_day
)
SELECT
round(anyIf(oc_pct, ticker = 'SPY' AND d = toDate('2026-07-02')), 2) AS spy_open_to_close_pct,
arrayCount(x -> x > abs(anyIf(oc_pct, ticker = 'SPY' AND d = toDate('2026-07-02'))),
groupArrayIf(abs(oc_pct), ticker = 'SPY' AND d != toDate('2026-07-02'))) + 1 AS spy_abs_move_rank,
countIf(ticker = 'SPY') AS spy_sessions_compared,
round(anyIf(cc_pct, ticker = 'QQQ' AND d = toDate('2026-07-02')), 2) AS qqq_close_over_close_pct,
arrayCount(x -> x > abs(anyIf(cc_pct, ticker = 'QQQ' AND d = toDate('2026-07-02'))),
groupArrayIf(abs(cc_pct), ticker = 'QQQ' AND d != toDate('2026-07-02') AND isFinite(cc_pct) AND prev_close > 0)) + 1 AS qqq_abs_move_rank,
countIf(ticker = 'QQQ' AND isFinite(cc_pct) AND prev_close > 0) AS qqq_sessions_compared,
toString(minIf(d, ticker = 'SPY')) AS first_session
FROM with_prevในระดับดัชนีถือว่าไม่ผิดปกติ การเคลื่อนที่จากราคาเปิดไปปิดของ SPY ใน -0.35% อยู่ในลำดับที่ 15 จาก 22 เซสชันที่ผ่านมา ซึ่งอยู่ในกลุ่มครึ่งล่าง ส่วน QQQ มีความผันผวนมากกว่าแต่ยังไม่ถึงขั้นสุดขั้ว โดยการเคลื่อนที่จากราคาปิดวันก่อนหน้าไปปิดของ -1.71% อยู่ในลำดับที่ 9 จาก 21 เซสชันที่มีราคาปิดก่อนหน้าที่กำหนด ซึ่งย้อนกลับไปถึง 2026-06-02 ถือเป็นวันที่แย่ในระดับปานกลางสำหรับดัชนีกลุ่มเติบโต (growth index) ความผันผวนที่รุนแรงเกิดขึ้นในระดับหุ้นรายตัวเมื่อวันที่ 2 กรกฎาคม
ความกว้างของตลาด: สัญญาณบวกในเชิงปริมาณ แต่ดัชนีการเติบโตติดลบ
SQL เบื้องหลังตัวเลขแต่ละตัว
WITH per_ticker AS (
SELECT
ticker,
toFloat64(argMaxIf(close, window_start, window_start < '2026-07-02 00:00:00')) AS prior_close,
toFloat64(argMaxIf(close, window_start, window_start >= '2026-07-02 00:00:00')) AS day_close,
sumIf(toFloat64(close) * toFloat64(volume), window_start >= '2026-07-02 00:00:00') AS day_dollar_volume
FROM global_markets.delayed_stocks_minute_aggs
WHERE (window_start >= '2026-07-01 13:30:00' AND window_start < '2026-07-01 20:00:00')
OR (window_start >= '2026-07-02 13:30:00' AND window_start < '2026-07-02 20:00:00')
GROUP BY ticker
)
SELECT
countIf(day_close > prior_close AND day_dollar_volume >= 1000000) AS advancers,
countIf(day_close < prior_close AND day_dollar_volume >= 1000000) AS decliners,
countIf(day_close = prior_close AND day_dollar_volume >= 1000000) AS unchanged,
countIf(day_dollar_volume >= 1000000) AS liquid_tickers,
count() AS tickers_traded_both_sessions,
count() - countIf(day_dollar_volume >= 1000000) AS dropped_by_liquidity_filter,
round(100.0 * countIf(day_close > prior_close AND day_dollar_volume >= 1000000)
/ countIf(day_dollar_volume >= 1000000), 1) AS advancer_pct,
reverse(arrayStringConcat(extractAll(reverse(toString(countIf(day_close > prior_close AND day_dollar_volume >= 1000000))), '[0-9]{1,3}'), ',')) AS advancers_fmt,
reverse(arrayStringConcat(extractAll(reverse(toString(countIf(day_close < prior_close AND day_dollar_volume >= 1000000))), '[0-9]{1,3}'), ',')) AS decliners_fmt,
reverse(arrayStringConcat(extractAll(reverse(toString(count() - countIf(day_dollar_volume >= 1000000))), '[0-9]{1,3}'), ',')) AS dropped_by_liquidity_filter_fmt,
reverse(arrayStringConcat(extractAll(reverse(toString(count())), '[0-9]{1,3}'), ',')) AS tickers_traded_both_sessions_fmt
FROM per_ticker
WHERE prior_close > 0 AND day_close > 0มีหุ้นที่ราคาเพิ่มขึ้น 3,398 ตัว, หุ้นที่ราคาลดลง 2,758 ตัว และหุ้นที่ราคาคงที่ 63 ตัว — โดยมีหุ้น 54.6% ของกลุ่มที่มีสภาพคล่องสูงที่มีราคาเพิ่มขึ้น ในขณะที่ QQQ ปรับตัวลดลง ดัชนีแบบถ่วงน้ำหนักตามมูลค่าตลาดและดัชนีความกว้างแบบถ่วงน้ำหนักเท่ากันให้ผลลัพธ์ที่แตกต่างกัน สถานการณ์เช่นนี้คือสาเหตุที่ทำให้ดัชนีทั้งสองประเภทมีความสำคัญ การคัดกรองนี้ได้ตัดหุ้น 5,317 ของ 11,536 ตัวที่มีการซื้อขายสองเซสชันต่อเนื่องกันด้วยมูลค่าต่ำกว่า 1 ล้านดอลลาร์ออกไป
รายกลุ่มอุตสาหกรรม: กลุ่มที่ปรับตัวขึ้นและกลุ่มที่ปรับตัวลง
จำนวนหุ้นที่ปรับตัวขึ้นเป็นตัวบ่งชี้ทิศทาง แต่ไม่ได้ระบุประเภทของหุ้น กองทุนกลุ่มอุตสาหกรรมของ SPDR ทั้ง 11 กองทุน แสดงผลการดำเนินงานแยกตามกลุ่มอุตสาหกรรม โดยส่วนต่างระหว่างกลุ่มที่ผลตอบแทนสูงสุดและต่ำสุดคือค่าความผันผวน (dispersion) ของวันนั้นในตัวเลขเดียว
SQL เบื้องหลังตัวเลขแต่ละตัว
WITH per_etf AS (
SELECT
ticker,
toFloat64(argMaxIf(close, window_start, window_start < '2026-07-02 00:00:00')) AS prior_close,
toFloat64(argMaxIf(close, window_start, window_start >= '2026-07-02 00:00:00')) AS day_close,
round(sumIf(toFloat64(close) * toFloat64(volume), window_start >= '2026-07-02 00:00:00') / 1e9, 2) AS day_dollar_bn
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-01 13:30:00' AND window_start < '2026-07-01 20:00:00')
OR (window_start >= '2026-07-02 13:30:00' AND window_start < '2026-07-02 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,
round((day_close / prior_close - 1) * 100 - min((day_close / prior_close - 1) * 100) OVER (), 2) AS pts_above_worst_sector,
day_dollar_bn
FROM per_etf
ORDER BY tickerกลุ่ม Health care (XLV) ปรับตัวขึ้นสูงสุดที่ 2.63% ตามด้วยกลุ่ม utilities 2.23%, staples 2% และ materials 1.94% ส่วนกลุ่ม Technology (XLK) ปิดตัวลงต่ำสุดที่ -2.71% ซึ่งเป็นกลุ่มอุตสาหกรรมเดียวที่ลดลงมากกว่าหนึ่งจุด กลุ่ม consumer discretionary (-0.81%) และ communication services (-0.13%) เป็นกลุ่มที่ติดลบเช่นกัน ในขณะที่อีกแปดกลุ่มที่เหลือปรับตัวขึ้น ส่วนต่างระหว่างกลุ่มที่ดีที่สุดและแย่ที่สุดคือ 5.34 percentage points สภาวะที่ DIA ปรับตัวขึ้นแต่ QQQ ปรับตัวลงเกิดขึ้นทั่วทั้งตลาด ไม่ได้จำกัดอยู่เพียงแค่หุ้นขนาดใหญ่สี่ตัวเท่านั้น ซึ่งเป็นเหตุผลว่าทำไมการที่เส้น advance-decline ปรับตัวขึ้นในขณะที่ Nasdaq ปรับตัวลงจึงไม่ใช่เรื่องที่ขัดแย้งกัน
ไฮไลต์ประจำวัน: การเทขายหุ้นกลุ่มหน่วยความจำ วันที่สอง
หุ้นกลุ่มที่ร่วงลงเมื่อวันพุธปรับตัวลดลงรุนแรงขึ้นในวันพฤหัสบดี โดยพิจารณาจากขนาดการปรับตัวลงและการเคลื่อนที่ไปในทิศทางเดียวกัน ไม่ใช่จากสาเหตุที่เปลี่ยนไป
SQL เบื้องหลังตัวเลขแต่ละตัว
WITH per_name AS (
SELECT
ticker,
toFloat64(argMaxIf(close, window_start, window_start < '2026-07-02 00:00:00')) AS prior_close,
toFloat64(argMaxIf(close, window_start, window_start >= '2026-07-02 00:00:00')) AS day_close,
maxIf(toFloat64(high), window_start >= '2026-07-02 00:00:00') AS day_high,
minIf(toFloat64(low), window_start >= '2026-07-02 00:00:00') AS day_low,
argMinIf(window_start, toFloat64(low), window_start >= '2026-07-02 00:00:00') AS low_bar,
argMaxIf(window_start, toFloat64(high), window_start >= '2026-07-02 00:00:00') AS high_bar,
round(sumIf(toFloat64(close) * toFloat64(volume), window_start >= '2026-07-02 00:00:00') / 1e9, 2) AS day_dollar_bn
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker IN ('MU', 'SNDK', 'STX', 'WDC')
AND ((window_start >= '2026-07-01 13:30:00' AND window_start < '2026-07-01 20:00:00')
OR (window_start >= '2026-07-02 13:30:00' AND window_start < '2026-07-02 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,
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,
day_dollar_bn
FROM per_name
ORDER BY tickerSanDisk ปรับตัวลดลง -14.32%, Seagate -10.38%, Western Digital -9.92%, MU -5.57% — บนมูลค่าการซื้อขายของ MU ที่ $51.4 billion ซึ่งคิดเป็นประมาณหนึ่งเท่าครึ่งของ SPY โดย MU และ SanDisk ทำจุดต่ำสุดในช่วงท้ายตลาด (15:26, 15:26 ET) ส่วน Seagate และ Western Digital ทำจุดต่ำสุดในช่วงก่อนหน้า (14:23, 13:59) ข้อมูลอ้างอิง: วันพุธ และ บทวิเคราะห์เจาะลึก MU
อีกด้านหนึ่งของการหมุนเวียนเงินทุนในกลุ่มหุ้นขนาดใหญ่ (megacaps):
SQL เบื้องหลังตัวเลขแต่ละตัว
WITH per_name AS (
SELECT
ticker,
toFloat64(argMaxIf(close, window_start, window_start < '2026-07-02 00:00:00')) AS prior_close,
toFloat64(argMaxIf(close, window_start, window_start >= '2026-07-02 00:00:00')) AS day_close,
maxIf(toFloat64(high), window_start >= '2026-07-02 00:00:00') AS day_high,
minIf(toFloat64(low), window_start >= '2026-07-02 00:00:00') AS day_low,
argMinIf(window_start, toFloat64(low), window_start >= '2026-07-02 00:00:00') AS low_bar,
argMaxIf(window_start, toFloat64(high), window_start >= '2026-07-02 00:00:00') AS high_bar,
round(sumIf(toFloat64(close) * toFloat64(volume), window_start >= '2026-07-02 00:00:00') / 1e9, 2) AS day_dollar_bn
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker IN ('AAPL', 'MSFT', 'NVDA', 'TSLA')
AND ((window_start >= '2026-07-01 13:30:00' AND window_start < '2026-07-01 20:00:00')
OR (window_start >= '2026-07-02 13:30:00' AND window_start < '2026-07-02 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,
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,
day_dollar_bn
FROM per_name
ORDER BY tickerAAPL ปรับตัวขึ้น 4.75% ในทิศทางเดียว — ทำจุดต่ำสุดที่ 09:30 ET และทำจุดสูงสุดที่ 15:57 ก่อนปิดตลาดสามนาที — ในขณะที่ TSLA เคลื่อนที่ในทิศทางตรงกันข้ามที่ -7.65% ส่วน MSFT เพิ่มขึ้น 1.41% และ NVDA ปิดที่ -1.55% ทั้งหมดอยู่ในดัชนีเดียวกัน แต่เคลื่อนที่สวนทางกันในแต่ละวัน
สรุปปริมาณการซื้อขาย
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-07-02 13:30:00' AND window_start < '2026-07-02 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(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-07-02 13:30:00' AND window_start < '2026-07-02 20:00:00'
AND ticker NOT IN ('SPCX')
GROUP BY ticker
ORDER BY shares_m DESC
LIMIT 4
)
ORDER BY leaderboard ASC, if(leaderboard = 'by dollars traded', dollar_volume_bn, shares_m) DESCMU มีมูลค่าการซื้อขายสูงสุดที่ $51.4 billion ติดต่อกันเป็นวันที่สี่ (วันจันทร์, วันอังคาร, วันพุธ) เมื่อเทียบกับ SPY ที่มีมูลค่า $32.7 billion และ SanDisk ที่มีมูลค่า $26.57 billion ทำให้มีหุ้นกลุ่มหน่วยความจำติดอันดับสูงสุดสองอันดับแรก ส่วน SOXS ซึ่งเป็น 3x-inverse semiconductor ETF มีปริมาณการซื้อขายสูงสุดที่ 748.2 million: หุ้นราคาถูกจะมีจำนวนหุ้นสูง ในขณะที่หุ้นราคาสูงจะมีมูลค่าดอลลาร์สูง และ ปริมาณการซื้อขายสัมพัทธ์ เป็นการเปรียบเทียบค่าดังกล่าวกับค่ามาตรฐานของหุ้นตัวนั้นๆ ข้อมูลอ้างอิง: ช่วงเวลาทำการปกติของวันที่ 2 กรกฎาคม โดยไม่รวมรายการที่ใช้สัญลักษณ์ซ้ำกันหนึ่งรายการ (รายการรับชำระ)
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
FROM global_markets.delayed_stocks_minute_aggs
WHERE window_start >= '2026-07-02 13:30:00' AND window_start < '2026-07-02 20:00:00'
GROUP BY et_time
ORDER BY et_timeมีปริมาณการซื้อขาย $2.13 billion ในช่วงครึ่งชั่วโมงแรกของการเปิดตลาด, จุดต่ำสุดอยู่ที่ $0.81 billion ณ เวลา 14:30, และ $2.3 billion ในช่วงปิดตลาดก่อนวันหยุด ซึ่งเป็นช่วงที่มีมูลค่าสูงสุดของวัน เนื่องจาก การประมูลปิดตลาด ได้รวบรวมคำสั่งซื้อขายที่ค้างอยู่มาไว้ในการพิมพ์ราคาเดียว
ข้อมูลการซื้อขาย options: การเปลี่ยนผ่านของสัญญา weekly
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-07-02 00:00:00' AND sip_timestamp < '2026-07-03 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-07-02 13:30:00' AND window_start < '2026-07-02 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) = '260702') / 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,
round(toFloat64(sumIf(size, substring(ticker, length(ticker) - 14, 6) = '260710')) / 1e6, 2) AS jul10_weekly_contracts_m,
round(toFloat64(sumIf(size, substring(ticker, length(ticker) - 14, 6) = '260717')) / 1e6, 2) AS jul17_monthly_contracts_m,
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_fmt,
round(top_contract.7, 3) AS top_contract_avg_price,
round(top_contract.2 - spy_regular_close, 2) AS top_strike_minus_spy_close,
round(spy_regular_close - top_contract.2, 2) AS spy_close_minus_strike
FROM global_markets.options_trades
WHERE sip_timestamp >= '2026-07-02 00:00:00' AND sip_timestamp < '2026-07-03 00:00:00'มีการซื้อขาย options ทั้งหมด 80.96 ล้านสัญญา จากจำนวนรายการซื้อขาย 13.15 ล้านรายการ โดย 47.4% ของปริมาณการซื้อขายดังกล่าวหมดอายุในวันพฤหัสบดีเดียวกัน ไม่มีสัญญาใดที่มีรหัสวันหมดอายุวันที่ 3 กรกฎาคม เกิดรายการซื้อขายเลยตลอดทั้งวัน (0 รายการ) ดังนั้นวันพฤหัสบดีจึงเป็นทั้งวันที่มีการหมดอายุรายวันและเป็นวันที่มีการเปลี่ยนผ่านของสัญญา weekly ในสัปดาห์เดียวกัน สัญญาที่มีการซื้อขายหนาแน่นที่สุดคือ SPY put ที่ราคา $740 ซึ่งหมดอายุในวันเดียวกัน โดยมีปริมาณ 540,403 สัญญา และมีค่า premium เฉลี่ยที่ $0.499 ขณะที่ SPY ปิดตลาดสูงกว่าราคา strike อยู่ 4.8 ดอลลาร์ หรืออยู่ในสถานะ out of the money และเป็นการซื้อ put ในขณะที่ วันอังคาร และ วันพุธ มีการซื้อ call สัญญา call ยังคงมีสัดส่วนปริมาณการซื้อขายอยู่ที่ 58.4% ส่วนสัญญา weekly ถัดไปมีปริมาณการซื้อขาย 9.64 ล้านสัญญา และสัญญา monthly ของเดือนกรกฎาคมมีปริมาณ 8.82 ล้าน (กลไกการหมดอายุ)
ข้อมูลราคาเสนอซื้อเสนอขาย: ต้นทุนในการซื้อขาย
ราคาบอกถึงสิ่งที่เกิดขึ้น แต่ราคาเสนอซื้อเสนอขายบอกถึงต้นทุน ส่วนต่าง bid-ask spread คือค่าธรรมเนียมในการซื้อขายแบบไป-กลับทุกครั้ง โดยวัดเป็น basis points ของราคา mid-price (หนึ่ง basis point คือหนึ่งในร้อยของเปอร์เซ็นต์) เราทำการวัดค่านี้ในทุกเซสชัน ไม่ว่าจะเป็นวันปกติหรือไม่ ซึ่งทำให้ข้อกล่าวอ้างที่ว่า "spread ขยายตัวกว้างขึ้น" สามารถตรวจสอบความถูกต้องได้
SQL เบื้องหลังตัวเลขแต่ละตัว
SELECT
round(countIf(toDate(sip_timestamp) = toDate('2026-07-02')) / 1e6, 2) AS jul2_updates_m,
round(countIf(toDate(sip_timestamp) = toDate('2026-07-01')) / 1e6, 2) AS jul1_updates_m,
round((countIf(toDate(sip_timestamp) = toDate('2026-07-02')) / countIf(toDate(sip_timestamp) = toDate('2026-07-01')) - 1) * 100, 1) AS day_over_day_pct,
round(countIf(toDate(sip_timestamp) = toDate('2026-07-02') AND ticker = 'SPY') / 1e6, 2) AS jul2_spy_updates_m,
round(countIf(toDate(sip_timestamp) = toDate('2026-07-02') AND ticker = 'QQQ') / 1e6, 2) AS jul2_qqq_updates_m,
round(countIf(toDate(sip_timestamp) = toDate('2026-07-02') AND ticker = 'MU') / 1e6, 2) AS jul2_mu_updates_m
FROM global_markets.cache_stocks_quotes
WHERE sip_timestamp >= '2026-07-01 00:00:00' AND sip_timestamp < '2026-07-03 00:00:00'ราคาเสนอซื้อเสนอขายที่ดีที่สุดในระดับประเทศ (national best bid and offer) ซึ่งเป็นส่วนบนสุดของสมุดคำสั่งซื้อขายรวม ถูกบันทึกใหม่ทั้งหมด 597.22 ล้านครั้ง เมื่อวันที่ 2 กรกฎาคม เทียบกับ 449.15 ล้านครั้งเมื่อวันที่ 1 กรกฎาคม คิดเป็นการเพิ่มขึ้น 33% ในช่วงปิดตลาด QQQ มีการบันทึก 7.56 ล้านครั้ง ซึ่งสูงกว่า SPY ที่มี 5.42 ล้านครั้ง และ MU มี 1.01 ล้านครั้ง
SQL เบื้องหลังตัวเลขแต่ละตัว
SELECT
ticker,
round(med_bps, 2) AS median_spread_bps,
round(med_dollars * 100, 1) AS median_spread_cents,
round(med_bps / min(med_bps) OVER (), 1) AS times_the_spy_spread,
round(quote_updates / 1e6, 2) AS rth_updates_m,
invalid_quotes_dropped
FROM (
SELECT
ticker,
quantileExactIf(0.5)((toFloat64(ask_price) - toFloat64(bid_price)) / ((toFloat64(ask_price) + toFloat64(bid_price)) / 2) * 10000,
toFloat64(bid_price) > 0 AND toFloat64(ask_price) > toFloat64(bid_price)) AS med_bps,
quantileExactIf(0.5)(toFloat64(ask_price) - toFloat64(bid_price),
toFloat64(bid_price) > 0 AND toFloat64(ask_price) > toFloat64(bid_price)) AS med_dollars,
count() AS quote_updates,
countIf(NOT (toFloat64(bid_price) > 0 AND toFloat64(ask_price) > toFloat64(bid_price))) AS invalid_quotes_dropped
FROM global_markets.cache_stocks_quotes
WHERE ticker IN ('SPY', 'QQQ', 'AAPL', 'TSLA', 'NVDA', 'MU', 'SNDK', 'WDC')
AND sip_timestamp >= '2026-07-02 13:30:00' AND sip_timestamp < '2026-07-02 20:00:00'
GROUP BY ticker
)
ORDER BY median_spread_bps ASCSPY มีค่ากลางของ spread อยู่ที่ 0.27 basis points หรือประมาณ 2 เซนต์ ต่อ ETF ราคา $744.8 โดย QQQ อยู่ที่ 0.83 bps และ NVDA อยู่ที่ 1.03 หุ้นที่มีการเทขายอย่างหนักคือหุ้นที่มีต้นทุนการซื้อขายสูง ได้แก่ MU 5.52 bps, SanDisk 10.4 และ Western Digital 10.79 ซึ่งคิดเป็น 40 เท่าของ spread ของ SPY การซื้อขายหุ้นกลุ่มหน่วยความจำ (memory names) มีต้นทุนสูงกว่าการซื้อขายดัชนีหลายเท่าตัว ก่อนที่จะเกิดผลกระทบด้านราคา (price impact) ทั้งนี้ ราคาเสนอซื้อเสนอขายที่ไม่ถูกต้อง (ราคาด้านเดียว หรือราคาที่ซ้อนทับกัน) จะถูกนับแยกตามรายชื่อหุ้นและไม่ถูกละเลย
SQL เบื้องหลังตัวเลขแต่ละตัว
WITH per_day AS (
SELECT toDate(sip_timestamp) AS d,
quantileExact(0.5)((toFloat64(ask_price) - toFloat64(bid_price)) / ((toFloat64(ask_price) + toFloat64(bid_price)) / 2) * 10000) AS med_bps
FROM global_markets.cache_stocks_quotes
WHERE ticker = 'SPY'
AND sip_timestamp >= '2026-06-02 00:00:00' AND sip_timestamp < '2026-07-03 00:00:00'
AND (toHour(sip_timestamp) * 60 + toMinute(sip_timestamp)) BETWEEN 810 AND 1199
AND toFloat64(bid_price) > 0 AND toFloat64(ask_price) > toFloat64(bid_price)
GROUP BY d
)
SELECT
round(anyIf(med_bps, d = toDate('2026-07-02')), 3) AS jul2_median_spread_bps,
round(quantileExact(0.5)(med_bps), 3) AS trailing_median_bps,
round(anyIf(med_bps, d = toDate('2026-07-02')) - quantileExact(0.5)(med_bps), 3) AS jul2_minus_trailing_bps,
arrayCount(x -> x > anyIf(med_bps, d = toDate('2026-07-02')), groupArrayIf(med_bps, d != toDate('2026-07-02'))) + 1 AS wider_rank,
count() AS sessions_compared,
round(max(med_bps), 3) AS widest_session_bps
FROM per_dayผลสรุปคือเป็นวันที่มีสภาพคล่องปกติ โดยค่ากลางของ spread ของ SPY ที่ 0.27 bps อยู่ห่างจากค่ากลางของเดือนที่ผ่านมา (0.27 bps) อยู่ที่ 0 bps ซึ่งจัดอยู่ในลำดับที่ 11 จาก 22 เซสชันในแง่ของความกว้าง ซึ่งยังห่างไกลจากค่าที่กว้างที่สุดในเดือนนั้นที่ 0.409 bps การเทขายอย่างรุนแรงในกลุ่มหุ้นที่ราคาปรับตัวขึ้นไม่ได้สร้างแรงกดดันต่อระบบโครงสร้างพื้นฐานของตลาด
อัตราดอกเบี้ย: ข้อมูลสรุป ณ วันที่ 2 กรกฎาคม
SQL เบื้องหลังตัวเลขแต่ละตัว
SELECT
(SELECT count() FROM global_markets.treasury_yields WHERE date = '2026-07-02') AS jul2_rows,
(SELECT count() FROM global_markets.treasury_yields WHERE date = '2026-07-01') AS jul1_rowsข้อมูลจาก Treasury มักจะล่าช้ากว่าราคาตลาดหนึ่งถึงสองวัน ในตอนแรกที่เผยแพร่ ข้อมูลราคาปิดของวันที่ 2 กรกฎาคม ยังไม่มีข้อมูลในระบบ และหน้านี้ได้ระบุไว้เช่นนั้นแทนการคาดเดา ขณะนี้ข้อมูลได้รับการอัปเดตแล้ว โดยมีข้อมูลจำนวน 1 แถวสำหรับวันที่ 2 กรกฎาคม และ 1 แถวสำหรับวันที่ 1 กรกฎาคม ดังนั้นตารางด้านล่างนี้จึงแสดงเส้นอัตราผลตอบแทน (curve) ของเซสชันดังกล่าว
SQL เบื้องหลังตัวเลขแต่ละตัว
SELECT
t.1 AS curve_point,
round(t.2, 2) AS jul2_yield_pct,
round((t.2 - t.3) * 100) AS one_day_change_bp
FROM (
SELECT arrayJoin([
('1 month', toFloat64(d.yield_1_month), toFloat64(p.yield_1_month)),
('3 month', toFloat64(d.yield_3_month), toFloat64(p.yield_3_month)),
('1 year', toFloat64(d.yield_1_year), toFloat64(p.yield_1_year)),
('2 year', toFloat64(d.yield_2_year), toFloat64(p.yield_2_year)),
('5 year', toFloat64(d.yield_5_year), toFloat64(p.yield_5_year)),
('10 year', toFloat64(d.yield_10_year), toFloat64(p.yield_10_year)),
('30 year', toFloat64(d.yield_30_year), toFloat64(p.yield_30_year)),
('2s10s spread', toFloat64(d.yield_10_year - d.yield_2_year), toFloat64(p.yield_10_year - p.yield_2_year))
]) AS t
FROM (SELECT * FROM global_markets.treasury_yields WHERE date = '2026-07-02') AS d,
(SELECT * FROM global_markets.treasury_yields WHERE date = '2026-07-01') AS p
)ณ ราคาปิด อัตราผลตอบแทนพันธบัตรอายุ 10 ปี อยู่ที่ 4.49% และ ส่วนต่าง 2s10s อยู่ที่ 0.35 จุด
The calendar behind the day
SQL เบื้องหลังตัวเลขแต่ละตัว
WITH
(
SELECT (count(), uniqExact(publisher))
FROM global_markets.stocks_news
WHERE toDate(toTimeZone(published_utc, 'America/New_York')) = '2026-07-02'
) AS news,
(
SELECT (argMax(t, n), 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-07-02'
)
WHERE t != 'SPCX'
GROUP BY t
)
) AS top_news,
(
SELECT (count(), countIf(split_to > split_from), countIf(split_to < split_from),
arrayStringConcat(groupArray(concat(ticker, ' ', toString(split_to), '-for-', toString(split_from))), '; '))
FROM global_markets.stocks_splits
WHERE execution_date = '2026-07-02' AND ticker NOT IN ('SPCX')
) AS splits
SELECT
(SELECT count() FROM global_markets.stocks_dividends WHERE ex_dividend_date = '2026-07-02') AS ex_dividend_records,
splits.1 AS splits_executed,
splits.2 AS forward_splits,
splits.3 AS reverse_splits,
splits.4 AS split_records,
(SELECT count() FROM global_markets.stocks_ipos WHERE listing_date = '2026-07-02') AS ipos_listed,
(SELECT uniqExact(accession_number) FROM global_markets.stocks_sec_edgar_index WHERE filing_date = '2026-07-02') AS sec_filings,
(SELECT uniqExactIf(accession_number, form_type = '4') FROM global_markets.stocks_sec_edgar_index WHERE filing_date = '2026-07-02') AS insider_form4_filings,
(SELECT uniqExactIf(accession_number, form_type = '8-K') FROM global_markets.stocks_sec_edgar_index WHERE filing_date = '2026-07-02') AS filings_8k,
(SELECT arrayStringConcat(groupArray(concat(ticker, ' — ', issuer_name)), '; ') FROM (
SELECT ticker, issuer_name FROM global_markets.stocks_ipos WHERE listing_date = '2026-07-02' ORDER BY ticker
)) AS ipo_names,
news.1 AS news_articles,
news.2 AS news_publishers,
top_news.1 AS most_covered_ticker,
top_news.2 AS most_covered_articles,
(SELECT any(split_from) FROM global_markets.stocks_splits WHERE ticker = 'CRWD' AND execution_date = '2026-07-02') AS crwd_split_from,
(SELECT any(split_to) FROM global_markets.stocks_splits WHERE ticker = 'CRWD' AND execution_date = '2026-07-02') AS crwd_split_to,
(SELECT round(toFloat64(argMax(close, window_start)), 2) FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'CRWD' AND window_start >= '2026-07-01 13:30:00' AND window_start < '2026-07-01 20:00:00') AS crwd_prev_close,
(SELECT round(toFloat64(argMax(close, window_start)), 2) FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'CRWD' AND window_start >= '2026-07-02 13:30:00' AND window_start < '2026-07-02 20:00:00') AS crwd_day_close,
(SELECT round(sum(toFloat64(close) * toFloat64(volume)) / 1e6, 2) FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'CRWD' AND window_start >= '2026-07-02 13:30:00' AND window_start < '2026-07-02 20:00:00') AS crwd_dollar_m,
(SELECT count() FROM (
SELECT ticker FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker IN (SELECT ticker FROM global_markets.stocks_splits WHERE execution_date = '2026-07-02')
AND window_start >= '2026-07-02 13:30:00' AND window_start < '2026-07-02 20:00:00'
GROUP BY ticker
)) AS split_names_with_bars319 dividend records went ex-dividend, 2 new listings arrived (MIACU — Meridian3 Industrials Acquisition Corp.; VIIU — Viking Acquisition Corp. II), and the SEC index logged 5200 filings into the holiday — 2109 Form 4s, 258 8-Ks. The news feed carried 201 articles from 3 publishers (NVDA most-covered, 18 of them).
The splits trap anyone reading raw closes. CRWD ran a 4-for-1 forward split, so the unadjusted tape shows $772.45 on Wednesday and $193.67 on Thursday — a fake decline that is really four new shares for each old one. It was not alone: 8 split records executed, 5 forward and 3 reverse (the split_records column lists them), and a reverse split fakes the opposite artifact — a raw price that leaps overnight. Only 2 of those names traded on our tape; CRWD's $1473.51 million of turnover is the one big enough to contaminate a screen, and every mover screen here excludes it.
รายการที่กำลังจะเกิดขึ้น
ข้อมูลตามปฏิทิน ไม่ใช่การคาดการณ์ — ข้อมูลที่ระบุไว้สำหรับการซื้อขายในเซสชันถัดไป
SQL เบื้องหลังตัวเลขแต่ละตัว
SELECT
(SELECT count() FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY' AND window_start >= '2026-07-06 13:30:00' AND window_start < '2026-07-06 20:00:00') AS jul6_spy_regular_bars,
(SELECT count() FROM global_markets.stocks_dividends WHERE ex_dividend_date = '2026-07-06') AS exdiv_records_jul6,
(SELECT arrayStringConcat(groupArray(ticker), ', ') FROM global_markets.stocks_dividends
WHERE ex_dividend_date = '2026-07-06'
AND ticker IN ('AAPL', 'MSFT', 'JPM', 'JNJ', 'XOM', 'KO', 'PG', 'WMT', 'CVX', 'HD')) AS household_exdivs_jul6,
(SELECT count() FROM global_markets.stocks_splits WHERE execution_date = '2026-07-06') AS splits_jul6,
(SELECT toString(min(date)) FROM global_markets.stocks_market_holidays WHERE date > '2026-07-02') AS next_scheduled_closure,
(SELECT any(name) FROM global_markets.stocks_market_holidays
WHERE date = (SELECT min(date) FROM global_markets.stocks_market_holidays WHERE date > '2026-07-02')) AS next_closure_name,
(SELECT any(status) FROM global_markets.stocks_market_holidays
WHERE date = (SELECT min(date) FROM global_markets.stocks_market_holidays WHERE date > '2026-07-02')) AS next_closure_status,
(SELECT toString(max(settlement_date)) FROM global_markets.stocks_short_interest
WHERE settlement_date <= '2026-07-02') AS latest_si_settlement,
(SELECT dateDiff('day', max(settlement_date), toDate('2026-07-02')) FROM global_markets.stocks_short_interest
WHERE settlement_date <= '2026-07-02') AS si_settlement_age_daysวันจันทร์ที่ 6 กรกฎาคม เริ่มต้นการซื้อขายใหม่ด้วยเซสชันแบบ 390-bar เต็มรูปแบบ ซึ่งได้รับการยืนยันจากแท่งเทียนของตนเอง มีรายการ ex-dividend จำนวน 118 รายการ — หนึ่งในนั้นเป็นบริษัทที่มีชื่อเสียงจากสิบบริษัทที่เราตรวจสอบ (JPM) — และมีการดำเนินการ split จำนวน 15 รายการ การปิดตลาดครั้งถัดไปที่กำหนดไว้คือ: Labor Day, 2026-09-07 (closed) ข้อมูล Short interest เป็นเรื่องเก่าเหมือนเช่นเคย โดยการชำระราคาล่าสุดที่บันทึกไว้คือ 2026-06-30 เมื่อ 2 วันที่ผ่านมา ซึ่งการประกาศข้อมูลจะล่าช้ากว่าการชำระราคาประมาณสองสัปดาห์ (เพราะเหตุใด)
สรุปการซื้อขาย — และวันศุกร์ที่ไม่ได้เกิดขึ้น
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,
count() AS spy_minute_bars,
countIf(window_start >= '2026-07-02 13:30:00' AND window_start < '2026-07-02 20:00:00') AS regular_session_bars,
uniqExactIf(toDate(toTimeZone(window_start, 'America/New_York')), window_start >= '2026-07-02 13:30:00' AND window_start < '2026-07-02 20:00:00') AS day_sessions,
(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
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY' AND window_start >= '2026-07-02 00:00:00' AND window_start < '2026-07-03 00:00:00'วันที่ 2 กรกฎาคม เป็นการซื้อขายเต็มเซสชัน ไม่ใช่การปิดตลาดก่อนกำหนด: แท่งเทียนของ SPY วิ่งตั้งแต่ 04:00 ถึง 19:59 ตามเวลา New York (รวมแท่งเทียนช่วง pre-market และ after-hours โดยมีแท่งเทียนในช่วงเวลาปกติทั้งหมด 390 แท่ง สำหรับวันศุกร์ที่ 3 กรกฎาคม มีแท่งเทียน SPY ทั้งหมด 0 แท่ง — ซึ่งเป็นการปิดตลาดเต็มวัน เนื่องจากวัน Independence Day วันที่ 4 กรกฎาคม ตรงกับวันเสาร์ สรุปภาพรวมสี่เซสชันของสัปดาห์นี้: สรุปภาพรวมรายสัปดาห์
คำถามที่พบบ่อย
ทำไม Dow ถึงปรับตัวขึ้นในขณะที่ Nasdaq ปรับตัวลงเมื่อวันที่ 2 กรกฎาคม 2026?
ดัชนีทั้งสองประกอบด้วยบริษัทที่แตกต่างกัน โดย DIA ปิดที่ 1.04% และ QQQ ปิดที่ -1.71% สัดส่วนกลุ่มอุตสาหกรรมมีความแตกต่างกันในลักษณะเดียวกัน โดยกลุ่มสุขภาพ สาธารณูปโภค และสินค้าอุปโภคบริโภคมีสัดส่วนสูงสุด ส่วนกลุ่มเทคโนโลยีมีสัดส่วนต่ำสุดที่ -2.71% ซึ่งมีส่วนต่างจากกลุ่มที่ดีที่สุดไปยังกลุ่มที่แย่ที่สุดอยู่ที่ 5.34 จุด
ตลาดหุ้นเปิดทำการในวันศุกร์ของสัปดาห์วันประกาศอิสรภาพหรือไม่?
ไม่เปิด เนื่องจากวันประกาศอิสรภาพตรงกับวันเสาร์ ตลาดหลักทรัพย์จึงหยุดทำการในวันศุกร์ซึ่งเป็นวันถัดจากเซสชันนี้ โดยข้อมูลของเราแสดงแท่งเทียนรายนาทีของ SPY จำนวน 0 แท่งสำหรับวันดังกล่าว
การแตกหุ้นล่วงหน้า (forward stock split) ส่งผลอย่างไรต่อราคาหุ้น?
การแตกหุ้นจะทำให้จำนวนหุ้นเพิ่มขึ้นเป็นสี่เท่าและหารราคาลงด้วยสี่ โดยมูลค่าของสถานะยังคงเท่าเดิม สำหรับ CRWD เมื่อวันที่ 2 กรกฎาคม: ราคาปิดที่ยังไม่ได้ปรับปรุงคือ $772.45 ในวันพุธ และ $193.67 ในวันพฤหัสบดี ซึ่งจะดูเหมือนราคาลดลงหากใช้เครื่องมือคัดกรองหุ้นที่ไม่ได้ปรับปรุงข้อมูลการแตกหุ้น
ส่วนต่าง Bid-ask spread ในวันที่ 2 กรกฎาคม 2026 กว้างเพียงใด?
ค่ามัธยฐานของส่วนต่างที่เสนอซื้อเสนอขายของ SPY อยู่ที่ 0.27 basis points ของราคา Mid-price ในช่วงเวลาทำการปกติ ซึ่งคิดเป็น 11 ของ 22 ของเซสชันที่ผ่านมาในด้านความกว้าง ถือเป็นวันปกติ ส่วนหุ้นรายตัวมีส่วนต่างที่กว้างกว่า ได้แก่ MU ที่ 5.52 bps และ WDC ที่ 10.79
หมายเหตุข้อมูล
- Dollar volume คือค่าประมาณการต่อนาที — คำนวณจาก ราคาปิด × ปริมาณการซื้อขาย และรวมผลตามช่วงเวลา (bar)
- ข้อมูลผลตอบแทนพันธบัตรอายุ 2 ปี ของเดือนกรกฎาคม ออกมาหลังจากมีการเผยแพร่ครั้งแรก — หมายเหตุฉบับเดิมระบุว่าไม่มีข้อมูลนี้โดยแสดงผ่านจำนวนแถวที่ได้รับ; ฉบับแก้ไขนี้ได้รวมข้อมูลดังกล่าวแล้ว พร้อมแสดงหลักฐานการตรวจสอบ
- การเปลี่ยนแปลงราคาปิดดิบของ CRWD เป็นผลจากการแตกหุ้น (split artifact) — ข้อมูลนี้ถูกยกเว้นจากการคัดกรองหุ้นที่มีการเคลื่อนไหวสูง (mover screens)
หมายเหตุข้อมูลฉบับเต็ม
- กระดานข้อมูลกลุ่มอุตสาหกรรม (sector board) ประกอบด้วยกองทุน SPDR Select Sector ทั้งสิบเอ็ดกองทุน (XLB, XLC, XLE, XLF, XLI, XLK, XLP, XLRE, XLU, XLV, XLY) — เป็นตะกร้าหุ้นที่กำหนดไว้แน่นอนและมีการเปิดเผยข้อมูล ไม่ใช่ฟิลด์กลุ่มอุตสาหกรรมจากผู้ให้บริการข้อมูล
- การนับจำนวน Quote-tape จะจัดกลุ่มตามวันที่ในรูปแบบ UTC ของ SIP timestamp; โดยเซสชันในช่วงฤดูร้อนจะถูกนับรวมอยู่ในหนึ่งวัน UTC
- รายการหุ้นที่ใช้สัญลักษณ์ซ้ำกันในเดือนมิถุนายนหนึ่งรายการถูกยกเว้นจากตารางผู้นำ (หลักฐานการตรวจสอบ); การตรวจสอบข้อมูลเชิงลึก (forensic tick work) จะอยู่ในส่วนการวิเคราะห์เจาะลึก
ระเบียบวิธีวิจัย
- ระยะเวลาที่ใช้คือหนึ่งเซสชันการซื้อขาย (1 session โดยตรวจสอบจากแท่งเทียนที่ปรากฏ) ข้อมูลเวลาถูกจัดเก็บในรูปแบบ UTC และแปลงเป็นเวลาของนิวยอร์กภายในคำสั่ง query โดย "close" หมายถึงแท่งนาทีสุดท้ายของเซสชันปกติ และการเปลี่ยนวันเป็นการเปรียบเทียบระหว่างวันที่ 2 กรกฎาคม กับวันที่ 1 กรกฎาคม ทั้งนี้ ข้อมูลราคาปิดของวันที่ 3 กรกฎาคม ได้รับการตรวจสอบจากแท่งเทียนแล้ว ไม่ได้เป็นการสมมติขึ้น
- ค่า Spread (ask ลบ bid) แสดงผลในหน่วย basis points ของราคา mid-price โดยใช้ค่ามัธยฐานจากการอัปเดต NBBO ในช่วงเวลาทำการปกติ ตามค่า quantile ที่กำหนดไว้ ตัวเลขทศนิยมจะถูกแปลงเป็น float ก่อนการคำนวณอัตราส่วน ส่วนวันหมดอายุของ option จะถูกประมวลผลใหม่จาก ticker ของ OCC ข้อมูลในทุกแผงควบคุมจะถูกอ่านเพียงครั้งเดียว ณ เวลาที่จัดทำข้อมูล ผ่านช่องทางอ่านอย่างเดียวที่ถูกจำกัดสิทธิ์ไว้
แผนภูมิ ตาราง และ SQL ถือเป็นวัตถุเดียวกัน คุณสามารถคัดลอกแผงควบคุมใดก็ได้ลงใน terminal ของ Strasmore เพื่อนำไปใช้งานต่อ เซสชันก่อนหน้า: 1 กรกฎาคม สัปดาห์นี้: สัปดาห์วันหยุดที่มีสี่เซสชัน