สรุปภาวะตลาดวันที่ 1 กรกฎาคม 2026
ตลาดช่วงต้น H2 เคลื่อนไหวผันผวน โดยกลุ่ม memory complex ปรับตัวลดลง ขณะที่ META ปรับตัวขึ้น และกลุ่มอุตสาหกรรมส่วนใหญ่ใน S&P ยังคงปิดในแดนบวก
วันพุธที่ 1 กรกฎาคม 2026 — การซื้อขายเซสชันแรกของครึ่งปีหลัง — ดัชนีมีการเคลื่อนไหวที่ผันผวนอย่างรุนแรงที่สุดในรอบเดือน แม้จะเป็นวันที่ตลาดโดยรวมค่อนข้างเงียบสงบ SPY ปิดที่ -0.08% และ QQQ อยู่ที่ -1.44% อย่างไรก็ตาม หน่วยความจำ (memory complex) ที่เคยขับเคลื่อน ไตรมาสที่สอง มีมูลค่าลดลงหนึ่งในสิบ ส่วน META ปรับตัวขึ้น 8.88% และ 7 ของกองทุนกลุ่มอุตสาหกรรม S&P ใน 11 ยังคงปิดในแดนบวก เซสชันก่อนหน้า: 30 มิถุนายน
สรุปผลการดำเนินงาน
การเปลี่ยนแปลงนี้เปรียบเทียบระหว่างราคาปิดของช่วงการซื้อขายปกติเมื่อวันที่ 1 กรกฎาคม กับราคาเมื่อวันอังคารที่ 30 มิถุนายน
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-06-30 13:30:00' AND window_start < '2026-06-30 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-01 13:30:00' AND window_start < '2026-07-01 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 ที่ 0.02% และ SPY ที่ -0.08% มีราคาคงที่ เมื่อเทียบกับ QQQ ที่ -1.44% และ IWM ที่ -0.37% ซึ่งแสดงให้เห็นว่าตลาดโดยรวมแทบไม่ได้รับผลกระทบจากการเทขายหุ้นกลุ่มเติบโต (growth selloff)
หนึ่งในวันที่ดัชนีเคลื่อนไหวเงียบเหงาที่สุดในรอบเดือนที่ผ่านมา
SQL เบื้องหลังตัวเลขแต่ละตัว
SELECT round(anyIf(oc_pct, d = toDate('2026-07-01')), 2) AS day_move_pct,
arrayCount(x -> x > abs(anyIf(oc_pct, d = toDate('2026-07-01'))), groupArrayIf(abs(oc_pct), d != toDate('2026-07-01'))) + 1 AS abs_move_rank,
count() AS 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-01 00:00:00')
AND window_start < toDateTime('2026-07-02 00:00:00')
AND (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199
GROUP BY d
)หากพิจารณาการเคลื่อนไหวภายในวัน (Open-to-close) ซึ่งต่างจากการวัดผลแบบราคาปิดเทียบกับราคาปิด (close-over-close) พบว่า SPY เคลื่อนไหว 0.09%: ซึ่งอยู่ในอันดับที่ 20 จากทั้งหมด 22 วันทำการที่ผ่านมาเมื่อวัดจากขนาดการเคลื่อนไหวสัมบูรณ์ โดยมีเพียงสองวันเท่านั้นที่มีการเคลื่อนไหวต่ำกว่านี้ ด้านกลุ่มดัชนีความผันผวนก็ไปในทิศทางเดียวกัน เนื่องจากไม่มีดัชนี VIX แบบ spot ในคลังข้อมูลนี้ จึงต้องตรวจสอบจากกองทุน VIX-futures ที่จดทะเบียน ซึ่งเป็นตัวชี้วัดราคาของการป้องกันความเสี่ยงที่ใกล้เคียงที่สุดในตลาด:
SQL เบื้องหลังตัวเลขแต่ละตัว
WITH per_name AS (
SELECT
ticker,
toFloat64(argMaxIf(close, window_start, window_start < '2026-07-01 00:00:00')) AS prior_close,
toFloat64(argMaxIf(close, window_start, window_start >= '2026-07-01 00:00:00')) AS day_close,
maxIf(toFloat64(high), window_start >= '2026-07-01 00:00:00') AS day_high,
minIf(toFloat64(low), window_start >= '2026-07-01 00:00:00') AS day_low
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker IN ('SPY', 'SVXY', 'UVXY', 'VIXY', 'VXX')
AND ((window_start >= '2026-06-30 13:30:00' AND window_start < '2026-06-30 20:00:00')
OR (window_start >= '2026-07-01 13:30:00' AND window_start < '2026-07-01 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 / day_low - 1) * 100, 2) AS range_pct
FROM per_name
ORDER BY tickerVXX ซึ่งเป็นกองทุน VIX futures เดือนแรกที่มีขนาดใหญ่ที่สุด ปรับตัวขึ้น 0.72%; VIXY 0.8%; ส่วน UVXY ที่มีอัตราเลเวอเรจปรับตัวขึ้น 1.13% ภายในช่วง 3.68%; และ SVXY แบบ inverse ปรับตัวลง -0.42% โดยความคลาดเคลื่อนจากการปัดเศษนั้นถือว่าน้อยมากเมื่อเทียบกับการเคลื่อนไหวของหุ้นรายตัว
Breadth: more fell than rose — and more made new highs than new lows
SQL เบื้องหลังตัวเลขแต่ละตัว
WITH per_ticker AS (
SELECT
ticker,
toFloat64(argMaxIf(close, window_start, window_start < '2026-07-01 00:00:00')) AS prior_close,
toFloat64(argMaxIf(close, window_start, window_start >= '2026-07-01 00:00:00')) AS day_close,
maxIf(toFloat64(high), window_start < '2026-07-01 00:00:00') AS quarter_high,
minIf(toFloat64(low), window_start < '2026-07-01 00:00:00') AS quarter_low,
maxIf(toFloat64(high), window_start >= '2026-07-01 00:00:00') AS day_high,
minIf(toFloat64(low), window_start >= '2026-07-01 00:00:00') AS day_low,
sumIf(toFloat64(close) * toFloat64(volume), window_start >= '2026-07-01 00:00:00') AS day_dollar_volume,
countIf(window_start < '2026-07-01 00:00:00') AS quarter_bars
FROM global_markets.delayed_stocks_minute_aggs
WHERE ((window_start >= '2026-04-01 13:30:00' AND window_start < '2026-06-30 20:00:00')
OR (window_start >= '2026-07-01 13:30:00' AND window_start < '2026-07-01 20:00:00'))
AND (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199
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,
round(100.0 * countIf(day_close > prior_close AND day_dollar_volume >= 1000000)
/ countIf(day_dollar_volume >= 1000000), 1) AS advancer_pct,
countIf(day_dollar_volume >= 1000000 AND quarter_bars >= 1000 AND day_high > quarter_high) AS new_quarter_highs,
countIf(day_dollar_volume >= 1000000 AND quarter_bars >= 1000 AND day_low < quarter_low) AS new_quarter_lows,
round(countIf(day_dollar_volume >= 1000000 AND quarter_bars >= 1000 AND day_high > quarter_high)
/ countIf(day_dollar_volume >= 1000000 AND quarter_bars >= 1000 AND day_low < quarter_low), 1) AS highs_per_low,
countIf(day_dollar_volume >= 1000000 AND quarter_bars >= 1000) AS names_with_a_full_quarter,
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,
countIf(day_dollar_volume >= 1000000 AND quarter_bars < 1000) AS dropped_short_quarter_history
FROM per_ticker
WHERE prior_close > 0 AND day_close > 02928 advancers, 3465 decliners, 82 unchanged — 45.2% of the liquid tape rose. But scope is not severity: against the second quarter's regular-hours range, 836 of the 6217 names with a complete quarter of trading printed a new quarterly high on this red day, against 246 printing a new low — 3.4 new highs per new low. Most slipped; few broke their range. Drops: 5435 of 11910 dual-session tickers under the $1 million filter, 258 liquid names without a full quarter of bars.
ภาพรวมรายกลุ่มอุตสาหกรรม: ความเสียหายจำกัดอยู่เพียงกลุ่มเดียว
กองทุน SPDR sector ทั้งสิบเอ็ดกองทุนเป็นตัวแทนกลุ่มตลาดที่ครอบคลุมและมีต้นทุนต่ำที่สุด โดยเป็นการลงทุนในตะกร้าสินทรัพย์ชุดเดิมในทุกเซสชัน
SQL เบื้องหลังตัวเลขแต่ละตัว
WITH per_name AS (
SELECT
ticker,
toFloat64(argMaxIf(close, window_start, window_start < '2026-07-01 00:00:00')) AS prior_close,
toFloat64(argMaxIf(close, window_start, window_start >= '2026-07-01 00:00:00')) AS day_close,
round(sumIf(toFloat64(close) * toFloat64(volume), window_start >= '2026-07-01 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-06-30 13:30:00' AND window_start < '2026-06-30 20:00:00')
OR (window_start >= '2026-07-01 13:30:00' AND window_start < '2026-07-01 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 pct_above_worst_sector,
sum(if(day_close > prior_close, 1, 0)) OVER (ORDER BY (day_close / prior_close) DESC ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS green_so_far,
day_dollar_bn
FROM per_name
ORDER BY pct_chg DESCกลุ่ม Communication services (XLC) ซึ่งเป็นกลุ่มที่ถือหุ้น META นำตลาดที่ 2.41% ตามมาด้วยกลุ่ม financials (XLF) ที่ระดับ 2.2% ส่วนกลุ่ม Technology (XLK) อยู่ในระดับต่ำสุด โดยมีค่าต่ำกว่ากลุ่มผู้นำอยู่ -2.56% และ 4.97 percentage points โดยรวมแล้วมีกองทุนจำนวน 7 จากทั้งหมด 11 กองทุนที่ปิดบวก ได้แก่กลุ่ม discretionary (0.68%) และ health care (0.57%) ในขณะที่กลุ่ม utilities (-1.28%), industrials (-0.98%) และ energy (-0.6%) ปิดลบ ซึ่งส่งผลให้ "ดัชนีแทบไม่มีการเคลื่อนไหว" เนื่องจากแรงกดดันจากด้านล่าง
ไฮไลท์ประจำวัน: หุ้นกลุ่มหน่วยความจำดิ่งลง แต่ META กลับสวนทาง
มีหุ้น 8 ตัวที่ทำให้เกิดความผันผวนสูง ได้แก่ หุ้นกลุ่มหน่วยความจำและอุปกรณ์จัดเก็บข้อมูล 4 ตัวที่เป็นผู้นำใน Q2 และหุ้นกลุ่มชิปและแพลตฟอร์มอีก 4 ตัว ข้อมูลแสดงให้เห็นถึงทิศทางการเคลื่อนที่ที่สอดคล้อง ขนาดของการเปลี่ยนแปลง และช่วงเวลาที่เกิดขึ้น แต่ไม่ได้ระบุสาเหตุ
SQL เบื้องหลังตัวเลขแต่ละตัว
WITH per_name AS (
SELECT
ticker,
toFloat64(argMaxIf(close, window_start, window_start < '2026-07-01 00:00:00')) AS prior_close,
toFloat64(argMaxIf(close, window_start, window_start >= '2026-07-01 00:00:00')) AS day_close,
maxIf(toFloat64(high), window_start >= '2026-07-01 00:00:00') AS day_high,
minIf(toFloat64(low), window_start >= '2026-07-01 00:00:00') AS day_low,
argMinIf(window_start, (toFloat64(low), toInt64(toUnixTimestamp(window_start))), window_start >= '2026-07-01 00:00:00') AS low_bar,
argMaxIf(window_start, (toFloat64(high), -toInt64(toUnixTimestamp(window_start))), window_start >= '2026-07-01 00:00:00') AS high_bar,
round(sumIf(toFloat64(close) * toFloat64(volume), window_start >= '2026-07-01 00:00:00') / 1e9, 2) AS day_dollar_bn
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker IN ('AMD', 'META', 'MRVL', 'MU', 'NVDA', 'SNDK', 'STX', 'WDC')
AND ((window_start >= '2026-06-30 13:30:00' AND window_start < '2026-06-30 20:00:00')
OR (window_start >= '2026-07-01 13:30:00' AND window_start < '2026-07-01 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,
formatDateTime(toTimeZone(high_bar, 'America/New_York'), '%H:%i') AS day_high_et,
formatDateTime(toTimeZone(low_bar, 'America/New_York'), '%H:%i') AS day_low_et,
toHour(toTimeZone(low_bar, 'America/New_York')) * 60 + toMinute(toTimeZone(low_bar, 'America/New_York')) AS low_minute_et,
round((day_high / day_low - 1) * 100, 2) AS range_pct,
day_dollar_bn
FROM per_name
ORDER BY tickerSanDisk (-10.45%) และ Micron (-10.23%) ต่างมีมูลค่าลดลงมากกว่าหนึ่งในสิบ ส่วน Marvell -8.68%, AMD -6.87%, Western Digital -6.3% และ Seagate -5.11% ก็ปรับตัวลงเช่นกัน MU มีปริมาณการซื้อขายสูงถึง $42.94 billion ซึ่งมากกว่าปริมาณการซื้อขายของ SPY ตลอดทั้งวัน โดย MU, AMD และ Marvell ต่างทำราคาต่ำสุดของวันในช่วงนาทีสุดท้ายก่อนปิดตลาด (15:59, 15:57, 15:58 ET) ซึ่งเป็นการเทขายในช่วง การประมูลปิดตลาด ไม่ใช่เกิดจากสภาวะขาดสภาพคล่องในช่วงเช้าที่ฟื้นตัวกลับมาได้ (ข้อมูลเจาะลึกของ MU ระบุว่าเหตุการณ์นี้ผ่านพ้นไตรมาสไปแล้ว)
META มีทิศทางตรงกันข้าม โดยมีปริมาณการซื้อขาย 8.88% บนมูลค่า $22.72 billion โดยทำจุดต่ำสุดที่ 09:30 ET ซึ่งเป็นแท่งเทียนช่วงเปิดตลาด และราคาไม่กลับลงไปแตะระดับนั้นอีกเลย ส่วน NVDA เคลื่อนที่ในกรอบแคบที่ -1.09% (ข้อมูล NVDA เดือนมิถุนายน)
ข้อมูลที่ถูกรายงาน
หน้านี้ไม่ได้ระบุสาเหตุของเหตุการณ์ แต่ฟีดข่าวที่ได้รับอนุญาตของเราเป็นเพียงตารางข้อมูลที่รวบรวมสิ่งที่เกิดขึ้นในวันนั้น:
SQL เบื้องหลังตัวเลขแต่ละตัว
SELECT published_et, publisher, names_tagged, headline
FROM (
SELECT
published_utc,
formatDateTime(toTimeZone(published_utc, 'America/New_York'), '%H:%i') AS published_et,
JSONExtractString(publisher, 'name') AS publisher,
arrayStringConcat(arrayFilter(x -> x IN ('MU', 'SNDK', 'STX', 'WDC', 'META'), tickers), ' ') AS names_tagged,
substring(title, 1, 72) AS headline
FROM global_markets.stocks_news
WHERE published_utc >= '2026-07-01 04:00:00' AND published_utc < '2026-07-02 04:00:00'
AND hasAny(tickers, ['MU', 'SNDK', 'STX', 'WDC', 'META'])
AND NOT has(tickers, 'SPCX')
AND position(title, 'SPCX') = 0
ORDER BY published_utc DESC
LIMIT 12
)
ORDER BY published_utc ASCบทความช่วงบ่ายของ The Motley Fool เกี่ยวกับ Micron (14:11 ET) ใช้หัวข้อข่าวว่า "Why Micron Stock Is Plummeting Today" ส่วนสรุปข่าวช่วงค่ำ (17:12 ET) และบทความที่ตามมาอีกสี่นาทีต่อมา (17:16 ET) ต่างระบุว่าการพุ่งขึ้นของ META สัมพันธ์กับรายงานแผนการขายทรัพยากร AI compute ส่วนเกินในรูปแบบธุรกิจ cloud นี่คือการนำเสนอของสำนักข่าว ไม่ใช่ข้อเท็จจริงที่พบในข้อมูลดิบ และบทความ 12 จากผู้เผยแพร่สองแห่งถือเป็นเพียงข้อมูลที่ฟีดเดียวให้ความสนใจ ไม่ใช่ภาพรวมของตลาดทั้งหมด
ปริมาณการซื้อขายหลัก
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-01 13:30:00' AND window_start < '2026-07-01 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-01 13:30:00' AND window_start < '2026-07-01 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 นำตลาดด้วยมูลค่า $42.94 billion ตามมาด้วย SPY ที่ $27.76 billion และ META อยู่ในอันดับที่สี่ด้วยมูลค่า $22.72 billion ซึ่งหุ้นที่ราคาลดลงมีปริมาณการซื้อขายมากกว่ากองทุนดัชนีถึงหนึ่งเท่าครึ่ง การเคลื่อนไหวที่รุนแรงที่สุดปรากฏในหุ้นที่มีชื่อเสียงที่สุดในวันนั้น กระดานซื้อขายแสดงภาพที่ผันผวนตามปกติ โดย SOXS ซึ่งเป็น ETF แบบ 3x-inverse semiconductor มีปริมาณการซื้อขายสูงสุดที่ 553.1 million shares ซึ่งเป็นช่วงที่มีการซื้อขายหนาแน่นที่สุดในวันที่กลุ่มชิปราคาดิ่งลง ในขณะที่หุ้นราคาต่ำปิดท้ายด้วยปริมาณการซื้อขาย 189.8 million shares คิดเป็นมูลค่า $319 million (ปริมาณการซื้อขายสัมพัทธ์ ระบุถึงประเด็นนี้โดยเฉพาะ) ข้อมูลอ้างอิง: เวลาทำการปกติของวันที่ 1 กรกฎาคม โดยไม่รวมรายการที่ใช้สัญลักษณ์ซ้ำ (รายการสรุป)
ตลาดออปชัน
SQL เบื้องหลังตัวเลขแต่ละตัว
WITH
(
SELECT (any(underlying_symbol), any(toFloat64(strike_price)), any(option_type),
sum(size), round(avg(toFloat64(price)), 3),
any(if(substring(ticker, length(ticker) - 14, 6) = '260701', 1, 0)))
FROM global_markets.options_trades
WHERE sip_timestamp >= '2026-07-01 00:00:00' AND sip_timestamp < '2026-07-02 00:00:00'
GROUP BY ticker
ORDER BY sum(size) DESC, ticker ASC
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-01 13:30:00' AND window_start < '2026-07-01 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(sumIf(toFloat64(size), option_type = 'P') / sumIf(toFloat64(size), option_type = 'C'), 2) AS put_call_ratio,
round(100.0 * sumIf(size, substring(ticker, length(ticker) - 14, 6) = '260701') / 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, underlying_symbol = 'SPY' AND option_type = 'P')) / 1e6, 2) AS spy_put_contracts_m,
round(100.0 * sumIf(size, underlying_symbol = 'SPY' AND option_type = 'P' AND toFloat64(strike_price) < spy_regular_close * 0.98)
/ sumIf(size, underlying_symbol = 'SPY' AND option_type = 'P'), 1) AS spy_puts_2pct_below_pct,
round(100.0 * sumIf(size, underlying_symbol = 'SPY' AND option_type = 'C' AND toFloat64(strike_price) > spy_regular_close * 1.02)
/ sumIf(size, underlying_symbol = 'SPY' AND option_type = 'C'), 1) AS spy_calls_2pct_above_pct,
round(sumIf(toFloat64(size), underlying_symbol = 'MU' AND option_type = 'P')
/ sumIf(toFloat64(size), underlying_symbol = 'MU' AND option_type = 'C'), 2) AS mu_put_call_ratio,
round(sumIf(toFloat64(size), underlying_symbol = 'META' AND option_type = 'P')
/ sumIf(toFloat64(size), underlying_symbol = 'META' AND option_type = 'C'), 2) AS meta_put_call_ratio,
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_volume,
reverse(arrayStringConcat(extractAll(reverse(toString(assumeNotNull(top_contract.4))), '\\d{1,3}'), ',')) AS top_contract_volume_fmt,
round(top_contract.5, 3) AS top_contract_avg_price,
top_contract.6 AS top_contract_is_same_day,
round(top_contract.2 - spy_regular_close, 2) AS top_strike_minus_spy_close,
spy_regular_close AS spy_close
FROM global_markets.options_trades
WHERE sip_timestamp >= '2026-07-01 00:00:00' AND sip_timestamp < '2026-07-02 00:00:00'มีการซื้อขายออปชันทั้งหมด 68.46 ล้านสัญญา จากรายการซื้อขาย 11.22 ล้านรายการ โดยเป็นสัญญา call คิดเป็น 58.6% ของปริมาณการซื้อขายทั้งหมด และเป็นสัญญาที่หมดอายุภายในวันเดียวกัน 33.5% ไม่มีใครทำ hedging ในดัชนี โดยมีอัตราส่วน put ต่อ call ทั่วทั้งตลาดอยู่ที่ 0.71 และในจำนวน put 5.76 ล้านสัญญาของ SPY มีเพียง 11.6% เท่านั้นที่มีราคาใช้สิทธิ (strike price) ต่ำกว่าราคาปิด ณ 745.69 เกินกว่าสองเปอร์เซ็นต์ ซึ่งเป็นราคาใช้สิทธิในระดับต่ำมากที่จะได้รับผลตอบแทนเมื่อเกิดตลาดขาลงอย่างรุนแรง ความเบี่ยงเบน (skew) ปรากฏในหุ้นรายตัว โดย puts ของ Micron มีจำนวนมากกว่า calls (1.11 ต่อ call) ในขณะที่ calls ของ META มีจำนวนมากกว่า puts ในสัดส่วนมากกว่าสองต่อหนึ่ง (0.39) สัญญาที่มีการซื้อขายมากที่สุดคือ SPY call ที่ราคา $748 ซึ่งหมดอายุภายในวัน โดยมีปริมาณ 878,947 สัญญา ที่ราคาเฉลี่ย $0.707 และมีสถานะ out of the money อยู่ที่ 2.31 ดอลลาร์ เช่นเดียวกับวันอังคาร ไม่มีการซื้อขายสัญญาที่หมดอายุวันที่ 3 กรกฎาคม ตลอดทั้งวัน (0 รายการ เนื่องจากวันศุกร์ดังกล่าวเป็นวันหยุด) ส่วนสัญญา weekly ของวันพฤหัสบดีมีปริมาณการซื้อขาย 14.43 ล้านสัญญา
อัตราผลตอบแทน: ปรับตัวขึ้นในระยะยาว และลดลงในระยะสั้น
อัตราผลตอบแทนคือราคาปิดรายวันเมื่อเทียบกับวันที่ 30 มิถุนายน
SQL เบื้องหลังตัวเลขแต่ละตัว
SELECT
t.1 AS curve_point,
round(t.2, 2) AS jul1_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-01') AS d,
(SELECT * FROM global_markets.treasury_yields WHERE date = '2026-06-30') AS p
)อัตราผลตอบแทนพันธบัตรอายุ 10 ปี เพิ่มขึ้น 4 bp เป็น 4.48% และอายุ 30 ปี เพิ่มขึ้น 6 bp ในขณะที่ตั๋วเงินอายุ 1 เดือน ปรับตัวลดลง -3 bp โดยอัตราผลตอบแทนระยะกลางและระยะยาวปรับตัวขึ้น ส่วนระยะสั้นปรับตัวลง ส่วนต่าง 2s10s ปิดที่ 0.31 percentage points ซึ่งไม่มีส่วนใดที่สอดคล้องกับการกระจายตัวของหุ้น (equity dispersion)
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-01'
) 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-01'
)
WHERE t != 'SPCX'
GROUP BY t
)
) AS top_news
SELECT
(SELECT count() FROM global_markets.stocks_dividends WHERE ex_dividend_date = '2026-07-01') AS ex_dividend_records,
(SELECT countIf(frequency = 12) FROM global_markets.stocks_dividends WHERE ex_dividend_date = '2026-07-01') AS monthly_payers,
(SELECT countIf(frequency = 4) FROM global_markets.stocks_dividends WHERE ex_dividend_date = '2026-07-01') AS quarterly_payers,
(SELECT round(100.0 * countIf(frequency = 12) / count(), 1) FROM global_markets.stocks_dividends WHERE ex_dividend_date = '2026-07-01') AS monthly_payer_pct,
(SELECT count() FROM global_markets.stocks_splits WHERE execution_date = '2026-07-01') AS splits_executed,
(SELECT count() FROM global_markets.stocks_ipos WHERE listing_date = '2026-07-01') AS ipos_listed,
(SELECT uniqExact(accession_number) FROM global_markets.stocks_sec_edgar_index WHERE filing_date = '2026-07-01') AS sec_filings,
(SELECT uniqExactIf(accession_number, form_type = '4') FROM global_markets.stocks_sec_edgar_index WHERE filing_date = '2026-07-01') AS insider_form4_filings,
(SELECT uniqExactIf(accession_number, form_type = '8-K') FROM global_markets.stocks_sec_edgar_index WHERE filing_date = '2026-07-01') 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-01' 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_articlesThe quarter turn crested here: 745 dividend records went ex-dividend — the wave the June recap watched building — alongside 9 splits and 3 listings (BSP — Bending Spoons S.p.A.; ITG — ITG Inc.; LIME — Neutron Holdings Inc.). The filing feed revived: 4282 filings, 1072 of them Form 4s and 248 8-Ks, after June 30's near-empty index day (the month-end gap note). Our feed carried 201 articles, most-covered MSFT at 16.
But a count says nothing about who was paying. Ranked by the money that traded in them, the board is not corporate at all:
SQL เบื้องหลังตัวเลขแต่ละตัว
WITH divs AS (
SELECT ticker, max(toFloat64(cash_amount)) AS cash, max(frequency) AS freq
FROM global_markets.stocks_dividends
WHERE ex_dividend_date = '2026-07-01' AND distribution_type = 'recurring'
GROUP BY ticker
),
tape AS (
SELECT ticker,
sum(toFloat64(close) * toFloat64(volume)) AS dollar_volume,
toFloat64(argMax(close, (window_start, close))) AS day_close
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'
AND ticker NOT IN ('SPCX')
GROUP BY ticker
)
SELECT
d.ticker AS ticker,
round(d.cash, 4) AS cash_per_share,
d.freq AS payments_per_year,
round(t.day_close, 2) AS day_close,
round(100 * d.cash / t.day_close, 2) AS pct_of_price,
round(100 * d.cash * d.freq / t.day_close, 2) AS annualized_yield_pct,
round(t.dollar_volume / 1e9, 2) AS day_dollar_bn
FROM divs d JOIN tape t ON d.ticker = t.ticker
WHERE t.dollar_volume > 0 AND d.cash > 0
ORDER BY t.dollar_volume DESC
LIMIT 8Every one of the eight busiest ex-dividend tickers is a fund paying 12 times a year: SGOV, a Treasury-bill fund, went ex on $0.2958 a share (0.29% of price, 3.54% annualized) on $3.5 billion traded; HYG, a high-yield bond fund, on $0.3688. That is a first-of-month wave: 572 of the day's 745 records (76.8%) are monthly payers — funds distributing interest — against 123 quarterly payers. The ex-date drop is mechanical, not a loss.
วันแรกของไตรมาสเป็นวันธรรมดาบ้างหรือไม่?
ภาพจำที่คนส่วนใหญ่มีคือ เมื่อเริ่มไตรมาสใหม่ ย่อมมีเม็ดเงินใหม่และการจัดสรรสินทรัพย์ใหม่เข้ามา แต่ข้อมูลในฐานข้อมูลกลับไม่เป็นเช่นนั้น
SQL เบื้องหลังตัวเลขแต่ละตัว
SELECT
count() AS quarter_opens_measured,
round(quantileExact(0.5)(oc_pct), 2) AS median_quarter_open_pct,
countIf(oc_pct > 0) AS quarter_opens_green,
countIf(oc_pct <= 0) AS quarter_opens_red,
round(anyIf(oc_pct, first_day = toDate('2026-07-01')), 2) AS jul1_oc_pct,
arrayCount(x -> x < anyIf(oc_pct, first_day = toDate('2026-07-01')), groupArrayIf(oc_pct, first_day != toDate('2026-07-01'))) + 1 AS jul1_rank_worst_to_best,
round(min(oc_pct), 2) AS worst_quarter_open_pct,
round(max(oc_pct), 2) AS best_quarter_open_pct,
concat(monthName(min(first_day)), ' ', toString(toYear(min(first_day)))) AS first_measured
FROM (
SELECT f.first_day AS first_day, d.oc_pct AS oc_pct
FROM (
SELECT toStartOfQuarter(d) AS q, min(d) AS first_day
FROM (
SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS d
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY'
AND window_start >= toDateTime('2004-01-01 00:00:00')
AND window_start < toDateTime('2026-07-02 00:00:00')
AND (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199
GROUP BY d
)
GROUP BY q
) f
INNER JOIN (
SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS d,
(argMax(toFloat64(close), (window_start, close)) / argMin(toFloat64(open), (window_start, open)) - 1) * 100 AS oc_pct
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY'
AND window_start >= toDateTime('2004-01-01 00:00:00')
AND window_start < toDateTime('2026-07-02 00:00:00')
AND (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199
GROUP BY d
) d ON d.d = f.first_day
)จากการตรวจสอบเซสชันเปิดตลาดวันแรกของไตรมาสจำนวน 91 ครั้ง ตั้งแต่ January 2004 พบว่าค่ามัธยฐานของการเคลื่อนที่ของ SPY จากราคาเปิดถึงราคาปิดในวันแรกของไตรมาสคือ 0.01% โดยมีจำนวนวันที่เป็นบวก 46 วัน และเป็นลบ 45 วัน ครอบคลุมช่วงเวลาตั้งแต่ -2.28% ถึง 3.18% ซึ่งเปรียบเสมือนการโยนเหรียญที่มีความคลาดเคลื่อนเพียงเล็กน้อยเท่านั้น สำหรับวันที่ 1 กรกฎาคม บันทึกค่าไว้ที่ 0.09% ซึ่งอยู่ในอันดับที่ 50 จากทั้งหมด 91 (เรียงจากแย่ที่สุดไปดีที่สุด) หรือกล่าวคืออยู่ตรงจุดกึ่งกลางพอดี เกณฑ์การวัด: การเคลื่อนที่จากราคาเปิดถึงราคาปิดในช่วงเวลาทำการปกติของ SPY ในเซสชันแรกของทุกไตรมาสที่มีในฐานข้อมูล
บทสรุปของวันนี้สำหรับผู้อ่าน
ดัชนีเคลื่อนที่ 0.09%; กลุ่มหุ้นหลักแปดตัวมีช่วงการเคลื่อนที่ตั้งแต่ -10.45% ถึง 8.88%; ราคาประกันภัย (protection) แทบไม่มีการปรับเปลี่ยน ดัชนีคำนวณจากผลรวมของตลาดที่มีความกระจุกตัวสูง โดยผลขาดทุนในบางกลุ่มอุตสาหกรรมจะถูกหักล้างด้วยกำไรใน 7 ของกลุ่มอื่นๆ ที่เหลือใน 11 การพิจารณาเพียงระดับดัชนีจะไม่เห็นความผิดปกติใดๆ แต่หากพิจารณาในระดับสถานะการลงทุน จะพบว่ามูลค่าการถือครองหายไปถึงหนึ่งในสิบภายในวันเดียว
การตรวจสอบข้อมูลการซื้อขาย
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-01 13:30:00' AND window_start < '2026-07-01 20:00:00') AS regular_session_bars,
uniqExactIf(toDate(toTimeZone(window_start, 'America/New_York')), window_start >= '2026-07-01 13:30:00' AND window_start < '2026-07-01 20:00:00') AS day_sessions,
(SELECT count() FROM global_markets.stocks_market_holidays WHERE date = '2026-07-01') AS jul1_holiday_rows
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY' AND window_start >= '2026-07-01 00:00:00' AND window_start < '2026-07-02 00:00:00'แท่งราคาของ SPY เริ่มต้นตั้งแต่ 04:00 ถึง 19:59 ตามเวลา New York โดยมีแท่งราคาในช่วงเวลาปกติ 390 และแถวสำหรับวันหยุด 0 ในวันที่ระบุ ซึ่งเป็นข้อมูลการซื้อขายที่สมบูรณ์และได้รับการตรวจสอบจาก tape แล้ว
คำถามที่พบบ่อย
ตลาดหุ้นปรับตัวขึ้นหรือลงในวันที่ 1 กรกฎาคม 2026?
ขึ้นอยู่กับดัชนีที่พิจารณา โดย SPY ปิดที่ -0.08%, DIA ปิดที่ 0.02% และ QQQ ปิดที่ -1.44%; หุ้นที่มีสภาพคล่องสูงกลุ่ม 3465 ปรับตัวลดลงสวนทางกับกลุ่ม 2928 ที่ปรับตัวขึ้น อย่างไรก็ตาม กองทุนกลุ่มเซกเตอร์ 7 ของ 11 ปิดตลาดในแดนบวก โดยมีกลุ่มเทคโนโลยีเป็นข้อยกเว้น
ทำไม Micron, SanDisk, Western Digital และ Seagate จึงปรับตัวลดลงพร้อมกันในวันที่ 1 กรกฎาคม 2026?
ข้อมูลนี้แสดงถึงการเคลื่อนไหวในทิศทางเดียวกัน ไม่ใช่การระบุสาเหตุ โดยทั้งสี่บริษัทปรับตัวลดลงระหว่าง -5.11% ถึง -10.45% ทั้งนี้ บทความของ The Motley Fool ที่เผยแพร่ในวันเดียวกันเกี่ยวกับ Micron (ในแผงข่าวในหน้านี้ เวลา 14:11 ET) ใช้หัวข้อข่าวว่า "Why Micron Stock Is Plummeting Today" ซึ่งเป็นการนำเสนอข้อมูลของสำนักข่าวดังกล่าว ไม่ใช่ข้อสรุปจากข้อมูลราคาตลาด
ทำไม META จึงปรับตัวขึ้นในวันที่ 1 กรกฎาคม 2026?
META ปิดตลาดสูงขึ้น 8.88% โดยมีจุดต่ำสุดอยู่ที่แท่งราคาเปิด การรายงานของ The Motley Fool ระบุว่าการเคลื่อนไหวนี้เกิดจากรายงานที่ว่าบริษัทมีแผนจะขายกำลังการประมวลผล AI ส่วนเกินในรูปแบบธุรกิจคลาวด์ ซึ่งเป็นการระบุสาเหตุโดยสำนักข่าว ไม่ใช่โดยเรา
วันทำการแรกของไตรมาสโดยปกติเป็นวันที่ตลาดปรับตัวขึ้นอย่างรุนแรงหรือไม่?
ไม่มีนัยสำคัญทางสถิติ จากการเปิดตลาดต้นไตรมาสจำนวน 91 ครั้งตั้งแต่ January 2004 ค่ามัธยฐานของการเคลื่อนไหวจากราคาเปิดไปปิดของ SPY อยู่ที่ 0.01% โดยแบ่งเป็นตลาดขาขึ้น 46 และตลาดขาลง 45 ซึ่งมีลักษณะเหมือนการโยนเหรียญ และวันที่ 1 กรกฎาคม มีผลลัพธ์อยู่ในระดับค่ากลาง
ตลาดออปชันมีการป้องกันความเสี่ยง (hedging) จากแรงเทขายในวันที่ 1 กรกฎาคม 2026 หรือไม่?
ไม่ได้เกิดขึ้นในระดับดัชนี โดยมีสัดส่วน put ต่อ call อยู่ที่ 0.71 ทั่วทั้งตลาด และมีเพียง 11.6% ของปริมาณการซื้อขาย put ของ SPY ที่มีราคาต่ำกว่าราคาปิดมากกว่าสองเปอร์เซ็นต์
หมายเหตุข้อมูล
- Dollar volume คือค่าประมาณต่อนาที — คำนวณจากราคาปิดคูณด้วยปริมาณการซื้อขายรวมในแต่ละแท่งเวลา (minute bar) เฉพาะในช่วงเวลาทำการปกติ ค่าสูงสุดและต่ำสุดที่แสดงได้รับการตรวจสอบเทียบกับแท่งเวลาข้างเคียง หากมีค่าเท่ากันจะใช้ค่าที่เกิดขึ้นก่อน
- ไม่มีดัชนี VIX spot ในที่นี้ — แผงแสดงความผันผวนใช้ข้อมูลจากกองทุน VIX-futures ที่จดทะเบียน ซึ่งมีการถือครองและ Roll สัญญา futures — ข้อมูลนี้มีความเกี่ยวข้องกับดัชนี แต่ไม่ใช่ค่าเดียวกัน
- จุดสูงสุด/ต่ำสุดใหม่รายไตรมาส — เปรียบเทียบค่าสูงสุดและต่ำสุดในช่วงเวลาทำการปกติของวันที่ 1 กรกฎาคม กับช่วงราคาของแต่ละหลักทรัพย์ระหว่างวันที่ 1 เมษายน ถึง 30 มิถุนายน สำหรับหลักทรัพย์ที่มีสภาพคล่องสูงและมีข้อมูลครบทั้งไตรมาส โดยค่าที่ลดลงจะแสดงอยู่ในแผงข้อมูล
- แผงข้อมูลกลุ่มอุตสาหกรรมคือตะกร้าที่คัดสรรมาแล้ว (ประกอบด้วย SPDR ETFs สิบเอ็ดรายการ ไม่ใช่ฟิลด์จากผู้ให้บริการข้อมูล); แผงข่าวคือฟีดที่ได้รับอนุญาตหนึ่งรายการ (บทความ 12 จากผู้ให้บริการสองราย); รายการที่มีการใช้สัญลักษณ์ซ้ำหนึ่งรายการถูกยกเว้นจากตารางผู้นำ (รายการรับของมัน)
ระเบียบวิธีวิจัย
- ใช้ข้อมูลหนึ่งรอบการซื้อขาย (1 session โดยตรวจสอบจากแท่งเทียนที่ปรากฏและตารางวันหยุด — ไม่มีการใช้การคาดการณ์) ข้อมูลเวลาถูกจัดเก็บในรูปแบบ UTC และแปลงเป็นเวลาของ New York ภายในคำสั่งสืบค้น; "close" คือราคาปิดของแท่งนาทีสุดท้ายในรอบการซื้อขายปกติ โดยการเปลี่ยนวันจะอ้างอิงตามวันที่ 30 มิถุนายน
- ตัวเลขทศนิยมจะถูกแปลงเป็น 64-bit floats ก่อนการคำนวณอัตราส่วน; วันหมดอายุของ option จะถูกประมวลผลใหม่จาก ticker ของ OCC แผงข้อมูล (Panels) จะถูกรันเพียงครั้งเดียวในขณะจัดทำข้อมูลผ่านช่องทางอ่านอย่างเดียว (read-only path) ข้อมูลในคลังข้อมูล ณ วันที่ 13 กรกฎาคม 2026; ฉบับนี้มีการเพิ่มแผงข้อมูลกลุ่มอุตสาหกรรม, ความผันผวน, ข่าว, เงินปันผล และประวัติรายไตรมาส
แผงข้อมูลทุกชุดคือผลลัพธ์จากการสืบค้นข้อมูลที่จัดเก็บไว้ — ทั้งแผนภูมิ ตาราง และ SQL คือวัตถุเดียวกัน สามารถคัดลอกข้อมูลใดก็ได้ไปวางใน terminal ของ Strasmore ต่อไป: 2 กรกฎาคม; สัปดาห์นี้: สัปดาห์ที่มีวันหยุด