Strasmore Research
สรุปภาวะตลาด Matt Connorโดย Matt Connor · อัปเดตเมื่อ 2026-07-24

สรุปภาวะตลาดวันที่ 8 กรกฎาคม 2026

กลุ่มเซมิคอนดักเตอร์ฟื้นตัวขึ้นเล็กน้อยโดย NVDA ปิดบวกต่อเนื่องและ MU นำกลุ่ม ขณะที่ภาพรวมตลาดส่วนใหญ่ยังคงเป็นสีแดงในสัดส่วนสองต่อหนึ่งเมื่อเทียบกับหุ้นที่บวก

วันพุธที่ 8 กรกฎาคม 2026 ตลาดหุ้นกลุ่มเซมิคอนดักเตอร์มีการฟื้นตัวขึ้นเพียงหนึ่งวัน ซึ่งส่งผลกระทบต่อดัชนีโดยรวมเพียงเล็กน้อย SNDK ปิดที่ +6.8%, AVGO +4.82%, NVDA +3.66% ซึ่งเป็นการกลับตัวอย่างรุนแรงจาก การเทขายหุ้นกลุ่มเซมิคอนดักเตอร์เมื่อวันอังคาร แต่กลุ่ม ETF ที่อิงตามดัชนีหลักยังคงทรงตัว โดย SPY อยู่ที่ -0.31% และ QQQ อยู่ที่ +0.25% ภาพรวมของตลาดมีหุ้นที่ราคาลดลงมากกว่าหุ้นที่ราคาเพิ่มขึ้นในสัดส่วนสองต่อหนึ่งเมื่อเทียบกับวันก่อนหน้า โดยมีหุ้นที่ราคาเพิ่มขึ้น 1821 ตัว และหุ้นที่ราคาลดลง 4260 ตัว คิดเป็นสัดส่วนหุ้นที่ราคาเพิ่มขึ้นที่ 29.6% หลังจากที่อยู่ที่ 33.8% ในช่วงการซื้อขายก่อนหน้า ทุกตัวเลขด้านล่างนี้อ่านมาจากฐานข้อมูลที่จัดเก็บไว้ หากต้องการดูคำสั่ง SQL ที่แม่นยำสามารถขยายแผงข้อมูลได้ทุกส่วน

สรุปผลการดำเนินงาน

การเปรียบเทียบทุกการเปลี่ยนแปลงเป็นการเทียบระหว่างแท่งเวลาช่วงสุดท้ายของตลาดปกติในวันที่ 8 กรกฎาคม กับวันที่ 7 กรกฎาคม ซึ่งเป็นวันอังคาร หรือเป็นการเทียบระหว่างวันทำการที่ต่อเนื่องกัน แถวข้อมูลเรียงตามลำดับตัวอักษร เพื่อให้แต่ละ ETF อยู่ในตำแหน่งที่คงที่

คำสั่งดึงข้อมูลSPY / QQQ / DIA / IWM — 8 กรกฎาคม เทียบกับราคาปิด 7 กรกฎาคม, ช่วงเวลาทำการปกติ
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-07 13:30:00' AND window_start < '2026-07-07 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-08 13:30:00' AND window_start < '2026-07-08 20:00:00'
    GROUP BY ticker
)
SELECT
    s.ticker AS ticker,
    round(toFloat64(p.prior_close), 2) AS prior_close,
    round(toFloat64(s.day_open), 2) AS day_open,
    round(toFloat64(s.day_close), 2) AS day_close,
    round((toFloat64(s.day_open) / toFloat64(p.prior_close) - 1) * 100, 2) AS gap_pct,
    round((toFloat64(s.day_close) / toFloat64(s.day_open) - 1) * 100, 2) AS intraday_pct,
    round((toFloat64(s.day_close) / toFloat64(p.prior_close) - 1) * 100, 2) AS pct_change,
    round(toFloat64(s.day_high), 2) AS day_high,
    round(toFloat64(s.day_low), 2) AS day_low,
    s.shares_traded_m
FROM sess s LEFT JOIN prior p ON s.ticker = p.ticker
ORDER BY ticker

ETF ทั้งสี่ตัวเปิดตลาดด้วยราคาที่ลดลงจากราคาปิดก่อนหน้า และมีทิศทางที่แตกต่างกันหลังจากนั้น DIA เปิดตลาดที่ -0.97% เมื่อเทียบกับราคาปิดก่อนหน้า และราคาปรับตัวลดลงต่อเนื่องจนปิดที่ -1.09% IWM เปิดที่ -0.73% และยังคงมีราคาลดลง โดยปิดที่ -0.92% SPY เปิดที่ -0.6% และค่อยๆ ปรับตัวขึ้นตลอดทั้งวัน แต่ยังคงปิดที่ -0.31% ซึ่งการฟื้นตัวจากราคาเปิดนั้นมีสัดส่วนน้อยกว่าช่วงที่ราคาดิ่งลงตอนเปิดตลาด QQQ เปิดที่ -0.64% และปรับตัวขึ้นไปที่ +0.25% เมื่อปิดตลาด โดยเป็นเพียงตัวเดียวจากทั้งสี่ตัวที่มีผลตอบแทนเป็นบวก

วันนี้มีความผิดปกติหรือไม่?

การเคลื่อนที่ของ SPY จากราคาเปิดถึงราคาปิดที่ 0.29% อยู่ในอันดับที่ 16 จาก 22 วันทำการที่ผ่านมา ซึ่งถือเป็นวันที่ดัชนีเคลื่อนไหวในระดับปานกลาง ไม่ใช่ระดับสุดโต่ง ส่วนการเคลื่อนที่ของ QQQ จากราคาปิดถึงราคาปิดที่ +0.25% อยู่ในอันดับที่ 21 จาก 22 ซึ่งเป็นการเคลื่อนไหวที่น้อยที่สุดครั้งหนึ่งในรอบหนึ่งเดือนของ QQQ สอดคล้องกับตัวเลขดัชนีที่เคลื่อนไหวเพียงเล็กน้อย

คำสั่งดึงข้อมูลการเคลื่อนไหวรายวันของ SPY / QQQ ในบริบทย้อนหลัง (close-over-close, ~22 sessions)
SQL เบื้องหลังตัวเลขแต่ละตัว
SELECT
    round(anyIf(cc_pct, ticker = 'QQQ' AND d = toDate('2026-07-08')), 2) AS qqq_close_over_close_pct,
    arrayCount(x -> x > abs(anyIf(cc_pct, ticker = 'QQQ' AND d = toDate('2026-07-08'))), groupArrayIf(abs(cc_pct), ticker = 'QQQ' AND d != toDate('2026-07-08'))) + 1 AS qqq_abs_move_rank,
    countIf(ticker = 'QQQ') AS qqq_sessions_compared,
    round(anyIf(oc_pct, ticker = 'SPY' AND d = toDate('2026-07-08')), 2) AS spy_open_to_close_pct,
    arrayCount(x -> x > abs(anyIf(oc_pct, ticker = 'SPY' AND d = toDate('2026-07-08'))), groupArrayIf(abs(oc_pct), ticker = 'SPY' AND d != toDate('2026-07-08'))) + 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-05 13:30:00')
          AND window_start < toDateTime('2026-07-09 00:00:00')
          AND (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199
        GROUP BY ticker, d
    )
)

ความกว้างของตลาด: จำนวนหุ้นขาลงมีสัดส่วนมากกว่าหุ้นขาขึ้นถึงสองต่อหนึ่ง ซึ่งแย่ลงกว่าวันก่อนหน้า

คำสั่งดึงข้อมูลความกว้างของตลาด (Liquid-tape breadth): สัดส่วนหุ้นขาขึ้น ณ 8 กรกฎาคม เทียบกับ 7 กรกฎาคม, กรองด้วยวอลุ่ม $1M
SQL เบื้องหลังตัวเลขแต่ละตัว
SELECT
    countIf(close_8 > close_7 AND close_7 > 0 AND dv_8 >= 1000000) AS advancers,
    countIf(close_8 < close_7 AND close_7 > 0 AND dv_8 >= 1000000) AS decliners,
    countIf(close_8 = close_7 AND close_7 > 0 AND dv_8 >= 1000000) AS unchanged,
    countIf(close_7 > 0 AND close_8 > 0 AND dv_8 >= 1000000) AS liquid_tickers,
    countIf(close_7 > 0 AND close_8 > 0) AS traded_both_sessions,
    countIf(close_7 > 0 AND close_8 > 0) - countIf(close_7 > 0 AND close_8 > 0 AND dv_8 >= 1000000) AS dropped_by_liquidity_filter,
    round(100.0 * countIf(close_8 > close_7 AND close_7 > 0 AND dv_8 >= 1000000) / countIf(close_7 > 0 AND close_8 > 0 AND dv_8 >= 1000000), 1) AS advancer_pct,
    round(100.0 * countIf(close_7 > close_6 AND close_6 > 0 AND dv_7 >= 1000000) / countIf(close_7 > 0 AND close_6 > 0 AND dv_7 >= 1000000), 1) AS jul7_advancer_pct
FROM (
    SELECT ticker,
           toFloat64(argMaxIf(close, window_start, window_start >= '2026-07-06 13:30:00' AND window_start < '2026-07-06 20:00:00')) AS close_6,
           toFloat64(argMaxIf(close, window_start, window_start >= '2026-07-07 13:30:00' AND window_start < '2026-07-07 20:00:00')) AS close_7,
           toFloat64(argMaxIf(close, window_start, window_start >= '2026-07-08 13:30:00' AND window_start < '2026-07-08 20:00:00')) AS close_8,
           sumIf(toFloat64(close) * toFloat64(volume), window_start >= '2026-07-08 13:30:00' AND window_start < '2026-07-08 20:00:00') AS dv_8,
           sumIf(toFloat64(close) * toFloat64(volume), window_start >= '2026-07-07 13:30:00' AND window_start < '2026-07-07 20:00:00') AS dv_7
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE window_start >= '2026-07-06 13:30:00' AND window_start < '2026-07-08 20:00:00'
    GROUP BY ticker
)

ส่วนต่างระหว่างหุ้นที่ราคาปิดบวก (1821) และหุ้นที่ราคาปิดลบ (4260) ทำให้สัดส่วนหุ้นขาขึ้นอยู่ที่ 29.6% ลดลงจาก 33.8% ในเซสชันก่อนหน้า โดยใช้การคำนวณและเกณฑ์สภาพคล่องแบบเดียวกันทั้งสองวัน จากจำนวนหุ้นทั้งหมด 11439 ตัวที่มีราคาปิดทั้งสองวัน มีหุ้นจำนวน 5284 ตัวที่มีปริมาณการซื้อขายต่ำกว่าเกณฑ์ 1 ล้านดอลลาร์ และถูกยกเว้นจากการนับครั้งนี้ การฟื้นตัวที่นำโดยกลุ่มหุ้นชิปและการปิดตลาดแบบผสมผสานของดัชนี เกิดขึ้นท่ามกลางสภาวะตลาดในวงกว้างที่ติดลบอย่างรุนแรงและทั่วถึงยิ่งกว่าเดิม

กลุ่มหุ้นชิปดีดตัวขึ้นอย่างรุนแรงพร้อมปริมาณการซื้อขายมหาศาล

ลำดับรายชื่อเรียงตามตัวอักษรเพื่อให้แต่ละชื่ออยู่ในตำแหน่งคงที่ โดยการเปรียบเทียบของวันอังคารคำนวณใหม่จากราคาปิดของวันที่ 7 กรกฎาคม และ 6 กรกฎาคม ในส่วนสรุปรายการใต้ตาราง

คำสั่งดึงข้อมูลหุ้นกลุ่มชิป 14 ตัว: ราคาปิดวันก่อนหน้า, ราคาปิดวันปัจจุบัน, ช่วงราคาวันปัจจุบัน, วอลุ่มดอลลาร์, low/high minute ET
SQL เบื้องหลังตัวเลขแต่ละตัว
WITH per_name AS (
    SELECT
        ticker,
        toFloat64(argMaxIf(close, window_start, window_start < '2026-07-08 00:00:00')) AS prior_close,
        toFloat64(argMaxIf(close, window_start, window_start >= '2026-07-08 00:00:00')) AS day_close,
        maxIf(toFloat64(high), window_start >= '2026-07-08 00:00:00') AS day_high,
        minIf(toFloat64(low), window_start >= '2026-07-08 00:00:00') AS day_low,
        argMinIf(window_start, (toFloat64(low), toInt64(toUnixTimestamp(window_start))), window_start >= '2026-07-08 00:00:00') AS low_bar,
        argMaxIf(window_start, (toFloat64(high), -toInt64(toUnixTimestamp(window_start))), window_start >= '2026-07-08 00:00:00') AS high_bar,
        round(sumIf(toFloat64(close) * toFloat64(volume), window_start >= '2026-07-08 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-07 13:30:00' AND window_start < '2026-07-07 20:00:00')
        OR (window_start >= '2026-07-08 13:30:00' AND window_start < '2026-07-08 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) / prior_close) * 100, 2) AS range_pct,
    round(toFloat64(day_low), 2) AS day_low,
    round(toFloat64(day_high), 2) AS day_high,
    toUInt32(toHour(toTimeZone(low_bar, 'America/New_York')) * 60 + toMinute(toTimeZone(low_bar, 'America/New_York'))) AS low_minute_et,
    toUInt32(toHour(toTimeZone(high_bar, 'America/New_York')) * 60 + toMinute(toTimeZone(high_bar, 'America/New_York'))) AS high_minute_et,
    day_dollar_bn
FROM per_name
ORDER BY ticker

12 จากหุ้นชิปทั้งสิบสี่ตัวปิดบวก ซึ่งตรงกันข้ามกับ เซสชันเมื่อวันอังคาร ที่มีหุ้นปิดลบถึง 12 จากสิบสี่ตัว SNDK นำกลุ่มด้วยการปรับตัวขึ้น +6.8% ด้วยมูลค่าการซื้อขาย 16.82 พันล้านดอลลาร์ ตามมาด้วย AVGO ที่ปิดที่ +4.82% ส่วนหุ้นกลุ่มจัดเก็บข้อมูลตัวอื่น ๆ ปิดตามมา ได้แก่ STX +3.9% และ WDC +3.45% สำหรับ ETF แบบ 3x อย่าง SOXL ปรับตัวขึ้น +5.79% และแบบ inverse อย่าง SOXS ปรับตัวลง -6.22% ซึ่งสอดคล้องกับการฟื้นตัวในหนึ่งวันของกลุ่มหุ้นอ้างอิง MU ปรับตัวขึ้นเล็กน้อยที่ +1.11% แต่มีมูลค่าการซื้อขายสูงถึง 32.02 พันล้านดอลลาร์ ซึ่งเป็นหุ้นที่มีมูลค่าการซื้อขายสูงสุดในกลุ่มนี้ NVDA ปิดบวก +3.66% เป็นวันที่สองติดต่อกัน โดยเป็นหนึ่งในเพียง 2 ตัวในกลุ่มนี้ที่ปิดบวกท่ามกลางการเทขายเมื่อวันอังคาร (+0.67% ในวันดังกล่าว)

คำสั่งดึงข้อมูลจำนวนหุ้นบวก/ลบ: 8 กรกฎาคม และ 7 กรกฎาคม สำหรับหุ้น 14 ตัวเดิม
SQL เบื้องหลังตัวเลขแต่ละตัว
SELECT
    countIf(close_8 > close_7) AS jul8_green,
    countIf(close_8 < close_7) AS jul8_red,
    countIf(close_7 > close_6) AS jul7_green,
    countIf(close_7 < close_6) AS jul7_red,
    round(anyIf((close_7 / close_6 - 1) * 100, ticker = 'NVDA'), 2) AS nvda_jul7_pct,
    count() AS names_counted
FROM (
    SELECT ticker,
           toFloat64(argMaxIf(close, window_start, window_start >= '2026-07-06 13:30:00' AND window_start < '2026-07-06 20:00:00')) AS close_6,
           toFloat64(argMaxIf(close, window_start, window_start >= '2026-07-07 13:30:00' AND window_start < '2026-07-07 20:00:00')) AS close_7,
           toFloat64(argMaxIf(close, window_start, window_start >= '2026-07-08 13:30:00' AND window_start < '2026-07-08 20:00:00')) AS close_8
    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-08 20:00:00'
    GROUP BY ticker
)

อีกด้านหนึ่ง: หุ้นกลุ่ม Defensive และหุ้น Growth Mega-caps ไม่ได้เคลื่อนที่ไปในทิศทางเดียวกัน

คำสั่งดึงข้อมูลการตรวจสอบการหมุนเวียนกลุ่มหุ้น (Rotation): 8 ชื่อ — defensive, mega-caps, biotech
SQL เบื้องหลังตัวเลขแต่ละตัว
WITH per_name AS (
    SELECT
        ticker,
        toFloat64(argMaxIf(close, window_start, window_start < '2026-07-08 00:00:00')) AS prior_close_raw,
        toFloat64(argMinIf(open, window_start, window_start >= '2026-07-08 00:00:00')) AS day_open_raw,
        toFloat64(argMaxIf(close, window_start, window_start >= '2026-07-08 00:00:00')) AS day_close_raw,
        round(sumIf(toFloat64(close) * toFloat64(volume), window_start >= '2026-07-08 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-07 13:30:00' AND window_start < '2026-07-07 20:00:00')
        OR (window_start >= '2026-07-08 13:30:00' AND window_start < '2026-07-08 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

หุ้น Growth Mega-caps เคลื่อนที่สวนทางกับกลุ่มเซมิคอนดักเตอร์ ได้แก่ TSLA -2.22%, META -2.04% และ LLY -1.6% โดยมี CVX เป็นหุ้นเพียงตัวเดียวในกลุ่มที่ปิดบวกเพิ่มขึ้น +1.12% หลังจากเปิดตลาดแบบ Gap up ในขณะที่ XOM เปิดตลาดที่ +1.26% แต่ราคาลดลงมาอยู่ที่ -0.49% เมื่อปิดตลาด ส่งผลให้การซื้อขายในวันพุธเกิดการแยกทางกันอย่างชัดเจน กล่าวคือ หุ้นกลุ่มเซมิคอนดักเตอร์ปรับตัวขึ้น แต่หุ้นกลุ่ม Growth และ Defensive ปรับตัวลง โดยมีดัชนีหลักเคลื่อนไหวทรงตัวอยู่ระหว่างหุ้นทั้งสองกลุ่มนี้ (รายชื่อเรียงตามตัวอักษร: CRNX, CVX, JNJ, LLY, META, TSLA, UNH, XOM)

สรุปปริมาณการซื้อขาย

คำสั่งดึงข้อมูลอันดับ 1-6 ตามมูลค่าการซื้อขาย และอันดับ 1-4 ตามจำนวนหุ้น — 8 กรกฎาคม ช่วงเวลาทำการปกติ
SQL เบื้องหลังตัวเลขแต่ละตัว
SELECT leaderboard, ticker, dollar_volume_bn, shares_m,
    round(1000 * dollar_volume_bn / shares_m, 2) AS implied_avg_price,
    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-08 13:30:00' AND window_start < '2026-07-08 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-08 13:30:00' AND window_start < '2026-07-08 20:00:00'
      AND ticker NOT IN ('SPCX')
    GROUP BY ticker
    ORDER BY shares_m DESC
    LIMIT 4
)
ORDER BY leaderboard, pct_of_board_leader DESC

MU มีมูลค่าการซื้อขายสูงถึง 32.02B ดอลลาร์ ซึ่งเป็นหุ้นที่มีมูลค่าสูงสุดและเป็นหุ้นเดียวที่มีมูลค่าเกินระดับ 30 พันล้านดอลลาร์ ตามมาด้วย SPY (26.49B), NVDA (24.17B) และ QQQ (20.9B) โดยมี SNDK ที่ระดับ 16.82B และ TSLA ที่ระดับ 11.71B ปิดท้ายรายการหุ้นที่มีมูลค่าการซื้อขายสูงสุด ส่วนในด้านปริมาณหุ้นพบข้อมูลที่แตกต่างออกไป โดย ETF ประเภท 3x inverse semiconductor คือ SOXS มีปริมาณการซื้อขายอยู่ที่ 636.5M หุ้น ด้วยราคาเฉลี่ยโดยประมาณที่ $4.67 ซึ่งเป็นผลจากกลไกของผลิตภัณฑ์ 3x wrapper ที่มีราคาต่อหน่วยต่ำในวันที่หุ้นกลุ่มชิปมีการซื้อขายอย่างรุนแรง

รูปแบบของเซสชัน

คำสั่งดึงข้อมูลจำนวนหุ้นต่อช่วงเวลา 30-minute ET, ช่วงเวลาทำการปกติ, พร้อม % ของช่วงเวลาที่มีวอลุ่มสูงสุดของวัน
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-08 13:30:00' AND window_start < '2026-07-08 20:00:00'
GROUP BY et_time
ORDER BY et_time

ปริมาณการซื้อขายมีลักษณะเป็นรูปตัว U ตามตำรา โดยช่วงเปิดตลาดมีปริมาณอยู่ที่ 89.9% ของช่วงที่มีปริมาณสูงสุดของวัน และลดลงในช่วงเช้า จนแตะระดับต่ำสุดที่ 34.1% ในช่วงเวลา 13:00–13:30 น. ตามเวลา ET ช่วงครึ่งชั่วโมงสุดท้ายก่อนปิดตลาด (15:30 น. ET) เป็นช่วงที่มีปริมาณการซื้อขายสูงสุดของวันที่ 2.2B หุ้น ซึ่งมากกว่าปริมาณช่วงเปิดตลาดที่ 1.98B ซึ่งเป็นรูปแบบมาตรฐานสำหรับเซสชันปกติ

ข้อมูลการซื้อขาย options

คำสั่งดึงข้อมูลข้อมูล Options: รายการซื้อขาย, จำนวนสัญญา, % call, สัดส่วน 0DTE เทียบกับวันอังคาร, สัญญาที่มีวอลุ่มสูงสุด
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) = '260708', 1, 0) AS is_0dte
            FROM global_markets.options_trades
            WHERE sip_timestamp >= '2026-07-08 00:00:00' AND sip_timestamp < '2026-07-09 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-08 13:30:00' AND window_start < '2026-07-08 20:00:00'
    ) AS spy_regular_close,
    (
        SELECT round(toFloat64(sum(size)) / 1e6, 2)
        FROM global_markets.options_trades
        WHERE sip_timestamp >= '2026-07-07 00:00:00' AND sip_timestamp < '2026-07-08 00:00:00'
    ) AS jul7_contracts_m,
    (
        SELECT round(100.0 * sumIf(size, substring(ticker, length(ticker) - 14, 6) = '260707') / sum(size), 1)
        FROM global_markets.options_trades
        WHERE sip_timestamp >= '2026-07-07 00:00:00' AND sip_timestamp < '2026-07-08 00:00:00'
    ) AS jul7_pct_0dte
SELECT
    round(count() / 1e6, 2) AS option_prints_m,
    round(toFloat64(sum(size)) / 1e6, 2) AS contracts_m,
    jul7_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) = '260708') / sum(size), 1) AS pct_0dte,
    jul7_pct_0dte,
    spy_regular_close,
    top2.1[1] AS top1_und, top2.2[1] AS top1_strike, top2.3[1] AS top1_type, top2.4[1] AS top1_contracts, top2.5[1] AS top1_avg_px, top2.6[1] AS top1_is_0dte,
    round(toFloat64(top2.2[1]) - spy_regular_close, 2) AS top1_moneyness
FROM global_markets.options_trades
WHERE sip_timestamp >= '2026-07-08 00:00:00' AND sip_timestamp < '2026-07-09 00:00:00'

ข้อมูลการซื้อขาย options รวมมีการทำรายการทั้งสิ้น 10.44M รายการ และมีจำนวนสัญญาอยู่ที่ 63.26M ซึ่งสูงกว่าระดับ 61.13M ของวันอังคารที่คำนวณจากข้อมูลชุดเดียวกันในช่วงเวลาเดียวกัน โดยมีสัดส่วนการซื้อขาย Call options อยู่ที่ 55.4% ของปริมาณการซื้อขายทั้งหมด ซึ่งถือว่ามีความต้องการฝั่ง Call ในระดับปานกลาง ทั้งนี้ สัญญาแบบ 0DTE (วันหมดอายุภายในวันเดียว, 260708) มีปริมาณการซื้อขายอยู่ที่ 38.7% ของจำนวนสัญญาทั้งหมด เพิ่มขึ้นจากระดับ 31.2% เมื่อวันอังคาร สัญญาที่มีการซื้อขายหนาแน่นที่สุดคือ SPY 745C โดยมีจำนวน 677981 สัญญา ที่ราคาเฉลี่ย 0.0.875 ซึ่งเป็นสัญญาแบบวันหมดอายุภายในวันเดียวที่มีสถานะใกล้เคียงกับราคา At the money เมื่อเทียบกับราคาปิดปกติของ SPY ที่ 0.745.31

ข้อมูลการเสนอราคา

คำสั่งดึงข้อมูลจำนวนการอัปเดตราคาหุ้น NBBO: 8 กรกฎาคม เทียบกับ 7 กรกฎาคม, พร้อมจำนวนการอัปเดตรายตัว (ล้าน)
SQL เบื้องหลังตัวเลขแต่ละตัว
SELECT
    round(countIf(toDate(sip_timestamp) = toDate('2026-07-08')) / 1e6, 2) AS jul8_updates_m,
    round(countIf(toDate(sip_timestamp) = toDate('2026-07-07')) / 1e6, 2) AS jul7_updates_m,
    round((countIf(toDate(sip_timestamp) = toDate('2026-07-08')) / countIf(toDate(sip_timestamp) = toDate('2026-07-07')) - 1) * 100, 1) AS day_over_day_pct,
    round(countIf(toDate(sip_timestamp) = toDate('2026-07-08') AND ticker = 'SPY') / 1e6, 2) AS jul8_spy_updates_m,
    round(countIf(toDate(sip_timestamp) = toDate('2026-07-08') AND ticker = 'QQQ') / 1e6, 2) AS jul8_qqq_updates_m,
    round(countIf(toDate(sip_timestamp) = toDate('2026-07-08') AND ticker = 'NVDA') / 1e6, 2) AS jul8_nvda_updates_m,
    round(countIf(toDate(sip_timestamp) = toDate('2026-07-08') AND ticker = 'TSLA') / 1e6, 2) AS jul8_tsla_updates_m,
    round(countIf(toDate(sip_timestamp) = toDate('2026-07-08') AND ticker = 'MU') / 1e6, 2) AS jul8_mu_updates_m
FROM global_markets.cache_stocks_quotes
WHERE sip_timestamp >= '2026-07-07 00:00:00' AND sip_timestamp < '2026-07-09 00:00:00'

ข้อมูลการเสนอราคาหุ้นมีรายการอัปเดต NBBO ทั้งหมด 530.55M รายการ เมื่อวันที่ 8 กรกฎาคม ซึ่งเพิ่มขึ้น +7.7% เมื่อเทียบกับรอบการซื้อขายก่อนหน้า โดย QQQ มีจำนวนการอัปเดตสูงสุดที่ 6.53M รายการ นำหน้า SPY ที่มีจำนวน 4.93M รายการ และตามมาด้วย NVDA (1.8M), TSLA (0.72M) และ MU (0.6M)

คำสั่งดึงข้อมูลSPY / QQQ / NVDA / TSLA / MU / SNDK / AVGO: ค่ากลางของ spread ในช่วง RTH หน่วย basis points
SQL เบื้องหลังตัวเลขแต่ละตัว
SELECT
    ticker,
    round(quantileExact(0.5)((toFloat64(ask_price) - toFloat64(bid_price)) / ((toFloat64(ask_price) + toFloat64(bid_price)) / 2) * 10000), 2) AS median_spread_bps
FROM global_markets.cache_stocks_quotes
WHERE ticker IN ('SPY', 'QQQ', 'NVDA', 'TSLA', 'MU', 'SNDK', 'AVGO')
  AND sip_timestamp >= '2026-07-08 13:30:00' AND sip_timestamp < '2026-07-08 20:00:00'
  AND bid_price > 0 AND ask_price > 0 AND ask_price > bid_price
GROUP BY ticker
ORDER BY median_spread_bps ASC

เมื่อพิจารณาจากหุ้นทั้งเจ็ดตัวที่ระบุไว้ ค่ามัธยฐานของส่วนต่างราคาเสนอขาย (quoted spread) ในช่วงเวลา RTH ของ SPY อยู่ที่ 0.27 bps ซึ่งถือเป็นระดับปกติสำหรับ ETF ที่มีสภาพคล่องสูงที่สุดในสหรัฐฯ โดย QQQ มีส่วนต่างราคาอยู่ที่ 0.71 bps และ NVDA อยู่ที่ 1.52 bps สำหรับหุ้นที่มีสภาพคล่องต่ำกว่าจะมีส่วนต่างราคาที่กว้างกว่า ได้แก่ MU ที่ 5.66 bps และ SNDK ที่ 12.21 bps

คำสั่งดึงข้อมูลค่าเฉลี่ย spread ในช่วง RTH ของ SPY ในบริบทย้อนหลังหนึ่งเดือน
SQL เบื้องหลังตัวเลขแต่ละตัว
SELECT
    round(anyIf(avg_spread_cents, d = toDate('2026-07-08')), 3) AS jul8_avg_spread_cents,
    arrayCount(x -> x < anyIf(avg_spread_cents, d = toDate('2026-07-08')), groupArrayIf(avg_spread_cents, d != toDate('2026-07-08'))) + 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-09 00:00:00')
      AND (toHour(sip_timestamp) * 60 + toMinute(sip_timestamp)) BETWEEN 810 AND 1199
    GROUP BY d
)

ค่าเฉลี่ยส่วนต่างราคาเสนอขายในช่วง RTH ของ SPY อยู่ที่ 2.202 cents ซึ่งอยู่ในลำดับที่ 11 จากทั้งหมด 22 รอบการซื้อขายที่ผ่านมา ถือเป็นวันที่ความแคบของส่วนต่างราคาอยู่ในระดับปานกลาง โดยช่วงความกว้างของส่วนต่างราคาในรอบหนึ่งเดือนที่ผ่านมาอยู่ระหว่าง 1.809 cents (แคบที่สุด) ถึง 2.865 cents (กว้างที่สุด) ไม่พบสภาวะขาดสภาพคล่องหรือเหตุการณ์ผิดปกติใดๆ ถือเป็นรอบการซื้อขายปกติสำหรับส่วนต่างราคาเสนอขายของ SPY

คำสั่งดึงข้อมูลข้อมูลราคา Options NBBO: จำนวนการอัปเดตทั้งหมดเทียบกับหุ้น, พร้อมข้อมูล SPY root slice
SQL เบื้องหลังตัวเลขแต่ละตัว
WITH
    (SELECT count() FROM global_markets.cache_options_quotes WHERE sip_timestamp >= '2026-07-08 00:00:00' AND sip_timestamp < '2026-07-09 00:00:00') AS jul8_options_rows,
    (SELECT count() FROM global_markets.cache_stocks_quotes WHERE sip_timestamp >= '2026-07-08 00:00:00' AND sip_timestamp < '2026-07-09 00:00:00') AS jul8_stock_quote_rows
SELECT
    round(jul8_options_rows / 1e9, 2) AS jul8_options_bn,
    round(jul8_options_rows / jul8_stock_quote_rows, 1) AS options_to_stock_ratio,
    round((SELECT count() FROM global_markets.cache_options_quotes WHERE ticker >= 'O:SPY26' AND ticker < 'O:SPY27' AND sip_timestamp >= '2026-07-08 13:30:00' AND sip_timestamp < '2026-07-08 20:00:00') / 1e6, 0) AS jul8_spy_options_m

ข้อมูลการเสนอราคาออปชันมีรายการอัปเดต NBBO ทั้งหมด 9.62 billion รายการ หรือคิดเป็น 18.1× ของจำนวนรายการในข้อมูลการเสนอราคาหุ้น โดยเฉพาะออปชันของ SPY มีการอัปเดตในช่วงเวลาทำการปกติถึง 422 million รายการ

อัตราผลตอบแทน: เส้นอัตราผลตอบแทนขยับขึ้นเพียงเล็กน้อย

คำสั่งดึงข้อมูลอัตราผลตอบแทนพันธบัตร: 8 กรกฎาคม เทียบกับ 7 กรกฎาคม — ครอบคลุมทุกอายุพันธบัตร + 2s10s
SQL เบื้องหลังตัวเลขแต่ละตัว
SELECT
    t.1 AS curve_point,
    round(t.2, 2) AS jul8_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-08') AS d,
         (SELECT * FROM global_markets.treasury_yields WHERE date = '2026-07-07') AS p
)

พันธบัตรอายุ 5 ปี มีการเปลี่ยนแปลงสูงสุดในเซสชันนี้ที่ +4 bp; พันธบัตรอายุ 2 ปี ปิดตลาดเพิ่มขึ้น +2 bp และไม่มีอายุพันธบัตรอื่นใดที่มีการเคลื่อนไหวเกินกว่า 2 bp ไม่ว่าจะในทิศทางใดก็ตาม ส่งผลให้ 2s10s spread อยู่ที่ 0.35% (เปลี่ยนแปลง -1 bp ในเซสชันนี้) ซึ่งยังคงอยู่ในกรอบการเคลื่อนไหวล่าสุด การเคลื่อนไหวของอัตราผลตอบแทนที่จำกัดนี้เกิดขึ้นควบคู่ไปกับการเคลื่อนไหวของดัชนีที่จำกัดเช่นกัน

ปฏิทินเหตุการณ์ประจำวัน

คำสั่งดึงข้อมูลการจ่ายปันผล (Ex-divs), การแตกหุ้น (splits), การยื่นเอกสาร SEC, ข่าวที่ได้รับความสนใจ
SQL เบื้องหลังตัวเลขแต่ละตัว
WITH
    (
        SELECT (count(), uniqExact(publisher))
        FROM global_markets.stocks_news
        WHERE toDate(toTimeZone(published_utc, 'America/New_York')) = '2026-07-08'
    ) AS news,
    (
        SELECT (argMax(t, (n, t)), 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-08'
            )
            WHERE t != 'SPCX'
            GROUP BY t
        )
    ) AS top_news
SELECT
    (SELECT count() FROM global_markets.stocks_dividends WHERE ex_dividend_date = '2026-07-08') AS ex_dividend_records,
    (SELECT count() FROM global_markets.stocks_splits WHERE execution_date = '2026-07-08') AS splits_executed,
    (SELECT countIf(toFloat64(split_from) > toFloat64(split_to)) FROM global_markets.stocks_splits WHERE execution_date = '2026-07-08') AS reverse_splits,
    (SELECT countIf(toFloat64(split_to) > toFloat64(split_from)) FROM global_markets.stocks_splits WHERE execution_date = '2026-07-08') AS forward_splits,
    (SELECT countIf(form_type = '424B2') FROM global_markets.stocks_sec_edgar_index WHERE filing_date = '2026-07-08') AS fil_424b2,
    (SELECT countIf(form_type = '4') FROM global_markets.stocks_sec_edgar_index WHERE filing_date = '2026-07-08') AS fil_form4,
    (SELECT countIf(form_type = '8-K') FROM global_markets.stocks_sec_edgar_index WHERE filing_date = '2026-07-08') AS fil_8k,
    (SELECT count() FROM global_markets.stocks_sec_edgar_index WHERE filing_date = '2026-07-08') AS fil_total,
    news.1 AS news_articles, news.2 AS news_publishers,
    top_news.1 AS top_news_ticker, top_news.2 AS top_news_n, top_news.3 AS top_news_lead_over_next

กิจกรรมในปฏิทินมีไม่มากนักในวันนี้: มีการขึ้นเครื่องหมาย ex-dividend จำนวน 81 รายการ, มีการแตกหุ้น (forward split) จำนวน 1 รายการ และมีการยื่นเอกสารต่อ SEC ทั้งหมดจำนวน 3722 ฉบับ (ประกอบด้วยรายการซื้อขายโดยคนในของ Form 4 จำนวน 775 รายการ, หนังสือชี้ชวน 424B2 จำนวน 527 ฉบับ และรายงานเหตุการณ์สำคัญ 8-K จำนวน 163 ฉบับ) การรายงานข่าวมีบทความจำนวน 192 ฉบับ จากสำนักพิมพ์ 3 แห่ง โดยมี MU เป็นหนึ่งใน tickers ที่ถูกกล่าวถึงมากที่สุดจากทั้งหมด 17 บทความ ไม่มีเหตุการณ์สำคัญของบริษัทที่มีชื่อเสียงโดดเด่นในกระแสของวันนี้ โดยเนื้อหาหลักของตลาดมุ่งเน้นไปที่กลุ่มอุตสาหกรรมเซมิคอนดักเตอร์เพียงอย่างเดียว

ข้อมูลสรุปการซื้อขาย

คำสั่งดึงข้อมูลการตรวจสอบเซสชัน: แท่งเทียน SPY แรก/สุดท้าย (ET), จำนวนแท่งเทียนช่วงเวลาปกติ, จำนวนวันหยุด, วันปิดตลาดถัดไป
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-08 13:30:00' AND window_start < '2026-07-08 20:00:00') AS regular_session_bars,
    uniqExactIf(toDate(toTimeZone(window_start, 'America/New_York')), window_start >= '2026-07-08 13:30:00' AND window_start < '2026-07-08 20:00:00') AS day_sessions,
    (SELECT count() FROM global_markets.stocks_market_holidays WHERE date = '2026-07-08') AS jul8_holiday_rows,
    (SELECT toString(min(date)) FROM global_markets.stocks_market_holidays WHERE date > '2026-07-08' AND status = 'closed') AS next_closure_date,
    (SELECT argMin(name, date) FROM global_markets.stocks_market_holidays WHERE date > '2026-07-08' AND status = 'closed') AS next_closure_name
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY' AND window_start >= '2026-07-08 00:00:00' AND window_start < '2026-07-09 00:00:00'

ช่วงเวลาการซื้อขายครอบคลุมทั้งช่วงเวลาปกติและช่วงนอกเวลาทำการ โดยแท่งเทียนแรกของ SPY เริ่มต้นที่เวลา 04:00 ET และแท่งสุดท้ายสิ้นสุดที่เวลา 19:59 ET โดยมีแท่งเทียนรายนาทีในช่วงเวลาปกติทั้งหมด 390 แท่ง และมีจำนวนแท่งเทียนรวมในช่วงเวลาดังกล่าวทั้งหมด 1 แท่ง (ไม่มีการซื้อขายครึ่งวัน เนื่องจากในตารางวันหยุดไม่มีข้อมูลสำหรับวันที่นี้) การปิดตลาดครั้งถัดไปคือวันที่ Labor Day ในวันที่ 2026-09-07

หมายเหตุข้อมูล

เวลาทั้งหมดถูกจัดเก็บในรูปแบบ UTC; ข้อมูลในช่วงเวลาทำการปกติของวันที่ 8 กรกฎาคม 2026 ถูกกรองด้วย sip_timestamp / window_start ระหว่างช่วงเวลา 2026-07-08 13:30:00 ถึง 2026-07-08 20:00:00 ซึ่งตรงกับเวลา 9:30 am–4:00 pm ตามเวลา New York ราคาแบบทศนิยมจะถูกแปลงเป็น Float64 ก่อนการคำนวณการหาร แผงข้อมูลรายชื่อหุ้น (scoreboard, chip complex, rotation) ถูกจัดเรียงตาม ลำดับตัวอักษรของ ticker เพื่อให้การอ้างอิงในเนื้อหาสอดคล้องกับแถวที่กำหนดไว้ ส่วนแผงข้อมูลอันดับ (volume, quote snapshot) ถูกจัดเรียงตามค่าของข้อมูล และการระบุตำแหน่งทุกตำแหน่งถูกกำหนดเป็นขอบเขตตรวจสอบความถูกต้องของตำแหน่งนั้น การเปรียบเทียบทุกรายการในวันอังคารบนหน้านี้ — ได้แก่ ส่วนแบ่ง breadth, จำนวนหุ้นในกลุ่ม chip ที่เป็นสีเขียว/แดง, จำนวนสัญญา options และส่วนแบ่ง 0DTE, และจำนวนการอัปเดต quote — ถูกคำนวณใหม่จากวันที่ 7 กรกฎาคม (และวันที่ 6 กรกฎาคม ในกรณีที่ต้องใช้ราคาปิดก่อนหน้า) ภายในชุดคำสั่ง query เดียวกัน และไม่มีการนำข้อมูลจากโพสต์ก่อนหน้ามาใช้

หมายเหตุข้อมูลฉบับเต็ม

แผงข้อมูล breadth นับจำนวนหุ้นที่มีราคาปิดในช่วงเวลาทำการปกติทั้งสองเซสชัน และมีมูลค่าการซื้อขายอย่างน้อย $1M ในวันที่ทำการวัดผล; จำนวนที่ถูกตัดออก (5284 จาก 11439) ช่วยให้เห็นข้อมูลส่วนปลายที่ถูกคัดออก แถวเวลา day_low/day_high ของ chip complex ใช้รูปแบบ argMin/argMaxIf(..., (value, timestamp)) เพื่อให้การตัดสินกรณีข้อมูลเท่ากันเป็นไปอย่างแน่นอน ป้ายกำกับกลุ่ม volume-smile ใช้เวลา ET (%H:%i) ซึ่งคำนวณด้วย toTimeZone ในรายการ SELECT เท่านั้น แผงข้อมูล options-tape ตรวจสอบวันหมดอายุภายในวันเดียวกันโดยใช้การจับคู่ substring ของ OCC-ticker (substring(ticker, length(ticker) - 14, 6)) แทนที่จะใช้ options_trades.expiration_date (คอลัมน์ดังกล่าวใช้งานไม่ได้ ตามหมายเหตุตรวจสอบก่อนเริ่มงาน) สัญลักษณ์ใน KNOWN_AMBIGUOUS_TICKERS จะถูกยกเว้นใน SQL ของ volume-leaders และ news-attention เพื่อให้การระบุ "มากที่สุดในด้าน X" แสดงเฉพาะชื่อหุ้นที่สามารถตรวจสอบได้ Ticker ที่เป็นข่าวสูงสุดใช้การตัดสินกรณีข้อมูลเท่ากันแบบกำหนดผลลัพธ์แน่นอน (argMax(t, (n, t))); หาก top_news_lead_over_next = 0 หมายถึงข้อมูลเท่ากัน ซึ่งเป็นเหตุผลที่เนื้อหาระบุว่า "ท่ามกลางหุ้นที่มีการกล่าวถึงมากที่สุด" แผงข้อมูล treasury เป็นการเชื่อมข้อมูลจากแถว snapshot รายวันสองแถว; หากขาด snapshot ของวันใดวันหนึ่งจะส่งผลให้ได้ศูนย์แถว และใช้ขอบเขต row_count ในการตรวจสอบ ส่วนจำนวน stocks-quote และ options-quote เป็นการสแกนข้อมูลทั้ง tape ตามส่วนแบ่งของวัน; จำนวนหุ้นรายตัวจะรายงานเป็นหน่วยล้านเพื่อให้สอดคล้องกับหน่วยของคอลัมน์ ค่ามัธยฐานของ spread ใช้ quantileExact (แบบกำหนดผลลัพธ์แน่นอน); แผงข้อมูล trailing spread เป็นค่า เฉลี่ย (avgIf) และมีการระบุไว้ตามนั้น

ระเบียบวิธี

  • แหล่งข้อมูลตลาด: consolidated tape — ใช้ delayed_stocks_minute_aggs สำหรับราคาและปริมาณการซื้อขายของดัชนีและรายหลักทรัพย์, cache_stocks_quotes สำหรับจำนวน NBBO และ quoted spreads, และใช้ cache_options_quotes กับ options_trades สำหรับข้อมูล options tape
  • การจัดการเขตเวลา: ข้อมูลเวลาที่จัดเก็บทั้งหมดเป็น UTC; การระบุเวลา ET จะคำนวณด้วย toTimeZone(..., 'America/New_York') ในรายการ SELECT เท่านั้น; ส่วนเงื่อนไข WHERE จะใช้ค่า UTC ดั้งเดิม
  • ช่วงเวลาทำการปกติ: 13:30–20:00 UTC โดยตรวจสอบความถูกต้องจาก SPY minute bars ที่สังเกตได้ (session-verification panel) ไม่ใช่การคำนวณตามปฏิทิน
  • นิยามของ Spread: ใช้ (ask - bid) / midpoint × 10,000 ในหน่วย basis points สำหรับราคาเสนอซื้อและเสนอขาย (two-sided quotes) ที่ใช้งานได้ ณ เวลาที่บันทึกภาพข้อมูล; ส่วนแผงข้อมูลย้อนหลังหนึ่งเดือนคือค่าเฉลี่ยความกว้างในหน่วย cents โดยระบุเป็นค่าเฉลี่ย
  • การเปรียบเทียบกับเซสชันก่อนหน้า: คำนวณภายในคิวรีโดยเริ่มตั้งแต่วันที่ 7 กรกฎาคม (และวันที่ 6 กรกฎาคม สำหรับการเปรียบเทียบแบบ day-over-day ของวันอังคาร) — ไม่มีการดึงข้อมูลต่อเนื่องจากโพสต์ก่อนหน้า
  • การรวมข้อมูลแบบ Deterministic: ใช้ quantileExact, argMin/argMax แบบ tuple-keyed และใช้การตัดสินกรณีข้อมูลข่าวสารเท่ากัน (news tie-break) เพื่อให้ผลลัพธ์คงที่เมื่อมีการสร้างข้อมูลใหม่
  • วันที่อ้างอิงข้อมูลใน Warehouse: 10 กรกฎาคม 2026 (T+2 สำหรับช่วงเวลาดังกล่าว); ข้อมูล tape ของทั้งสองเซสชันถูกนำเข้าข้อมูลอย่างครบถ้วน ณ ระดับความลึกนี้

ลิงก์ที่เกี่ยวข้อง: สรุปข้อมูลวันที่ 7 กรกฎาคม 2026, ต้นทุนการซื้อขาย options, พื้นฐาน bid-ask spread, 0DTE options, และ relative volume