สรุปภาวะตลาดวันที่ 7 กรกฎาคม 2026
กลุ่ม semiconductor ปรับตัวลงรุนแรงส่งผลต่อดัชนี แต่ NVDA ยังคงปิดบวก ท่ามกลางสัดส่วนหุ้นขาลงต่อขาขึ้นที่สองต่อหนึ่ง และ SPY มีส่วนต่างแคบที่สุดในรอบหนึ่งเดือน
วันอังคารที่ 7 กรกฎาคม 2026 ราคาหุ้นปรับตัวลดลงจนสูญเสียกำไรที่ได้จาก การพุ่งขึ้นในช่วงเปิดตลาดเมื่อวันจันทร์ ไปจนหมดสิ้น โดย QQQ ปิดที่ -1.82% ซึ่งเป็นการลบกำไรจากวันจันทร์ไปมากกว่าเดิม เมื่อเทียบกับ DIA ที่ปิดที่ -0.29% ในขณะที่ทิศทางตลาดโดยรวมเป็นลบในอัตราส่วนสองต่อหนึ่ง โดยมีหุ้นที่ราคาลดลงจำนวน 4034 ตัว เทียบกับหุ้นที่ราคาเพิ่มขึ้นจำนวน 2091 ตัว ประเด็นสำคัญของวันคือการปรับตัวลงของกลุ่ม semiconductor ซึ่งมีมูลค่าสูงกว่าดัชนีหลายเท่าตัว โดยมีหุ้นยักษ์ใหญ่ในกลุ่มนี้หนึ่งตัวที่ไม่ได้รับผลกระทบ ข้อมูลตัวเลขทั้งหมดด้านล่างนี้มาจากการดึงข้อมูลจากฐานข้อมูล หากต้องการดูคำสั่ง SQL ที่แม่นยำสามารถกดขยายแถบข้อมูลได้
สรุปผลการดำเนินงาน
การเปรียบเทียบทุกการเปลี่ยนแปลงเป็นการเทียบระหว่างแท่งเวลาหนึ่งนาทีสุดท้ายของช่วงการซื้อขายปกติในวันที่ 7 กรกฎาคม กับวันที่ 13 กรกฎาคม ซึ่งเป็นวันจันทร์ — เป็นการเทียบระหว่างเซสชันการซื้อขายที่ต่อเนื่องกัน
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-06 13:30:00' AND window_start < '2026-07-06 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-07 13:30:00' AND window_start < '2026-07-07 20:00:00'
GROUP BY ticker
)
SELECT
s.ticker AS ticker,
round(toFloat64(p.prior_close), 2) AS prior_close,
round(toFloat64(s.day_open), 2) AS day_open,
round(toFloat64(s.day_close), 2) AS day_close,
round((toFloat64(s.day_open) / toFloat64(p.prior_close) - 1) * 100, 2) AS gap_pct,
round((toFloat64(s.day_close) / toFloat64(s.day_open) - 1) * 100, 2) AS intraday_pct,
round((toFloat64(s.day_close) / toFloat64(p.prior_close) - 1) * 100, 2) AS pct_change,
round(toFloat64(s.day_high), 2) AS day_high,
round(toFloat64(s.day_low), 2) AS day_low,
s.shares_traded_m AS shares_traded_m
FROM sess s
JOIN prior p ON s.ticker = p.ticker
ORDER BY s.ticker-1.82% ของ QQQ นำกลุ่ม ETF ดัชนีทั้งสี่ตัวให้ปรับตัวลดลง โดย SPY ปิดที่ -0.48%, IWM ที่ -0.9% และ -0.29% ของ DIA มีการเปลี่ยนแปลงน้อยที่สุด ส่วนความแตกต่างระหว่าง gap-versus-grind แสดงให้เห็นว่าทิศทางในช่วงเปิดตลาดมีความขัดแย้งกัน โดย gap ข้ามคืนของ QQQ อยู่ที่ -1.17% และการเคลื่อนที่แบบ grind จากราคาเปิดถึงราคาปิดอยู่ที่ -0.65% ซึ่งช่องว่างราคา (gap) เป็นสาเหตุหลักที่ทำให้ราคาลดลง ในขณะที่ DIA มี gap ขึ้น อยู่ที่ 0.47% แต่ยังคงปิดในแดนลบ โดยการเคลื่อนที่จากราคาเปิดถึงราคาปิดอยู่ที่ -0.76% ผู้นำตลาดมีการสลับหน้ากันในทุกเซสชันนับตั้งแต่ วันพฤหัสบดี: DIA เป็นผู้นำในวันพฤหัสบดี, QQQ เป็นผู้นำใน วันจันทร์ และ DIA กลับมาเป็นผู้นำอีกครั้งในวันอังคาร
วันนี้มีความผิดปกติหรือไม่?
SQL เบื้องหลังตัวเลขแต่ละตัว
SELECT
round(anyIf(cc_pct, ticker = 'QQQ' AND d = toDate('2026-07-07')), 2) AS qqq_close_over_close_pct,
arrayCount(x -> x > abs(anyIf(cc_pct, ticker = 'QQQ' AND d = toDate('2026-07-07'))), groupArrayIf(abs(cc_pct), ticker = 'QQQ' AND d != toDate('2026-07-07'))) + 1 AS qqq_abs_move_rank,
countIf(ticker = 'QQQ') AS qqq_sessions_compared,
round(anyIf(oc_pct, ticker = 'SPY' AND d = toDate('2026-07-07')), 2) AS spy_open_to_close_pct,
arrayCount(x -> x > abs(anyIf(oc_pct, ticker = 'SPY' AND d = toDate('2026-07-07'))), groupArrayIf(abs(oc_pct), ticker = 'SPY' AND d != toDate('2026-07-07'))) + 1 AS spy_abs_move_rank,
countIf(ticker = 'SPY') AS spy_sessions_compared,
toString(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-06-04 00:00:00')
AND window_start < toDateTime('2026-07-08 00:00:00')
AND (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199
GROUP BY ticker, d
)
)
WHERE isFinite(cc_pct)ในระดับดัชนีถือว่าไม่ผิดปกติ โดยการเคลื่อนที่จากราคาปิดถึงราคาปิดของ QQQ ในช่วง -1.82% อยู่ในลำดับที่ 9 ของ 21 เซสชันที่ผ่านมาเมื่อพิจารณาจากขนาดการเคลื่อนที่สัมบูรณ์ และการเคลื่อนที่จากราคาเปิดถึงราคาปิดของ SPY ที่ -0.34% อยู่ในลำดับที่ 15 ของ 21 ซึ่งเป็นช่วงหนึ่งเดือนที่ผ่านมาซึ่งรวมถึงความผันผวนอย่างรุนแรงในช่วงปลายเดือนมิถุนายน ทำให้เกณฑ์การเปรียบเทียบอยู่ในระดับสูง แต่ความแตกต่างของราคาหุ้นรายตัว (dispersion) คือสิ่งที่ทำให้วันที่ 7 กรกฎาคม มีความโดดเด่น
ความกว้างของตลาด: หุ้นขาลงมีจำนวนเป็นสองเท่าของหุ้นขาขึ้น
SQL เบื้องหลังตัวเลขแต่ละตัว
WITH per_ticker AS (
SELECT
ticker,
toFloat64(argMaxIf(close, window_start, window_start < '2026-07-07 00:00:00')) AS prior_close,
toFloat64(argMaxIf(close, window_start, window_start >= '2026-07-07 00:00:00')) AS day_close,
sumIf(toFloat64(close) * toFloat64(volume), window_start >= '2026-07-07 00:00:00') AS day_dollar_volume
FROM global_markets.delayed_stocks_minute_aggs
WHERE (window_start >= '2026-07-06 13:30:00' AND window_start < '2026-07-06 20:00:00')
OR (window_start >= '2026-07-07 13:30:00' AND window_start < '2026-07-07 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
FROM per_ticker
WHERE prior_close > 0 AND day_close > 0มีหุ้นที่ราคาเพิ่มขึ้น 2091 ตัว, หุ้นที่ราคาลดลง 4034 ตัว และหุ้นที่ราคาคงที่ 59 ตัว — โดยมีหุ้นที่ราคาเพิ่มขึ้นเพียง 33.8% ของปริมาณการซื้อขายทั้งหมด ซึ่งสวนทางกับ ทิศทางขาขึ้นเมื่อวันจันทร์ ตัวกรองนี้คัดเฉพาะหุ้นที่มีปริมาณการซื้อขายต่ำกว่า 1 ล้านดอลลาร์สหรัฐ จำนวน 5276 จากทั้งหมด 11460 ตัว ที่มีการซื้อขายต่อเนื่องสองวันติดต่อกันมาคำนวณในที่นี้
The chip complex broke — except its biggest names
The selling concentrated in semiconductors: the chipmakers, the equipment names that supply them, the storage complex around them, and the leveraged ETFs wrapped on top. Co-movement and magnitude reported below; the data does not say why.
SQL เบื้องหลังตัวเลขแต่ละตัว
WITH per_name AS (
SELECT
ticker,
toFloat64(argMaxIf(close, window_start, window_start < '2026-07-07 00:00:00')) AS prior_close,
toFloat64(argMaxIf(close, window_start, window_start >= '2026-07-07 00:00:00')) AS day_close,
maxIf(toFloat64(high), window_start >= '2026-07-07 00:00:00') AS day_high,
minIf(toFloat64(low), window_start >= '2026-07-07 00:00:00') AS day_low,
argMinIf(window_start, (toFloat64(low), toInt64(toUnixTimestamp(window_start))), window_start >= '2026-07-07 00:00:00') AS low_bar,
argMaxIf(window_start, (toFloat64(high), -toInt64(toUnixTimestamp(window_start))), window_start >= '2026-07-07 00:00:00') AS high_bar,
round(sumIf(toFloat64(close) * toFloat64(volume), window_start >= '2026-07-07 00:00:00') / 1e9, 2) AS day_dollar_bn
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker IN ('AMD', 'AVGO', 'INTC', 'KLAC', 'LRCX', 'MRVL', 'MU', 'NVDA', 'SNDK', 'SOXL', 'SOXS', 'STX', 'TER', 'WDC')
AND ((window_start >= '2026-07-06 13:30:00' AND window_start < '2026-07-06 20:00:00')
OR (window_start >= '2026-07-07 13:30:00' AND window_start < '2026-07-07 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(high_bar, 'America/New_York')) * 60 + toMinute(toTimeZone(high_bar, 'America/New_York')) AS high_minute_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 tickerTeradyne (-9.63%) and Intel (-9.59%) lost nearly a tenth of their value, with Marvell (-7.41%), KLA (-7.23%), Lam Research (-6.8%) and AMD (-6.41%) close behind. The memory-and-storage names that half-bounced on Monday rolled straight back over: SanDisk -7.1% across a 10.36% high-to-low range, Western Digital -7.81%, Seagate -4.84%, and MU -4.61% — MU turning over $41.6 billion of stock, more than the other three storage names combined (the MU deep-dive carries the backstory).
The sector's two giants sat it out: NVDA closed green at 0.67% and Broadcom finished near flat at -0.83% — a sector-wide red day, minus its largest members (NVDA's June deep-dive).
The timing was synchronized — one morning air pocket: TER, LRCX and MU printed their session lows at 10:41, 10:41 and 10:41 ET, with SanDisk, Marvell, KLA, AVGO and SOXL inside the same minutes (the panel carries each stamp), and SOXS, the 3x inverse semiconductor ETF, printed its session high at 10:42 — the stretch upside down. Intel kept falling long after the rest stabilized, its low arriving at 15:18. The leveraged wrappers translate the magnitude: SOXL -15.15% against SOXS +15.87%.
อีกด้านหนึ่งของตลาด
แม้ภาพรวมจะติดลบในอัตราส่วนสองต่อหนึ่ง แต่ยังมีกลุ่มที่ปรับตัวขึ้นในสัดส่วนหนึ่งในสาม โดยมีกลุ่มที่ราคาพุ่งขึ้นสวนทางกับกลุ่มชิป ดังนี้:
SQL เบื้องหลังตัวเลขแต่ละตัว
WITH per_name AS (
SELECT
ticker,
toFloat64(argMaxIf(close, window_start, window_start < '2026-07-07 00:00:00')) AS prior_close_raw,
toFloat64(argMinIf(open, window_start, window_start >= '2026-07-07 00:00:00')) AS day_open_raw,
toFloat64(argMaxIf(close, window_start, window_start >= '2026-07-07 00:00:00')) AS day_close_raw,
round(sumIf(toFloat64(close) * toFloat64(volume), window_start >= '2026-07-07 00:00:00') / 1e9, 2) AS day_dollar_bn
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker IN ('CRNX', 'CVX', 'JNJ', 'LLY', 'META', 'TSLA', 'UNH', 'XOM')
AND ((window_start >= '2026-07-06 13:30:00' AND window_start < '2026-07-06 20:00:00')
OR (window_start >= '2026-07-07 13:30:00' AND window_start < '2026-07-07 20:00:00'))
GROUP BY ticker
)
SELECT
ticker,
round(prior_close_raw, 2) AS prior_close,
round(day_open_raw, 2) AS day_open,
round(day_close_raw, 2) AS day_close,
round((day_open_raw / prior_close_raw - 1) * 100, 2) AS gap_pct,
round((day_close_raw / day_open_raw - 1) * 100, 2) AS intraday_pct,
round((day_close_raw / prior_close_raw - 1) * 100, 2) AS pct_chg,
day_dollar_bn
FROM per_name
ORDER BY tickerกลุ่มพลังงานและเฮลธ์แคร์เป็นปัจจัยหลักที่ผลักดันตลาดให้เป็นบวก ได้แก่ Exxon +3.78%, Chevron +3.47%, Johnson & Johnson +3.07%, Eli Lilly +2.75% และ UnitedHealth +2.41% สำหรับหุ้นขนาดใหญ่สองตัวในกลุ่มนี้มีทิศทางที่ต่างกัน โดย META ปรับตัวขึ้น +2.52% ในขณะที่ TSLA ปรับตัวลดลงเกือบเท่ากับ การพุ่งขึ้นเพียงทิศทางเดียวเมื่อวันจันทร์ โดยอยู่ที่ -4.02% และหุ้นที่มีการเคลื่อนไหวโดดเด่นที่สุดคือ Crinetics Pharmaceuticals (CRNX) ซึ่งปิดที่ +98.79% ด้วยมูลค่าการซื้อขาย $4.19 billion หรือเพิ่มขึ้นเกือบสองเท่า โดยการเคลื่อนไหวทั้งหมดเกิดขึ้นจากการกระโดดของราคาในช่วงข้ามคืน (98.91% เมื่อเปิดตลาด และช่วงการซื้อขายปกติขยับเพียง -0.06%) ซึ่งเป็นการปรับราคาในช่วงระหว่างเซสชันที่มักเกิดขึ้นใน ตลาดช่วง pre-market ทั้งนี้ข้อมูลไม่ได้ระบุสาเหตุของการเคลื่อนไหวดังกล่าว
สรุปปริมาณการซื้อขาย
SQL เบื้องหลังตัวเลขแต่ละตัว
SELECT leaderboard, ticker, dollar_volume_bn, 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(volume)) / 1e6, 1) AS shares_m
FROM global_markets.delayed_stocks_minute_aggs
WHERE window_start >= '2026-07-07 13:30:00' AND window_start < '2026-07-07 20:00:00'
AND ticker NOT IN ('SPCX')
GROUP BY ticker
ORDER BY dollar_volume_bn DESC
LIMIT 6
UNION ALL
SELECT
'by shares traded' AS leaderboard,
ticker,
round(sum(toFloat64(close) * toFloat64(volume)) / 1e9, 2) AS dollar_volume_bn,
round(sum(toFloat64(volume)) / 1e6, 1) AS shares_m
FROM global_markets.delayed_stocks_minute_aggs
WHERE window_start >= '2026-07-07 13:30:00' AND window_start < '2026-07-07 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 นำโด่งด้วยมูลค่า $41.6 billion — หลังจาก เสียตำแหน่งผู้นำไป เพียงหนึ่งเซสชัน ก็สามารถกลับมาครองอันดับหนึ่งได้อีกครั้ง — โดยมี SPY ($28.68 billion) และ QQQ ($26.54 billion) ตามมาเป็นอันดับรองลงมา พร้อมด้วยหุ้นกลุ่มเซมิคอนดักเตอร์อีกสามบริษัท ได้แก่ NVDA ($19.95 billion), SNDK ($19.73 billion) และ INTC ($13.82 billion) ซึ่งทำให้ครบหกอันดับแรก ปริมาณการซื้อขายที่กระจุกตัวในหุ้นรายตัวคือสิ่งที่ relative volume ระบุไว้
ในส่วนของปริมาณการซื้อขายหุ้น SOXS มีการซื้อขายทั้งหมด 566.3 million shares โดย ETF ที่ทำกำไรแบบ inverse 3 เท่าของกลุ่มเซมิคอนดักเตอร์ มีปริมาณการซื้อขายสูงสุดติดต่อกันเป็นวันที่สาม (วันจันทร์ และ วันพฤหัสบดี คือข้อมูลก่อนหน้า) ซึ่งครั้งนี้เกิดขึ้นในวันที่กลุ่มอุตสาหกรรมดังกล่าวมีการปรับตัวลง ส่วน CPOP เป็นตัวอย่างที่ตรงกันข้าม โดยมีการซื้อขาย 161.3 million shares คิดเป็นมูลค่าเพียง $0.02 billion ซึ่งแสดงให้เห็นว่าหุ้นที่มีราคาถูกจะมีปริมาณการซื้อขายที่เบาบางกว่า ข้อมูลอ้างอิง: เวลาทำการปกติ ณ วันที่ 7 กรกฎาคม; ไม่รวมรายการที่มีการใช้สัญลักษณ์ซ้ำซึ่งอยู่ระหว่างการตรวจสอบข้อมูลนิติบุคคล — ดูรายละเอียด
รูปแบบของตลาดในช่วงการซื้อขาย
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-07 13:30:00' AND window_start < '2026-07-07 20:00:00'
GROUP BY et_time
ORDER BY et_timeมีการซื้อขาย 2 พันล้านหุ้นในช่วงครึ่งชั่วโมงแรก โดยมีจุดต่ำสุดที่ 0.64 พันล้านหุ้น ณ เวลา 13:30 และมีปริมาณการซื้อขายอยู่ที่ 2.14 พันล้านหุ้นในช่วง 15:30 — ซึ่งเป็นรูปแบบ smile ทั่วไป โดยมีปริมาณการซื้อขายหนาแน่นที่สุดในช่วงปิดตลาด
ตลาดออปชัน
SQL เบื้องหลังตัวเลขแต่ละตัว
WITH
(
SELECT (groupArray(und), groupArray(strike), groupArray(typ), groupArray(vol), groupArray(avg_px), groupArray(is_0dte))
FROM (
SELECT any(underlying_symbol) AS und, any(toFloat64(strike_price)) AS strike, any(option_type) AS typ,
sum(size) AS vol, round(avg(toFloat64(price)), 3) AS avg_px,
if(substring(ticker, length(ticker) - 14, 6) = '260707', 1, 0) AS is_0dte
FROM global_markets.options_trades
WHERE sip_timestamp >= '2026-07-07 00:00:00' AND sip_timestamp < '2026-07-08 00:00:00'
GROUP BY ticker
ORDER BY vol DESC
LIMIT 2
)
) AS top2,
(
SELECT round(toFloat64(argMax(close, window_start)), 2)
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY' AND window_start >= '2026-07-07 13:30:00' AND window_start < '2026-07-07 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) = '260707') / sum(size), 1) AS same_day_expiry_pct,
round(toFloat64(sumIf(size, substring(ticker, length(ticker) - 14, 6) = '260707')) / 1e6, 2) AS same_day_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,
round(toFloat64(sumIf(size, underlying_symbol = 'INTC')) / 1e6, 2) AS intc_contracts_m,
top2.1[1] AS top_contract_underlying,
top2.2[1] AS top_contract_strike,
top2.3[1] AS top_contract_type,
if(top2.3[1] = 'C', 1, 0) AS top_contract_is_call,
top2.4[1] AS top_contract_volume,
top2.5[1] AS top_contract_avg_price,
round(top2.2[1] - spy_regular_close, 2) AS top_strike_minus_spy_close,
top2.1[2] AS second_contract_underlying,
top2.2[2] AS second_contract_strike,
top2.3[2] AS second_contract_type,
if(top2.3[2] = 'P', 1, 0) AS second_contract_is_put,
top2.4[2] AS second_contract_volume,
top2.5[2] AS second_contract_avg_price,
round(spy_regular_close - top2.2[2], 2) AS spy_close_minus_second_strike,
top2.6[1] + top2.6[2] AS both_top_contracts_same_day,
spy_regular_close AS spy_close
FROM global_markets.options_trades
WHERE sip_timestamp >= '2026-07-07 00:00:00' AND sip_timestamp < '2026-07-08 00:00:00'มีการซื้อขายออปชันรวมทั้งสิ้น 61.13 ล้านสัญญา จากรายการซื้อขายทั้งหมด 10.6 ล้านรายการ ซึ่งมีปริมาณใกล้เคียงกับ วันจันทร์ และสัญญาสิทธิซื้อ (calls) ยังคงมีสัดส่วนสูงถึง 55.6% ของปริมาณการซื้อขายทั้งหมดแม้จะเป็นวันที่ตลาดปิดลบ ออปชันที่หมดอายุภายในวันเดียวกันมีสัดส่วนเป็น 31.2% ของปริมาณการซื้อขายทั้งหมด (19.08 ล้านสัญญา) ซึ่งถือเป็น สัดส่วน 0DTE ของวันอังคารปกติ สัญญาที่มีการซื้อขายหนาแน่นที่สุดสองอันดับแรกของวันอยู่ใกล้กับราคาปิด โดยทั้งคู่เป็นสัญญาที่หมดอายุในวันเดียวกันที่ราคาใช้สิทธิ SPY ได้แก่ call ที่ราคา $749 (873438 สัญญา ที่ราคาเฉลี่ย $0.647) ปิดที่สถานะ out of the money จำนวน $1.34 และ put ที่ราคา $747 (785834 สัญญา ที่ราคา $0.88) ปิดที่สถานะ out of the money อีกด้านหนึ่งที่ $0.66 ราคาปิดของ SPY ที่ 747.66 อยู่ระหว่างการเดิมพันที่ใหญ่ที่สุดสองรายการของวัน และทั้งสองสัญญาหมดอายุโดยไม่มีมูลค่า
The quote tape
Under every price on this page sits the quote stream — the National Best Bid and Offer, re-quoted continuously across every listed name, the hardest dataset in this warehouse to come by. It gets measured here every session, ordinary or not.
SQL เบื้องหลังตัวเลขแต่ละตัว
SELECT
round(countIf(toDate(sip_timestamp) = toDate('2026-07-07')) / 1e6, 2) AS jul7_updates_m,
round(countIf(toDate(sip_timestamp) = toDate('2026-07-06')) / 1e6, 2) AS jul6_updates_m,
round((countIf(toDate(sip_timestamp) = toDate('2026-07-07')) / countIf(toDate(sip_timestamp) = toDate('2026-07-06')) - 1) * 100, 1) AS day_over_day_pct,
toHour(toTimeZone(maxIf(sip_timestamp, toDate(sip_timestamp) = toDate('2026-07-07')), 'America/New_York')) * 60
+ toMinute(toTimeZone(maxIf(sip_timestamp, toDate(sip_timestamp) = toDate('2026-07-07')), 'America/New_York')) AS jul7_last_quote_et_minute,
round(countIf(sip_timestamp >= '2026-07-07 19:00:00' AND sip_timestamp < '2026-07-07 20:00:00') / 1e6, 2) AS jul7_close_hour_updates_m
FROM global_markets.cache_stocks_quotes
WHERE sip_timestamp >= '2026-07-06 00:00:00' AND sip_timestamp < '2026-07-08 00:00:00'The equity tape carried 492.76 million NBBO updates on July 7 — 25.7% more than Monday's 391.96 million. More re-quoting, not wider quoting:
SQL เบื้องหลังตัวเลขแต่ละตัว
SELECT
ticker,
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-07-07 14:36:00' AND sip_timestamp < '2026-07-07 14:48:00'), 2) AS pocket_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-07-07 17:30:00' AND sip_timestamp < '2026-07-07 17:42: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-07-07 14:36:00' AND sip_timestamp < '2026-07-07 14:48: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-07-07 17:30:00' AND sip_timestamp < '2026-07-07 17:42:00'), 2) AS spread_delta_bps,
round(countIf(sip_timestamp >= '2026-07-07 14:36:00' AND sip_timestamp < '2026-07-07 14:48:00') / 1e3, 1) AS pocket_updates_k,
round(countIf(sip_timestamp >= '2026-07-07 17:30:00' AND sip_timestamp < '2026-07-07 17:42:00') / 1e3, 1) AS midday_updates_k,
round(countIf(sip_timestamp >= '2026-07-07 14:36:00' AND sip_timestamp < '2026-07-07 14:48:00') / countIf(sip_timestamp >= '2026-07-07 17:30:00' AND sip_timestamp < '2026-07-07 17:42:00'), 1) AS quote_rate_ratio,
round(count() / 1e6, 2) AS session_updates_m,
countIf(bid_price <= 0 OR ask_price <= 0 OR bid_price > ask_price) AS dropped_invalid_quotes
FROM global_markets.cache_stocks_quotes
WHERE ticker IN ('AMD', 'INTC', 'MU', 'NVDA', 'QQQ', 'SNDK', 'SOXL', 'SOXS', 'SPY', 'WDC')
AND sip_timestamp >= '2026-07-07 13:30:00' AND sip_timestamp < '2026-07-07 20:00:00'
GROUP BY ticker
ORDER BY tickerAt the morning lows the checked names re-quoted at multiples of their midday pace — MU 3.4x, SanDisk 4.1x, AMD 4.6x — and the bid-ask spread barely moved: MU's median width was 5.02 bps in the pocket against 4.81 midday, NVDA's 1.04 against 1.01, and SPY's did not move at all (0 bps change on a 0.27 bps touch). The two names that paid a real width penalty were AMD (+2.6 bps) and Intel (+0.95) — Intel the one name that kept falling after the pocket — while the leveraged pair actually tightened at the bottom (SOXL -2.59 bps, SOXS -1.49). A liquidity vacuum looks like wide quotes and silence; this was the opposite — a quote storm with the touch pinned. Crossing costs stayed name-dependent all the same: SOXS quoted 19.59 bps wide at the bottom against NVDA's 1.04.
SQL เบื้องหลังตัวเลขแต่ละตัว
SELECT
round(anyIf(avg_spread_cents, d = toDate('2026-07-07')), 3) AS jul7_avg_spread_cents,
arrayCount(x -> x < anyIf(avg_spread_cents, d = toDate('2026-07-07')), groupArrayIf(avg_spread_cents, d != toDate('2026-07-07'))) + 1 AS tightness_rank,
count() AS sessions_compared,
round(min(avg_spread_cents), 3) AS tightest_session_cents,
round(max(avg_spread_cents), 3) AS widest_session_cents,
toString(min(d)) AS first_session,
sum(dropped_invalid) AS dropped_invalid_quotes
FROM (
SELECT toDate(toTimeZone(sip_timestamp, 'America/New_York')) AS d,
avgIf(toFloat64(ask_price - bid_price), bid_price > 0 AND ask_price >= bid_price) * 100 AS avg_spread_cents,
countIf(NOT (bid_price > 0 AND ask_price >= bid_price)) AS dropped_invalid
FROM global_markets.cache_stocks_quotes
WHERE ticker = 'SPY'
AND sip_timestamp >= toDateTime('2026-06-05 00:00:00')
AND sip_timestamp < toDateTime('2026-07-08 00:00:00')
AND (toHour(sip_timestamp) * 60 + toMinute(sip_timestamp)) BETWEEN 810 AND 1199
GROUP BY d
)And the ordinary-check this section runs every session: by update-weighted average quoted spread, July 7 was SPY's tightest session of the trailing month — 1.809 cents, rank 1 of 21, against a month that reached 2.865 cents at its widest. A two-to-one red tape priced at the month's tightest index touch is a fact only the quote stream can settle.
SQL เบื้องหลังตัวเลขแต่ละตัว
WITH
(
SELECT count()
FROM global_markets.cache_options_quotes
WHERE toYYYYMMDD(sip_timestamp) = 20260707
) AS jul7_option_rows,
(
SELECT count()
FROM global_markets.cache_options_quotes
WHERE toYYYYMMDD(sip_timestamp) = 20260706
) AS jul6_option_rows,
(
SELECT count()
FROM global_markets.cache_stocks_quotes
WHERE toYYYYMMDD(sip_timestamp) = 20260707
) AS jul7_stock_quote_rows
SELECT
jul7_option_rows AS jul7_option_quote_rows,
round(jul7_option_rows / 1e9, 2) AS jul7_option_quote_updates_bn,
round(jul6_option_rows / 1e9, 2) AS jul6_option_quote_updates_bn,
round((jul7_option_rows / jul6_option_rows - 1) * 100, 1) AS day_over_day_pct,
round(jul7_stock_quote_rows / 1e6, 2) AS jul7_stock_quote_updates_m,
round(jul7_option_rows / jul7_stock_quote_rows, 1) AS jul7_option_to_stock_ratioThe options quote stream is larger still, and it is the biggest dataset in this warehouse. July 7 carried 8.69 billion option NBBO updates, 17.6 times the size of the same session's entire stock-quote tape (492.76 million updates). Monday's options tape held 6.49 billion, so the option stream expanded 34% session over session, alongside the equity stream's 25.7%.
SQL เบื้องหลังตัวเลขแต่ละตัว
WITH
(
SELECT count()
FROM global_markets.cache_stocks_quotes
WHERE toYYYYMMDD(sip_timestamp) = 20260707
) AS jul7_stock_quote_rows,
(
SELECT round(toFloat64(avg(close)), 2)
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY'
AND window_start >= '2026-07-07 14:36:00' AND window_start < '2026-07-07 14:48:00'
) AS spy_pocket_price,
(
SELECT round(toFloat64(avg(close)), 2)
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY'
AND window_start >= '2026-07-07 17:30:00' AND window_start < '2026-07-07 17:42:00'
) AS spy_midday_price
SELECT
round(count() / 1e6, 2) AS spy_option_updates_m,
round(100.0 * count() / jul7_stock_quote_rows, 1) AS pct_of_whole_equity_quote_tape,
uniqExact(ticker) AS spy_contracts_quoted,
round(countIf(substring(ticker, -15, 6) = '260707') / 1e6, 2) AS same_day_updates_m,
spy_pocket_price AS spy_price_in_pocket,
spy_midday_price AS spy_price_midday,
round(quantileExactIf(0.5)(toFloat64(ask_price - bid_price),
bid_price > 0 AND ask_price >= bid_price
AND substring(ticker, -15, 6) = '260707'
AND abs(toFloat64(toUInt32OrZero(substring(ticker, -8))) / 1000 - spy_pocket_price) <= 2
AND sip_timestamp >= '2026-07-07 14:36:00' AND sip_timestamp < '2026-07-07 14:48:00'), 3) AS pocket_atm_spread_dollars,
round(quantileExactIf(0.5)(toFloat64(ask_price - bid_price),
bid_price > 0 AND ask_price >= bid_price
AND substring(ticker, -15, 6) = '260707'
AND abs(toFloat64(toUInt32OrZero(substring(ticker, -8))) / 1000 - spy_midday_price) <= 2
AND sip_timestamp >= '2026-07-07 17:30:00' AND sip_timestamp < '2026-07-07 17:42:00'), 3) AS midday_atm_spread_dollars,
round(pocket_atm_spread_dollars - midday_atm_spread_dollars, 3) AS atm_spread_delta_dollars,
round(countIf(substring(ticker, -15, 6) = '260707'
AND abs(toFloat64(toUInt32OrZero(substring(ticker, -8))) / 1000 - spy_pocket_price) <= 2
AND sip_timestamp >= '2026-07-07 14:36:00' AND sip_timestamp < '2026-07-07 14:48:00') / 1e3, 1) AS pocket_atm_updates_k,
round(countIf(substring(ticker, -15, 6) = '260707'
AND abs(toFloat64(toUInt32OrZero(substring(ticker, -8))) / 1000 - spy_midday_price) <= 2
AND sip_timestamp >= '2026-07-07 17:30:00' AND sip_timestamp < '2026-07-07 17:42:00') / 1e3, 1) AS midday_atm_updates_k,
round(pocket_atm_updates_k / midday_atm_updates_k, 1) AS atm_quote_rate_ratio,
countIf(NOT (bid_price > 0 AND ask_price >= bid_price)
AND substring(ticker, -15, 6) = '260707') AS dropped_invalid_same_day_quotes
FROM global_markets.cache_options_quotes
WHERE ticker >= 'O:SPY26' AND ticker < 'O:SPY27'
AND sip_timestamp >= '2026-07-07 13:30:00' AND sip_timestamp < '2026-07-07 20:00:00'
HAVING pocket_atm_updates_k > 0 AND midday_atm_updates_k > 0SPY's 2026-dated contracts alone took 327.55 million of those updates in regular hours, spread across 9116 listed contracts. That is 66.5% of what the entire equity market quoted the same day, from one underlying. The same-day expiries that carry the 0DTE tape account for 13.61 million of them.
Through the twelve minutes of the morning air pocket, the near-the-money same-day contracts quoted a median $0.01 wide, precisely what they quoted in the midday control ($0.01, a delta of 0). The quote rate across that same pair ran 3x: 191.1 thousand updates at the lows against 64 thousand at lunch. The option touch did what the stock touch did. It held its width while the quoting machinery ran hot. Near-the-money means a strike within $2 of SPY's average price in the same window, and the panel prints both prices (746 in the pocket, 749.08 midday).
Rates: the curve sold off with the growth tape
SQL เบื้องหลังตัวเลขแต่ละตัว
SELECT
t.1 AS curve_point,
round(t.2, 2) AS jul7_yield_pct,
round((t.2 - t.3) * 100) AS session_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-07') AS d,
(SELECT * FROM global_markets.treasury_yields WHERE date = '2026-07-06') AS p
)Treasuries sold off alongside the growth tape. The 1-year rose 11 basis points to 4.06%, the 10-year 7 to 4.55%, and the 30-year 6 to 5.05% — above the five-percent line. The 2s10s spread held at 0.36 percentage points (1 basis point of change): a mostly parallel move, not a reshaping.
ปฏิทินเหตุการณ์ประจำวัน
SQL เบื้องหลังตัวเลขแต่ละตัว
WITH
(
SELECT (count(), uniqExact(publisher))
FROM global_markets.stocks_news
WHERE toDate(toTimeZone(published_utc, 'America/New_York')) = '2026-07-07'
) AS news,
(
SELECT (argMax(t, n), max(n), max(n) - arraySort(x -> -x, groupArray(n))[2])
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-07'
)
WHERE t != 'SPCX'
GROUP BY t
)
) AS top_news
SELECT
(SELECT count() FROM global_markets.stocks_dividends WHERE ex_dividend_date = '2026-07-07') AS ex_dividend_records,
(SELECT count() FROM global_markets.stocks_splits WHERE execution_date = '2026-07-07') AS splits_executed,
(SELECT countIf(toFloat64(split_from) > toFloat64(split_to)) FROM global_markets.stocks_splits WHERE execution_date = '2026-07-07') AS reverse_splits,
(SELECT countIf(toFloat64(split_to) > toFloat64(split_from)) FROM global_markets.stocks_splits WHERE execution_date = '2026-07-07') AS forward_splits,
(SELECT count() FROM global_markets.stocks_ipos WHERE listing_date = '2026-07-07') AS ipos_listed,
(SELECT uniqExact(accession_number) FROM global_markets.stocks_sec_edgar_index WHERE filing_date = '2026-07-07') AS sec_filings,
(SELECT uniqExactIf(accession_number, form_type = '4') FROM global_markets.stocks_sec_edgar_index WHERE filing_date = '2026-07-07') AS insider_form4_filings,
(SELECT uniqExactIf(accession_number, form_type = '8-K') FROM global_markets.stocks_sec_edgar_index WHERE filing_date = '2026-07-07') AS filings_8k,
news.1 AS news_articles,
news.2 AS news_publishers,
top_news.1 AS most_covered_ticker,
if(top_news.1 = 'NVDA', 1, 0) AS most_covered_is_nvda,
top_news.2 AS most_covered_articles,
top_news.3 AS most_covered_lead_over_next,
(SELECT countIf(has(tickers, 'CRNX')) FROM global_markets.stocks_news
WHERE toDate(toTimeZone(published_utc, 'America/New_York')) = '2026-07-07') AS crnx_articles79 มีการประกาศ ขึ้นเครื่องหมาย ex-dividend และมีการดำเนินการแบ่งแยกหุ้น 7 โดยในจำนวนนั้น 5 เป็นการ รวมหุ้นแบบผกผัน ซึ่งเป็นการรวมหุ้นที่มีราคาต่ำกว่าหนึ่งดอลลาร์เพื่อให้เกิดตัวเลข "กำไร" หลักร้อยเปอร์เซ็นต์ที่ไม่ได้ปรับปรุงข้อมูล เทียบกับ 2 ที่เป็นแนวโน้มล่วงหน้า — และมีการจดทะเบียนหุ้นใหม่ 1 เข้าสู่ตลาด SEC index มีการบันทึกการยื่นเอกสาร 2433 ได้แก่ 463 Form 4 และ 173 8-Ks ข้อมูลข่าวสารของเรามีบทความ 215 รายการ จาก 3 สำนักพิมพ์ โดยชื่อที่มีการนำเสนอมากที่สุดคือ NVDA ด้วยจำนวน 17 บทความ ซึ่งมากกว่าชื่อถัดไปอยู่ 4 โดยชื่อดังกล่าวคือ NVDA ที่ปิดบวกสวนทางกับกลุ่มอุตสาหกรรมที่ปิดลบ ข้อมูลข่าวสารมีบทความเกี่ยวกับ CRNX จำนวน 0 บทความ ซึ่งเป็นหุ้นที่มีการปรับตัวขึ้นสูงสุดในตลาด — ซึ่งเป็นความสนใจเฉพาะในฟีดข่าวของเรา ไม่ใช่สื่อทั่วโลก
การยืนยันข้อมูลการซื้อขาย
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-07 13:30:00' AND window_start < '2026-07-07 20:00:00') AS regular_session_bars,
uniqExactIf(toDate(toTimeZone(window_start, 'America/New_York')), window_start >= '2026-07-07 13:30:00' AND window_start < '2026-07-07 20:00:00') AS day_sessions,
(SELECT count() FROM global_markets.stocks_market_holidays WHERE date = '2026-07-07') AS jul7_holiday_rows,
(SELECT toString(min(date)) FROM global_markets.stocks_market_holidays WHERE date > '2026-07-07' AND status = 'closed') AS next_closure_date,
(SELECT argMin(name, date) FROM global_markets.stocks_market_holidays WHERE date > '2026-07-07' AND status = 'closed') AS next_closure_name
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY' AND window_start >= '2026-07-07 00:00:00' AND window_start < '2026-07-08 00:00:00'วันที่ 7 กรกฎาคม เป็น การซื้อขายเต็มเวลา ไม่ใช่การปิดตลาดก่อนกำหนด: แท่งเทียนของ SPY เริ่มต้นตั้งแต่ 04:00 ถึง 19:59 ตามเวลา New York โดยมีจำนวนแท่งเทียนในช่วงเวลาปกติทั้งหมด 390 แท่ง และตารางวันหยุดมีข้อมูลจำนวน 0 แถวสำหรับวันที่ดังกล่าว การปิดตลาดตามกำหนดการถัดไปคือวันที่ Labor Day 2026-09-07
หมายเหตุข้อมูล
- Dollar volume คือค่าประมาณต่อนาที — คำนวณจากราคาปิดคูณด้วยปริมาณการซื้อขายที่รวมกันในแต่ละแท่งเวลา (minute bar) ในช่วงเวลาทำการปกติ
- การแบ่งส่วน gap-versus-grind วัดจากแท่งเวลาแรกของช่วงเวลาทำการปกติ (ราคาเปิด) เทียบกับราคาปิดสุดท้ายของช่วงเวลาทำการปกติก่อนหน้า ส่วนที่เหลือคือช่วงราคาเปิดถึงราคาปิดภายในวันที่ 7 กรกฎาคม
- การตรวจสอบจุดต่ำสุดในช่วงเช้าที่เกิดขึ้นพร้อมกัน (synchronized morning lows) ได้รับการตรวจสอบย้อนกลับกับแท่งเวลาข้างเคียง ณ เวลาที่เขียน — แต่ละจุดถูกตรวจสอบโดยใช้แท่งเวลาข้างเคียง ไม่ใช่เพียงแค่ราคาที่ปรากฏเพียงครั้งเดียว และไม่มีจุดใดที่เข้าข่ายความผิดปกติ ในกรณีที่มีราคาที่รุนแรงปรากฏขึ้นมากกว่าหนึ่งนาที แผงข้อมูลจะแสดงแท่งเวลาแรกที่เกิดเหตุการณ์นั้น (ใช้เกณฑ์การตัดสินแบบกำหนดตายตัว)
- รายการที่มีการใช้สัญลักษณ์ซ้ำกันหนึ่งรายการ ถูกคัดออกจากการจัดอันดับปริมาณการซื้อขายและส่วนการเรียกดูข่าวสาร เพื่อรอการตรวจสอบยืนยันนิติบุคคล โพสต์ของตนเองมีหลักฐานยืนยัน
- สถิติ Quoted-spread ไม่รวมราคาเสนอขายที่ไม่ถูกต้อง (ราคา NBBO ที่มีเพียงด้านเดียวหรือราคาตัดกัน) และแผงข้อมูล spread แต่ละชุดจะนับจำนวนรายการที่ถูกตัดออกในคอลัมน์ของตนเอง "Update-weighted average spread" คือค่าเฉลี่ยของความกว้างราคาเสนอขายจากการอัปเดต NBBO ที่ถูกต้องทั้งหมด โดยช่วงเวลาที่มีการซื้อขายหนาแน่นจะมีน้ำหนักมากกว่า นี่คือสถิติการเสนอราคา ไม่ใช่ต้นทุนต่อการซื้อขายหนึ่งครั้ง
- ราคาเสนอขายออปชันของวันที่ 7 กรกฎาคม เข้าสู่ระบบหลังจากโพสต์นี้เผยแพร่ครั้งแรก
cache_options_quotesมีความล่าช้าในการนำเข้าข้อมูลนานที่สุดในคลังข้อมูล ดังนั้นฉบับแรกจึงแสดงผลเป็นแถวว่าง (zero-row) ในส่วนของแผงข้อมูลราคาเสนอขายออปชัน ข้อมูลชุดนี้ได้รับการแก้ไขแล้ว โดยฉบับแก้ไขนี้แสดงข้อมูลการอัปเดตจำนวน 8.69 พันล้านรายการของเซสชันนั้น ส่วนข้อมูลราคาหุ้น (equity-quote tape) นั้นสมบูรณ์ตั้งแต่ต้น โดยการอัปเดตครั้งสุดท้ายของวันที่ 7 กรกฎาคม ปรากฏที่เวลา ET นาทีที่ 1199 โดยมีการอัปเดตจำนวน 77.13 ล้านรายการในช่วงชั่วโมงทำการปกติสุดท้าย (คอลัมน์การรับข้อมูลในแผงข้อมูล quote-tape) - ความกว้างของราคาเสนอขายออปชันวัดจากระดับ near the money ค่ามัธยฐานต่อการอัปเดตจากสัญญาที่จดทะเบียนทั้งหมดในวันเดียวกันคือสถิติแบบผสม: สัญญาที่ deep in-the-money จะมีราคาเสนอขายกว้างเป็นดอลลาร์ ในขณะที่สัญญาที่ far out-of-the-money จะมีราคาเสนอขายเป็นเซนต์ และข้อมูลแสดงว่าสัญญาใดมีการเสนอราคาใหม่ (re-quote) ตลอดช่วงเซสชัน การเปรียบเทียบ pocket-versus-midday จำกัดเฉพาะ strike price ที่อยู่ภายใน $2 ของราคาเฉลี่ยของ SPY ในแต่ละช่วงเวลา และราคาทั้งสองจะแสดงเป็นคอลัมน์ในแผงข้อมูล ราคาเสนอขายออปชันที่ไม่ถูกต้อง (ด้านเดียวหรือราคาตัดกัน) จะถูกนับรวมในแผงข้อมูลนั้นโดยไม่ถูกตัดออกเงียบๆ
- ข้อมูลพันธบัตร (treasury print) สำหรับวันที่ 7 กรกฎาคม เข้าสู่ระบบล่าช้ากว่าเซสชัน — ฉบับแรกแสดงผลแบบแจ้งความล่าช้า ข้อมูลเข้าสู่ระบบเมื่อวันที่ 8 กรกฎาคม และฉบับแก้ไขนี้แสดงเส้นอัตราผลตอบแทน (curve) ที่แท้จริง
ระเบียบวิธี
- ช่วงเวลาที่ใช้คือหนึ่งเซสชันการซื้อขาย (1 เซสชัน โดยตรวจสอบจากแท่งเทียนที่ปรากฏและปฏิทินวันหยุด ไม่ใช่การคาดการณ์) ข้อมูลเวลาถูกจัดเก็บในรูปแบบ UTC และแปลงเป็นเวลาของนิวยอร์กภายในคำสั่ง Query ค่า "Close" หมายถึงแท่งนาทีสุดท้ายของเซสชันปกติ การเปลี่ยนแปลงรายวันเป็นการเปรียบเทียบระหว่างวันที่ 7 กรกฎาคม กับวันที่ 6 กรกฎาคม ซึ่งเป็นเซสชันการซื้อขายที่ต่อเนื่องกัน
- คอลัมน์ทศนิยมจะถูกแปลงเป็น 64-bit floats ก่อนการคำนวณอัตราส่วน ส่วนวันหมดอายุของ option จะถูกประมวลผลใหม่จาก ticker ของ OCC (เนื่องจากคอลัมน์วันหมดอายุในตารางเดิมมีความผิดพลาด) แผงข้อมูลทั้งหมดจะถูกอ่านเพียงครั้งเดียวในขณะจัดทำข้อมูลผ่านช่องทางอ่านอย่างเดียว (read-only path) ข้อมูลในคลังข้อมูล ณ วันที่ 8 กรกฎาคม 2026
- ส่วนข้อมูล quote-tape ถูกเพิ่มเข้ามาในการปรับปรุงเมื่อวันที่ 8 กรกฎาคม (ซึ่งเป็นการปรับปรุงชุดเดียวกับที่เปลี่ยนจากการรับข้อมูล treasury lag receipt เป็น landed print) และแผงข้อมูล options-quote ได้ถูกเขียนใหม่หลังจากข้อมูล option NBBO ของวันที่ 7 กรกฎาคม ปรากฏขึ้น การสร้างข้อมูลถูกออกแบบมาให้เป็นงานแบบ batch: แผงข้อมูล SPY option-quote จะสแกนข้อมูล NBBO หลายร้อยล้านรายการ ในขณะที่การนับ tape-size จะอ่านผลรวมของแถวในแต่ละส่วนของวัน (day partitions) ซึ่งเป็นวิธีที่ทำให้ตารางที่มีข้อมูลหลายพันล้านแถวต่อเซสชันสามารถตอบคำถามการนับได้ภายในเวลาไม่ถึงหนึ่งวินาที
แผงข้อมูลทุกชุดคือผลลัพธ์จากคำสั่ง query ที่จัดเก็บไว้ ทั้งแผนภูมิ ตาราง และ SQL คือวัตถุเดียวกัน คุณสามารถคัดลอกข้อมูลใดก็ได้ไปวางใน terminal ของ Strasmore เพื่อใช้งาน 6 กรกฎาคม เซสชันก่อนหน้า