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

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

หุ้นกลุ่มอุปกรณ์ผลิตชิปผันผวนรุนแรงขณะที่หุ้นกลุ่ม mega-caps พลิกกลับมาปิดบวกได้สำเร็จ ส่วน NVDA ปิดในแดนลบ ติดตามรายละเอียดทิศทางตลาดได้ที่นี่

วันพฤหัสบดีที่ 9 กรกฎาคม 2026 มีความผันผวนอย่างรุนแรงเกิดขึ้นภายในเวลาเพียงหนึ่งนาที ซึ่งเกิดขึ้นก่อนตลาดเปิดทำการ หุ้นกลุ่มอุปกรณ์ผลิตชิปมีราคาพุ่งสูงขึ้นกว่าราคาปิดของวันพุธอย่างมากในการซื้อขายช่วง premarket ขณะที่ META มีราคาต่ำกว่าระดับ -3.16% ในขณะที่ราคาเปิดตลาดเมื่อเวลา 9:30 น. ยืนยันสถานะดังกล่าว จากนั้นตลาดได้มีการปรับตัวลดลงจากระดับราคาเปิด โดยส่วนต่างราคาของหุ้นกลุ่มชิปเริ่มลดลง และ META ปรับตัวเพิ่มขึ้นจนกลับมาเท่าเดิม ส่งผลให้ตลาดปิดตัวในแดนบวก 71.5% ซึ่งถือเป็นช่วงเวลาที่มีความผันผวนกว้างที่สุดในสัปดาห์นี้ สำหรับ NVDA ที่เป็นบวกมาตลอดตั้งแต่ การดิ่งลงของวันอังคาร กลับปิดตัวในแดนลบ ตัวเลขทั้งหมดด้านล่างนี้มาจากการดึงข้อมูลจากฐานข้อมูลโดยตรง

ปัจจัยที่กำหนดทิศทางราคาเปิด

ราคาไม่ได้เกิดช่องว่าง (gap) ณ เวลา 9:30 น. แต่ราคาในตลาด premarket ระหว่างเวลา 4:00 น. ถึง 9:29 น. ตามเวลา ET ได้ปรับราคาหุ้นเหล่านี้ไปแล้ว และราคาเปิดจึงเคลื่อนที่มาอยู่ในระดับดังกล่าว

คำสั่งดึงข้อมูลเส้นทางราคาก่อนตลาดเปิด 4:00-9:29 am ET: ราคาล่าสุดเทียบกับราคาปิดวันพุธ และราคาเปิดถัดมา
SQL เบื้องหลังตัวเลขแต่ละตัว
SELECT
    ticker,
    round(prior_close, 2) AS prior_close,
    formatDateTime(first_pm_bar, '%H:%i') AS first_premkt_bar_et,
    round(premkt_last, 2) AS premkt_last,
    round((premkt_last / prior_close - 1) * 100, 2) AS premkt_pct,
    round(premkt_shares / 1e3, 1) AS premkt_shares_k,
    round((day_open / prior_close - 1) * 100, 2) AS gap_pct,
    round((day_open / premkt_last - 1) * 100, 2) AS open_vs_premkt_pct
FROM (
    SELECT
        ticker,
        toFloat64(argMaxIf(close, window_start, window_start >= '2026-07-08 13:30:00' AND window_start < '2026-07-08 20:00:00')) AS prior_close,
        minIf(toTimeZone(window_start, 'America/New_York'), window_start >= '2026-07-09 08:00:00' AND window_start < '2026-07-09 13:30:00') AS first_pm_bar,
        toFloat64(argMaxIf(close, window_start, window_start >= '2026-07-09 08:00:00' AND window_start < '2026-07-09 13:30:00')) AS premkt_last,
        sumIf(toFloat64(volume), window_start >= '2026-07-09 08:00:00' AND window_start < '2026-07-09 13:30:00') AS premkt_shares,
        toFloat64(argMinIf(open, window_start, window_start >= '2026-07-09 13:30:00' AND window_start < '2026-07-09 20:00:00')) AS day_open
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker IN ('SPY', 'QQQ', 'KLAC', 'LRCX', 'META', 'NVDA')
      AND ((window_start >= '2026-07-08 13:30:00' AND window_start < '2026-07-08 20:00:00')
        OR (window_start >= '2026-07-09 08:00:00' AND window_start < '2026-07-09 20:00:00'))
    GROUP BY ticker
)
ORDER BY ticker

ราคาล่าสุดของ KLAC ในช่วง premarket อยู่ที่ +8.49% เมื่อเทียบกับราคาปิดของวันพุธ และเปิดที่ +8.14% ส่วน LRCX เพิ่มขึ้น 9.64% และเปิดที่ +9.67% ขณะที่ META แสดงราคาที่ -3.16% และเปิดที่ -3.16% อ่าน open_vs_premkt_pct: หุ้นทั้งหกตัวเปิดซื้อขายภายในกรอบหนึ่งเปอร์เซ็นต์ของราคา premarket ล่าสุด ส่วน NVDA มีความผิดปกติ โดยมีการซื้อขาย 0.16% ในช่วงข้ามคืนด้วยปริมาณหุ้น 3741.7k ซึ่งเป็นปริมาณการซื้อขาย premarket ที่สูงที่สุดในบรรดาหุ้นทั้งหกตัว แต่มีการเคลื่อนไหวของราคาเพียงเล็กน้อย (การซื้อขายในช่วง premarket และ after-hours)

มีปัจจัยกระตุ้นหรือไม่? ข้อมูลของเราไม่ระบุถึงปัจจัยดังกล่าว

การสรุปข้อมูลควรระบุว่าปัจจัยใดที่ทำให้ราคาหุ้นเคลื่อนไหว แต่ในตารางของเราไม่มีการระบุข้อมูลใดๆ ทั้งนี้ ข้อมูลข่าวสารและดัชนีการยื่นเอกสารต่อ SEC ของหุ้นทั้งสี่ตัวที่มีราคาเปิดกระโดด (gap) มากที่สุดนั้นไม่มีข้อมูลปรากฏอยู่เลย

คำสั่งดึงข้อมูลปัจจัยขับเคลื่อนที่ระบุ: ข่าวและเอกสาร SEC ตามรายชื่อ ตั้งแต่ราคาปิดวันพุธถึงวันพฤหัสบดี
SQL เบื้องหลังตัวเลขแต่ละตัว
SELECT
    ticker,
    toUInt32(sum(overnight_articles)) AS overnight_articles,
    toUInt32(sum(session_articles)) AS session_articles,
    toUInt32(sum(sec_filings)) AS sec_filings,
    toUInt32(sum(filings_8k)) AS filings_8k
FROM (
    SELECT
        arrayJoin(['AMD', 'KLAC', 'LRCX', 'META', 'MSFT', 'MU', 'NVDA', 'TER', 'WDC']) AS ticker,
        toUInt64(0) AS overnight_articles, toUInt64(0) AS session_articles,
        toUInt64(0) AS sec_filings, toUInt64(0) AS filings_8k
    UNION ALL
    SELECT
        arrayJoin(tickers) AS ticker,
        countIf(published_utc < '2026-07-09 13:30:00') AS overnight_articles,
        countIf(published_utc >= '2026-07-09 13:30:00') AS session_articles,
        toUInt64(0) AS sec_filings, toUInt64(0) AS filings_8k
    FROM global_markets.stocks_news
    WHERE published_utc >= '2026-07-08 20:00:00' AND published_utc < '2026-07-09 20:00:00'
    GROUP BY ticker
    UNION ALL
    SELECT
        ticker, toUInt64(0), toUInt64(0),
        count() AS sec_filings,
        countIf(form_type = '8-K') AS filings_8k
    FROM global_markets.stocks_sec_edgar_index
    WHERE filing_date >= '2026-07-08' AND filing_date <= '2026-07-09'
    GROUP BY ticker
)
WHERE ticker IN ('AMD', 'KLAC', 'LRCX', 'META', 'MSFT', 'MU', 'NVDA', 'TER', 'WDC')
GROUP BY ticker
ORDER BY ticker

0 บทความในช่วงข้ามคืน, 0 ข้อมูลระหว่างวัน, 0 การยื่นเอกสารต่อ SEC สำหรับ KLAC — ซึ่งข้อมูลในแถวเดียวกันนี้ว่างเปล่าเช่นกันสำหรับ LRCX, TER และ WDC ส่วน NVDA ซึ่งราคาไม่ได้เปิดกระโดด มีปริมาณการรายงานข่าวมากที่สุดในบรรดาทั้งเก้าตัว (7 ข้ามคืน, 9 ระหว่างวัน) และปิดในแดนลบ นี่คือความสนใจจากแหล่งข้อมูลเพียงแห่งเดียว ไม่ใช่สื่อทั่วโลก และการที่ไม่มีข้อมูลในแถวไม่ได้เป็นข้อพิสูจน์ว่าไม่มีเหตุการณ์เกิดขึ้น แต่ไม่มีสิ่งใดในข้อมูลของเราที่ระบุสาเหตุได้ และ "ไม่ทราบสาเหตุ" ถือเป็นคำตอบที่สมบูรณ์แล้ว

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

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

คำสั่งดึงข้อมูลSPY / QQQ / DIA / IWM — 9 กรกฎาคม เทียบกับราคาปิด 8 กรกฎาคม (ช่วงเวลาปกติ)
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-08 13:30:00' AND window_start < '2026-07-08 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-09 13:30:00' AND window_start < '2026-07-09 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

ดัชนีทั้งสี่ปิดบวก โดย QQQ ปรับตัวขึ้นสูงสุดที่ +1.67% ซึ่งประกอบด้วยช่องว่างราคา (gap) +0.99% และการปรับตัวขึ้นอีก +0.68% ส่วนหุ้นขนาดเล็กอย่าง IWM ปรับตัวขึ้น +1.29%, SPY ปรับตัวขึ้น +0.85% สู่ระดับ $751.64 และ DIA ปรับตัวขึ้นน้อยที่สุดที่ +0.29% โดยกลุ่มหุ้นเติบโต (Growth) นำตลาด และ Dow Jones อยู่รั้งท้าย

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

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

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

Breadth: ช่วงเวลาที่มีความกว้างของตลาดมากที่สุดในสัปดาห์

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

4263 หุ้นที่ราคาเพิ่มขึ้น เทียบกับ 1631 หุ้นที่ราคาลดลง — คิดเป็นสัดส่วนหุ้นที่ราคาเพิ่มขึ้น 71.5% หลังจาก 29.6% เมื่อวันพุธ โดยใช้เกณฑ์การคำนวณแบบเดียวกัน และใช้เกณฑ์มูลค่าการซื้อขาย 1 ล้านดอลลาร์สหรัฐเช่นเดียวกัน (ซึ่งมี 5385 จาก 11351 ชื่อหุ้นที่มีมูลค่าการซื้อขายต่ำกว่าเกณฑ์นี้) เมื่อพิจารณาช่วงเวลาที่เหลือของสัปดาห์:

คำสั่งดึงข้อมูลภาพรวมรายสัปดาห์: การเคลื่อนไหวของดัชนีและสัดส่วนหุ้นขาขึ้นในแต่ละ session ที่เสร็จสิ้น
SQL เบื้องหลังตัวเลขแต่ละตัว
WITH per_day AS (
    SELECT ticker,
           toDate(toTimeZone(window_start, 'America/New_York')) AS d,
           argMax(toFloat64(close), window_start) AS c,
           sum(toFloat64(close) * toFloat64(volume)) AS dv
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE window_start >= '2026-07-02 13:30:00' AND window_start < '2026-07-09 20:00:00'
      AND (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199
    GROUP BY ticker, d
),
lagged AS (
    SELECT ticker, d, c, dv,
           lagInFrame(c) OVER (PARTITION BY ticker ORDER BY d) AS prev_c
    FROM per_day
)
SELECT
    toString(d) AS date,
    round(anyIf((c / prev_c - 1) * 100, ticker = 'SPY'), 2) AS spy_pct,
    round(anyIf((c / prev_c - 1) * 100, ticker = 'QQQ'), 2) AS qqq_pct,
    round(100.0 * countIf(c > prev_c AND prev_c > 0 AND dv >= 1000000) / countIf(c > 0 AND prev_c > 0 AND dv >= 1000000), 1) AS advancer_pct,
    countIf(c > 0 AND prev_c > 0 AND dv >= 1000000) AS liquid_names
FROM lagged
WHERE d >= toDate('2026-07-06')
GROUP BY d
ORDER BY d

วันจันทร์เริ่มต้นด้วยหุ้นที่ราคาเพิ่มขึ้น 62.4% ส่วนวันอังคารและวันพุธลดลงเหลือ 33.9% และ 29.6% ตามลำดับ โดยตัวเลข 71.4% ของวันพฤหัสบดีถือเป็นระดับที่สูงที่สุดในบรรดาสี่เซสชันที่เสร็จสิ้นแล้วของสัปดาห์นี้ (ข้อมูลนี้สรุปหลังจากวันศุกร์ที่ 10 กรกฎาคม) สำหรับ QQQ มีทิศทางเช่นเดียวกัน: -1.82% ในวันอังคาร, 0.25% ในวันพุธ และ +1.67% ในวันพฤหัสบดี

นอกเหนือจากกลุ่มชิป: การซื้อขายของตลาดส่วนที่เหลือ

ดัชนีความกว้างของตลาด (Breadth) ระบุว่าหุ้นส่วนใหญ่ปรับตัวขึ้น แต่ไม่ได้หมายความว่าการพุ่งขึ้นของตลาดเกิดขึ้นอย่างทั่วถึง ข้อมูลด้านล่างคือตะกร้าหุ้นที่มีน้ำหนักเท่ากัน โดยคัดเลือกหุ้นที่มีสภาพคล่องสูงมากลุ่มละสามตัวในแต่ละกลุ่มอุตสาหกรรม ซึ่งเป็นตะกร้าเดิมที่ใช้รายงานทุกวัน

คำสั่งดึงข้อมูลตะกร้า 8 กลุ่มอุตสาหกรรม (กลุ่มละ 3 ชื่อ): ราคาปิดเทียบกับราคาปิด ณ 9 กรกฎาคม แบบถ่วงน้ำหนักเท่ากัน
SQL เบื้องหลังตัวเลขแต่ละตัว
SELECT
    sector,
    count() AS names,
    round(avg(pct_chg), 2) AS avg_pct_chg,
    round(min(pct_chg), 2) AS worst_name_pct,
    round(max(pct_chg), 2) AS best_name_pct,
    round(avg(pct_chg) - max(avg(pct_chg)) OVER (), 2) AS gap_to_best_sector_pct
FROM (
    SELECT
        ticker,
        multiIf(ticker IN ('AMD', 'AVGO', 'KLAC'), 'Semiconductors',
                ticker IN ('AAPL', 'MSFT', 'GOOGL'), 'Big tech',
                ticker IN ('JPM', 'BAC', 'GS'), 'Financials',
                ticker IN ('CAT', 'HON', 'GE'), 'Industrials',
                ticker IN ('XOM', 'CVX', 'COP'), 'Energy',
                ticker IN ('JNJ', 'UNH', 'PFE'), 'Healthcare',
                ticker IN ('KO', 'PG', 'WMT'), 'Staples',
                'Utilities') AS sector,
        (toFloat64(argMaxIf(close, window_start, window_start >= '2026-07-09 13:30:00' AND window_start < '2026-07-09 20:00:00'))
         / toFloat64(argMaxIf(close, window_start, window_start >= '2026-07-08 13:30:00' AND window_start < '2026-07-08 20:00:00')) - 1) * 100 AS pct_chg
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker IN ('AMD', 'AVGO', 'KLAC', 'AAPL', 'MSFT', 'GOOGL', 'JPM', 'BAC', 'GS', 'CAT', 'HON', 'GE',
                     'XOM', 'CVX', 'COP', 'JNJ', 'UNH', 'PFE', 'KO', 'PG', 'WMT', 'NEE', 'DUK', 'SO')
      AND window_start >= '2026-07-08 13:30:00' AND window_start < '2026-07-09 20:00:00'
    GROUP BY ticker
)
GROUP BY sector
ORDER BY avg_pct_chg DESC

Semiconductors นำตลาดที่ +4.24% ขณะที่ Energy ตามมาที่ -2.01% — โดยมีส่วนต่างอยู่ที่ -6.25 จุด (gap_to_best_sector_pct) กลุ่ม Financials เป็นกลุ่มที่ไม่ใช่กลุ่มชิปที่แข็งแกร่งที่สุดที่ +1.88% ส่วนกลุ่ม Staples (-0.91%), Utilities (-0.96%) และ Energy ปิดในแดนลบ กลุ่ม Big tech (AAPL, MSFT และ GOOGL) มีค่าเฉลี่ยการปรับตัวขึ้นที่ระดับ +0.17% ซึ่งถือว่าไม่โดดเด่นนัก การกลับตัวของราคาที่ใหญ่ที่สุดของวันคือ META ที่แกว่งตัวถึง +8.1% ซึ่งไม่อยู่ในตะกร้าทั้งแปดกลุ่ม ส่วนภายในตะกร้านี้ การเคลื่อนที่ของ MSFT จากราคาเปิด -2.25% ไปสู่ราคาปิดที่ +0.33% ถือเป็นการกลับตัวที่รุนแรงที่สุด

การเปิดตลาดของกลุ่มเซมิคอนดักเตอร์ และการปรับตัวลดลงหลังจากนั้น

gap_pct คือราคาเปิดเมื่อเทียบกับราคาปิดของวันพุธ; intraday_pct คือผลการดำเนินงานตลอดทั้งวัน รายชื่อเรียงตามตัวอักษร

คำสั่งดึงข้อมูลหุ้นกลุ่มชิป 14 ตัว: ราคา Gap ตอนเปิดเทียบกับราคาช่วงที่เหลือของวัน ณ 9 กรกฎาคม
SQL เบื้องหลังตัวเลขแต่ละตัว
WITH per_name AS (
    SELECT
        ticker,
        toFloat64(argMaxIf(close, window_start, window_start < '2026-07-09 00:00:00')) AS prior_close,
        toFloat64(argMinIf(open, window_start, window_start >= '2026-07-09 00:00:00')) AS day_open,
        toFloat64(argMaxIf(close, window_start, window_start >= '2026-07-09 00:00:00')) AS day_close,
        maxIf(toFloat64(high), window_start >= '2026-07-09 00:00:00') AS day_high,
        minIf(toFloat64(low), window_start >= '2026-07-09 00:00:00') AS day_low,
        round(sumIf(toFloat64(close) * toFloat64(volume), window_start >= '2026-07-09 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-08 13:30:00' AND window_start < '2026-07-08 20:00:00')
        OR (window_start >= '2026-07-09 13:30:00' AND window_start < '2026-07-09 20:00:00'))
    GROUP BY ticker
)
SELECT
    ticker,
    round(prior_close, 2) AS prior_close,
    round(day_open, 2) AS day_open,
    round(day_close, 2) AS day_close,
    round((day_open / prior_close - 1) * 100, 2) AS gap_pct,
    round((day_close / day_open - 1) * 100, 2) AS intraday_pct,
    round((day_close / prior_close - 1) * 100, 2) AS pct_chg,
    day_dollar_bn
FROM per_name
ORDER BY ticker

KLAC เปิดตลาดที่ +8.14% เหนือราคาปิดวันพุธ ก่อนจะปรับตัวลดลง -3.98%; LRCX เปิดที่ +9.67% และลดลง -3.26%; TER (+7.87%) และ WDC (+7.89%) มีทิศทางราคาในลักษณะเดียวกัน MU กระโดดเปิดที่ +7.07% และร่วงลง -2.56% แต่ยังคงปิดที่ +4.33% โดยมีปริมาณการซื้อขายอยู่ที่ 33.56B ซึ่งเป็นหุ้นที่มีปริมาณการซื้อขายสูงสุดในกลุ่มสำหรับเซสชันที่สอง (สรุปผลของวันพุธ มีข้อมูลของเซสชันแรก) AMD และ SNDK เป็นข้อยกเว้น โดย AMD เพิ่มขึ้น 1.75% หลังจากเปิดตลาดที่ +3.87% และปิดที่ +5.68% ส่วน SNDK ซึ่งเปิดตลาดที่ +6.14% ได้เพิ่มขึ้นอีก 1.23% จนปิดที่ +7.45% และสำหรับ NVDA: เปิดตลาดที่ +0.16% โดยไม่มีช่องว่างราคา และปิดที่ -0.68%

คำสั่งดึงข้อมูลสรุปรายการ: จำนวนหุ้นบวก/ลบ ณ 9 กรกฎาคม ของหุ้นทั้ง 14 ตัว และการเปลี่ยนแปลง 2 วันของ NVDA
SQL เบื้องหลังตัวเลขแต่ละตัว
SELECT
    countIf(close_9 > close_8) AS jul9_green,
    countIf(close_9 < close_8) AS jul9_red,
    countIf(close_8 > close_7) AS jul8_green,
    round(anyIf((close_9 / close_8 - 1) * 100, ticker = 'NVDA'), 2) AS nvda_jul9_pct,
    round(anyIf((close_8 / close_7 - 1) * 100, ticker = 'NVDA'), 2) AS nvda_jul8_pct,
    count() AS names_counted
FROM (
    SELECT ticker,
           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,
           toFloat64(argMaxIf(close, window_start, window_start >= '2026-07-09 13:30:00' AND window_start < '2026-07-09 20:00:00')) AS close_9
    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-09 20:00:00'
    GROUP BY ticker
)

12 จากทั้งหมดสิบสี่หุ้นปิดบวก; ส่วนหุ้นที่ปิดลบจำนวน 2 มีลักษณะสวนทางกับทิศทางตลาด ซึ่งถือเป็นความผิดปกติเชิงโครงสร้างในวันที่ตลาดขาขึ้น และ NVDA ปิดที่ -0.68% หลังจากปิดบวกที่ +3.66% เมื่อวานนี้ หุ้นกลุ่มชิปที่มีมูลค่าตลาดสูงสุดไม่ได้เคลื่อนไหวไปในทิศทางเดียวกับการเติบโตของกลุ่ม แม้จะเป็นหุ้นที่มีการนำเสนอข่าวมากที่สุดก็ตาม

อีกด้านหนึ่ง: หุ้นกลุ่ม mega-cap เปิดลบก่อนจะดีดตัวกลับขึ้นมา

คำสั่งดึงข้อมูลหุ้น Mega-caps และหุ้นกลุ่ม Defensive 8 ตัว: ราคา Gap ตอนเปิดเทียบกับราคาช่วงที่เหลือของวัน ณ 9 กรกฎาคม
SQL เบื้องหลังตัวเลขแต่ละตัว
WITH per_name AS (
    SELECT
        ticker,
        toFloat64(argMaxIf(close, window_start, window_start < '2026-07-09 00:00:00')) AS prior_close,
        toFloat64(argMinIf(open, window_start, window_start >= '2026-07-09 00:00:00')) AS day_open,
        toFloat64(argMaxIf(close, window_start, window_start >= '2026-07-09 00:00:00')) AS day_close,
        round(sumIf(toFloat64(close) * toFloat64(volume), window_start >= '2026-07-09 00:00:00') / 1e9, 2) AS day_dollar_bn
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker IN ('AAPL', 'AMZN', 'CVX', 'GOOGL', 'JNJ', 'META', 'MSFT', 'TSLA')
      AND ((window_start >= '2026-07-08 13:30:00' AND window_start < '2026-07-08 20:00:00')
        OR (window_start >= '2026-07-09 13:30:00' AND window_start < '2026-07-09 20:00:00'))
    GROUP BY ticker
)
SELECT
    ticker,
    round(prior_close, 2) AS prior_close,
    round(day_open, 2) AS day_open,
    round(day_close, 2) AS day_close,
    round((day_open / prior_close - 1) * 100, 2) AS gap_pct,
    round((day_close / day_open - 1) * 100, 2) AS intraday_pct,
    round((day_close / prior_close - 1) * 100, 2) AS pct_chg,
    day_dollar_bn
FROM per_name
ORDER BY ticker

เจ็ดจากแปดหุ้นเปิดตลาดต่ำกว่าราคาปิดเมื่อวันพุธ แต่ทิศทางหลังจากนั้นทำให้หุ้นเหล่านี้แตกต่างกัน META เปิดลบ -3.16% ก่อนจะดีดตัวขึ้น +8.1% จนปิดที่ 4.69% ซึ่งเป็นการกลับตัวจากราคาเปิดไปสู่ราคาปิดที่รุนแรงที่สุดในหน้านี้ MSFT เปิดลบ -2.25% และฟื้นตัวขึ้นมาที่ +0.33% ขณะที่ AMZN (+1.4%) และ AAPL (+0.93%) มีทิศทางเช่นเดียวกัน ส่วน TSLA ไม่มีการกระโดดของราคาและปรับตัวขึ้นไปที่ +3.21% หุ้นที่ราคายังคงลดลงไม่ใช่หุ้นกลุ่มเติบโต ได้แก่ GOOGL (-0.76%), CVX (-1.06%) และ JNJ (-1.62%) กลไกการเกิดช่องว่างราคาหุ้นข้ามคืน อธิบายถึงกลไกดังกล่าวไว้

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

คำสั่งดึงข้อมูล6 อันดับแรกโดยมูลค่าซื้อขาย และ 4 อันดับแรกโดยจำนวนหุ้น — 9 กรกฎาคม (ช่วงเวลาปกติ)
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-09 13:30:00' AND window_start < '2026-07-09 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-09 13:30:00' AND window_start < '2026-07-09 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 กลับมาครองอันดับหนึ่งในกระดานปริมาณการซื้อขายด้วยจำนวน 33.56B หุ้น ซึ่งสูงกว่า SPY (24.37B), NVDA (21.28B) และ SNDK (20.59B) โดยมีหุ้นกลุ่มหน่วยความจำอยู่ในสองอันดับแรกจากสี่อันดับแรก ส่วนกระดานหุ้นรายตัวมีสภาวะตลาดที่แตกต่างออกไป โดย SOXS มีปริมาณการซื้อขายสูงสุดที่ 558.1M หุ้น คิดเป็นราคาโดยนัยที่ $3.91 (ปริมาณการซื้อขายสัมพัทธ์)

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

รูปแบบปริมาณการซื้อขายเป็นรูปตัว U อย่างชัดเจน โดยช่วงเปิดตลาดมีปริมาณการซื้อขาย 1.79B หุ้น (คิดเป็น 91.4% ของปริมาณสูงสุด) ช่วงต่ำสุดในช่วงกลางวันอยู่ที่ 0.64B และช่วงครึ่งชั่วโมงของการ ประมูลปิดตลาด มีปริมาณการซื้อขายสูงสุดของวันที่ 1.96B แม้ว่าปริมาณการซื้อขายจะพุ่งสูงตั้งแต่ช่วงเปิดตลาด แต่ปริมาณการซื้อขายกลับมาสูงสุดอีกครั้งในช่วงปิดตลาด

ข้อมูลการซื้อขาย 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) = '260709', 1, 0) AS is_0dte
            FROM global_markets.options_trades
            WHERE sip_timestamp >= '2026-07-09 00:00:00' AND sip_timestamp < '2026-07-10 00:00:00'
            GROUP BY ticker
            ORDER BY vol DESC
            LIMIT 3
        )
    ) AS top3,
    (
        SELECT round(toFloat64(argMax(close, window_start)), 2)
        FROM global_markets.delayed_stocks_minute_aggs
        WHERE ticker = 'SPY' AND window_start >= '2026-07-09 13:30:00' AND window_start < '2026-07-09 20:00:00'
    ) AS spy_regular_close,
    (
        SELECT round(toFloat64(sum(size)) / 1e6, 2)
        FROM global_markets.options_trades
        WHERE sip_timestamp >= '2026-07-08 00:00:00' AND sip_timestamp < '2026-07-09 00:00:00'
    ) AS jul8_contracts_m,
    (
        SELECT round(100.0 * sumIf(size, substring(ticker, length(ticker) - 14, 6) = '260708') / sum(size), 1)
        FROM global_markets.options_trades
        WHERE sip_timestamp >= '2026-07-08 00:00:00' AND sip_timestamp < '2026-07-09 00:00:00'
    ) AS jul8_pct_0dte
SELECT
    round(count() / 1e6, 2) AS option_prints_m,
    round(toFloat64(sum(size)) / 1e6, 2) AS contracts_m,
    jul8_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) = '260709') / sum(size), 1) AS pct_0dte,
    jul8_pct_0dte,
    spy_regular_close,
    top3.1[1] AS top1_und, top3.2[1] AS top1_strike, top3.3[1] AS top1_type,
    round(toFloat64(top3.4[1]) / 1e3, 1) AS top1_contracts_k, top3.5[1] AS top1_avg_px, top3.6[1] AS top1_is_0dte,
    top3.1[2] AS top2_und, top3.2[2] AS top2_strike, top3.3[2] AS top2_type, top3.6[2] AS top2_is_0dte,
    top3.1[3] AS top3_und, top3.2[3] AS top3_strike, top3.3[3] AS top3_type, top3.6[3] AS top3_is_0dte,
    round(toFloat64(top3.2[1]) - spy_regular_close, 2) AS top1_moneyness
FROM global_markets.options_trades
WHERE sip_timestamp >= '2026-07-09 00:00:00' AND sip_timestamp < '2026-07-10 00:00:00'

ปริมาณการซื้อขายในตลาดประกอบด้วยสัญญา call จำนวน 9.99M และสัญญา put จำนวน 58.85M ซึ่งลดลงจากวันพุธที่ผ่านมาซึ่งอยู่ที่ 63.26M โดยมีสัดส่วนสัญญา call อยู่ที่ 58% ของปริมาณทั้งหมด ขณะที่สัดส่วนของ 0DTE ลดลงเหลือ 28.7% จากเดิมที่ 38.7% สัญญาที่มีการซื้อขายสูงสุดสามอันดับแรกคือสัญญา call ของ SPY ที่หมดอายุในวันเดียวกัน ได้แก่ 751C (จำนวน 846.6K สัญญา ราคาเฉลี่ย $0.526), 752C และ 750C ซึ่งเป็นการวางระดับราคา (ladder) รอบราคาปิดของ SPY ที่ $751.64 (ข้อมูล options แบบ 0DTE)

การป้องกันความเสี่ยงหรือการเก็งกำไร? การป้องกันความเสี่ยง (hedge) คือการซื้อ strike price ที่อยู่ ห่าง จากราคาปัจจุบัน (away from the money) ส่วนการเก็งกำไร (bet) คือการซื้อในทิศทางที่ต้องการ

คำสั่งดึงข้อมูลOptions SPY แบบวันเดียว (0DTE): จำนวนสัญญาแบ่งตามระยะ Strike จากราคาปิด
SQL เบื้องหลังตัวเลขแต่ละตัว
WITH (
    SELECT toFloat64(argMax(close, window_start))
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker = 'SPY' AND window_start >= '2026-07-09 13:30:00' AND window_start < '2026-07-09 20:00:00'
) AS spy_close
SELECT
    multiIf(dist < -2, 'Strike >2% below close',
            dist < -0.5, 'Strike 0.5-2% below',
            dist <= 0.5, 'Strike within 0.5%',
            dist <= 2, 'Strike 0.5-2% above',
            'Strike >2% above close') AS strike_bucket,
    round(toFloat64(sumIf(size, option_type = 'C')) / 1e3, 1) AS call_contracts_k,
    round(toFloat64(sumIf(size, option_type = 'P')) / 1e3, 1) AS put_contracts_k,
    round(100.0 * sumIf(size, option_type = 'C') / sum(size), 1) AS call_share_pct
FROM (
    SELECT option_type, size, (toFloat64(strike_price) / spy_close - 1) * 100 AS dist
    FROM global_markets.options_trades
    WHERE sip_timestamp >= '2026-07-09 00:00:00' AND sip_timestamp < '2026-07-10 00:00:00'
      AND underlying_symbol = 'SPY'
      AND substring(ticker, length(ticker) - 14, 6) = '260709'
)
GROUP BY strike_bucket
ORDER BY min(dist)

ข้อมูลการซื้อขายในวันเดียวกันส่วนใหญ่กระจุกตัวอยู่ที่ระดับราคาปัจจุบัน (at the money) โดยมีสัญญา call จำนวน 3768.9k และสัญญา put จำนวน 2563.3k ในช่วงราคาที่ห่างจากราคาปิดไม่เกินครึ่งเปอร์เซ็นต์ (59.5% call) สำหรับสัญญาที่ราคาห่างจากราคาปิด (wings) มีการแบ่งตามทิศทาง โดยมีสัญญา put จำนวน 1356.5k เทียบกับสัญญา call จำนวน 255.4k (โดยมีสัดส่วนสัญญา call ที่ราคาต่ำกว่าราคาปิดอยู่ที่ 1.2%) ส่วนด้านบนมีสัญญา call จำนวน 91.6% จากปริมาณรวมที่น้อยกว่ามากเพียง 29.1k ปริมาณการซื้อขายในส่วน wings กระจุกตัวอยู่ที่ strike price ฝั่งขาลงซึ่งเป็นการซื้อเพื่อป้องกันความเสี่ยง โดยเป็นการวางระดับราคาแบบ at-the-money ไม่ใช่การวางระดับราคาฝั่งขาขึ้น

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

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

ข้อเท็จจริงที่เงียบสงบที่สุดของวันคือ: มีการอัปเดต NBBO บน ticker ของหุ้นจำนวน 383.44M ครั้ง ซึ่งคิดเป็น -27.7% เมื่อเทียบกับวันพุธ ความผันผวนเกิดขึ้นที่ระดับราคา ไม่ใช่ปริมาณการซื้อขายที่เกิดขึ้นจริง QQQ มีปริมาณการอัปเดตสูงสุดในกลุ่มหุ้นรายตัวที่ 4.35M ตามด้วย SPY ที่ 2.71M และ NVDA ที่ 1.83M

คำสั่งดึงข้อมูลSPY / QQQ / NVDA / TSLA / MU / SNDK / AVGO: ค่ากลาง Quoted 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-09 13:30:00' AND sip_timestamp < '2026-07-09 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

ค่ามัธยฐานของ spread การเสนอราคาของ SPY อยู่ที่ 0.27 bps, QQQ อยู่ที่ 0.42 และ NVDA อยู่ที่ 0.99 ซึ่งเป็นตัวเลขปกติ ส่วนกลุ่มที่มี spread กว้างกว่า ได้แก่ MU ที่ 4.23 bps และ SNDK ที่ 8.79 bps (ส่วนต่างราคาเสนอซื้อและราคาเสนอขาย คือต้นทุนที่วัดจากค่านี้)

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

ค่าเฉลี่ย spread การเสนอราคาของ SPY อยู่ที่ 2.071 cents ซึ่งอยู่ในลำดับที่ 10 จาก 22 session ที่ผ่านมา โดยอยู่ในช่วง 1.8092.865 cents แสดงให้เห็นว่าไม่มีความตึงตัวในการเสนอราคา แม้ในช่วงเปิดตลาดก็ตาม

คำสั่งดึงข้อมูลข้อมูล NBBO ของ Options: จำนวนการอัปเดตทั้งหมดเทียบกับหุ้น และส่วนแบ่งของ SPY
SQL เบื้องหลังตัวเลขแต่ละตัว
WITH
    (SELECT count() FROM global_markets.cache_options_quotes WHERE sip_timestamp >= '2026-07-09 00:00:00' AND sip_timestamp < '2026-07-10 00:00:00') AS jul9_options_rows,
    (SELECT count() FROM global_markets.cache_stocks_quotes WHERE sip_timestamp >= '2026-07-09 00:00:00' AND sip_timestamp < '2026-07-10 00:00:00') AS jul9_stock_quote_rows
SELECT
    round(jul9_options_rows / 1e9, 2) AS jul9_options_bn,
    round(jul9_options_rows / jul9_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-09 13:30:00' AND sip_timestamp < '2026-07-09 20:00:00') / 1e6, 0) AS jul9_spy_options_m

ข้อมูลการเสนอราคาในตลาด options มีการอัปเดต NBBO ทั้งหมด 6.9 billion ครั้ง หรือคิดเป็น 18 เท่าของ ticker หุ้น โดยเฉพาะ SPY เพียงอย่างเดียวมีการอัปเดตถึง 242M ครั้ง

อัตราดอกเบี้ย: ข้อมูลประจำวันที่ 9 กรกฎาคม

คำสั่งดึงข้อมูลสถานะการซื้อขาย Treasury: รายการ ณ 9 กรกฎาคม และเส้น Yield Curve ณ 8 กรกฎาคม (ข้อมูลล่าสุด)
SQL เบื้องหลังตัวเลขแต่ละตัว
SELECT
    (SELECT count() FROM global_markets.treasury_yields WHERE date = '2026-07-09') AS jul9_print_rows,
    toString(any(date)) AS latest_print_date,
    round(toFloat64(any(yield_2_year)), 2) AS latest_2y_pct,
    round(toFloat64(any(yield_10_year)), 2) AS latest_10y_pct,
    round(toFloat64(any(yield_30_year)), 2) AS latest_30y_pct,
    round(toFloat64(any(yield_10_year)) - toFloat64(any(yield_2_year)), 2) AS latest_2s10s_pct
FROM global_markets.treasury_yields
WHERE date = '2026-07-09'

ข้อมูลอัตราผลตอบแทนพันธบัตรประจำวันที่ 9 กรกฎาคม ถูกเผยแพร่ออกมาหลังจากมีการเขียนรายงาน โดยมีความล่าช้าตามปกติของไฟล์อัตราผลตอบแทนรายวัน — บันทึกถึงแถวที่ 1 แล้ว เส้นอัตราผลตอบแทนของวัน (2026-07-09): 2-year 4.16%, 10-year 4.54%, 30-year 5.05% และส่วนต่าง 2s10s 0.38 — โดยอัตราผลตอบแทนอายุ 2 ปี ปรับตัวลดลงจากระดับของวันที่ 8 กรกฎาคม ในขณะที่อัตราผลตอบแทนระยะยาวทรงตัว

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

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

ข้อมูลตามปฏิทินปกติภายใต้สถานการณ์ที่ไม่ปกติ: บันทึกการจ่ายเงิน ex-dividend 127, การรวมหุ้น 5, การแตกหุ้น 1, การยื่นเอกสารต่อ SEC 2979 (623 Form 4, 605 424B2, 149 8-K) ข้อมูลข่าวสารประกอบด้วย 184 บทความ จาก 3 สำนักพิมพ์ โดยมีหุ้นที่ถูกกล่าวถึงมากที่สุดคือ NVDA จำนวน 20 บทความ และทิ้งห่างจากอันดับถัดไปอยู่ 8

ข้อมูลที่น่าสนใจ

ข้อมูลจากตารางของเรา — ข้อเท็จจริงสำหรับเซสชันถัดไป ไม่ใช่การคาดการณ์

คำสั่งดึงข้อมูลรายการถัดไป: session ถัดไป, รายการ Ex-dividend, ลำดับวันหมดอายุ SPY และสถานะ Short-interest
SQL เบื้องหลังตัวเลขแต่ละตัว
SELECT
    toString(min(d)) AS next_session_date,
    (SELECT count() FROM global_markets.stocks_market_holidays WHERE date = '2026-07-10') AS next_session_holiday_rows,
    (SELECT count() FROM global_markets.stocks_dividends WHERE ex_dividend_date = '2026-07-10') AS ex_div_records_next,
    (SELECT countIf(ticker IN ('AAPL', 'MSFT', 'JNJ', 'KO', 'PG', 'XOM', 'CVX', 'JPM', 'WMT', 'PEP', 'HON', 'CAT'))
     FROM global_markets.stocks_dividends WHERE ex_dividend_date = '2026-07-10') AS household_ex_div_next,
    (SELECT round(toFloat64(sum(size)) / 1e6, 2) FROM global_markets.options_trades
     WHERE sip_timestamp >= '2026-07-09 00:00:00' AND sip_timestamp < '2026-07-10 00:00:00'
       AND underlying_symbol = 'SPY' AND substring(ticker, length(ticker) - 14, 6) = '260710') AS spy_next_expiry_contracts_m,
    (SELECT round(toFloat64(sum(size)) / 1e6, 2) FROM global_markets.options_trades
     WHERE sip_timestamp >= '2026-07-09 00:00:00' AND sip_timestamp < '2026-07-10 00:00:00'
       AND underlying_symbol = 'SPY' AND substring(ticker, length(ticker) - 14, 6) = '260717') AS spy_monthly_expiry_contracts_m,
    (SELECT toString(max(settlement_date)) FROM global_markets.stocks_short_interest) AS latest_short_settlement,
    (SELECT count() FROM global_markets.stocks_short_interest WHERE settlement_date = '2026-07-15') AS jul15_short_rows
FROM (
    SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS d
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker = 'SPY' AND window_start >= '2026-07-10 00:00:00' AND window_start < '2026-07-14 00:00:00'
)

เซสชันถัดไปคือ 2026-07-10 โดยมีรายการวันหยุดคือ 0 ซึ่งเป็นวันศุกร์ปกติ มีบริษัท 0 แห่งจากรายการบริษัทชื่อดังที่ขึ้นเครื่องหมาย ex-dividend ในเช้าวันนั้น โดยมีบริษัททั้งหมด 153 แห่ง การหมดอายุของ SPY ในวันศุกร์นี้มีปริมาณสัญญาซื้อขายล่วงหน้าสูงที่สุด โดยมีสัญญาจำนวน 1.66M ในวันที่ 9 กรกฎาคม เทียบกับ 0.57M ของสัญญาเดือนกรกฎาคม ข้อมูล Short-interest: ข้อมูลการชำระราคาล่าสุดที่มีคือ 2026-06-30 และยังมีรายการที่รอการยื่นสำหรับช่วงกลางเดือนกรกฎาคมอีก 0 รายการ โดย FINRA จะเผยแพร่ข้อมูลประมาณแปดวันทำการหลังการชำระราคา (ทำไมข้อมูล short interest ถึงล่าช้าไปสองสัปดาห์)

ข้อมูลเซสชันที่ได้รับการตรวจสอบแล้ว

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

เซสชันปกติแบบเต็มรูปแบบ: แท่งราคาแรกของ SPY คือ 04:00 ET แท่งสุดท้ายคือ 19:59 ET, มีแท่งราคาปกติรายนาทีจำนวน 390 แท่ง, ไม่มีแถวข้อมูลวันหยุด การปิดตลาดครั้งถัดไป: Labor Day, September 7, 2026

คำถามที่พบบ่อย

เกิดอะไรขึ้นในตลาดหุ้นเมื่อวันที่ 9 กรกฎาคม 2026?

ดัชนี ETF ทุกตัวปิดบวก ได้แก่ QQQ +1.67%, IWM +1.29%, SPY +0.85%, DIA +0.29% และหุ้นที่มีสภาพคล่องสูงเพิ่มขึ้น 71.5% หุ้นกลุ่มอุปกรณ์ผลิตชิปเปิดกระโดดขึ้นแล้วราคาปรับตัวลดลง ส่วนหุ้นกลุ่ม mega-cap เปิดลดลงแล้วราคาฟื้นตัวกลับมา

ทำไมหุ้นกลุ่มอุปกรณ์ผลิตชิปอย่าง KLAC และ LRCX ถึงพุ่งสูงขึ้นในวันที่ 9 กรกฎาคม 2026?

ข้อมูลของเราไม่ระบุสาเหตุ เนื่องจากไม่มีบทความหรือการยื่นเอกสารต่อ SEC สำหรับ KLAC, LRCX, TER หรือ WDC ตั้งแต่ช่วงปิดตลาดวันพุธจนถึงวันพฤหัสบดี การเคลื่อนไหวนี้ถูกสะท้อนในราคาไปแล้วในช่วง premarket ก่อนเวลา 09:30 น. ตามเวลา ET

ทำไม NVDA ถึงปรับตัวลดลงในขณะที่กลุ่มชิปพุ่งทะยาน?

NVDA ปิดที่ -0.68% ในขณะที่ 12 ของหุ้นกลุ่มชิปทั้งสิบสี่ตัวปิดบวก หุ้นตัวนี้ไม่มีการเปิดกระโดด (0.16% เมื่อเปิดตลาด) และเป็นหุ้นที่มีการรายงานข่าวมากที่สุดที่ 20 บทความ ซึ่งถือเป็นสถิติการเกิดเหตุการณ์ร่วมกันที่สูงที่สุด แต่ข้อมูลนี้ไม่สามารถระบุสาเหตุได้

วันที่ 9 กรกฎาคม 2026 เป็นวันที่ผิดปกติสำหรับตลาดหรือไม่?

หากพิจารณาในระดับดัชนีถือว่าไม่ผิดปกติ โดยขนาดการเคลื่อนไหวของ QQQ อยู่ในลำดับที่ 10 จาก 21 ของช่วงเวลาที่ผ่านมา และค่าเฉลี่ย spread ของ SPY อยู่ที่ 10 ของ 22 ส่วนความแตกต่างของราคา (dispersion) ในระดับล่างคือ: มีส่วนต่าง -6.25 จุด ระหว่างกลุ่มอุตสาหกรรมที่ทำผลงานได้ดีที่สุดและแย่ที่สุด

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

เวลาทำการปกติคือ 13:3020:00 UTC (9:30 am–4:00 pm ET) ส่วนแผงข้อมูลช่วง premarket ใช้เวลา 08:00–13:30 UTC ตะกร้าข้อมูลรายกลุ่มอุตสาหกรรมทั้งแปดรายการได้รับการคัดสรรและกำหนดน้ำหนักเท่ากัน โดยแต่ละรายการประกอบด้วยหุ้นที่มีสภาพคล่องสูงสามตัว ตามรายชื่อ ticker ที่ระบุใน SQL ของแผงข้อมูลนั้น นี่คือวิธีการที่กำหนดไว้ ไม่ใช่การจัดกลุ่มโดยผู้ให้บริการ ข้อมูลหุ้นสามตัวใช้เป็นตัวแทนของกลุ่ม ไม่ใช่การเป็นตัวแทนของทั้งกลุ่มอุตสาหกรรม แผงข้อมูลปัจจัยขับเคลื่อนตลาด (catalyst panel) นับรวมเฉพาะฟีดข่าวของเราและดัชนี EDGAR เท่านั้น

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

แผงข้อมูลราย ticker เรียงตามลำดับอักษร ดังนั้นการอ้างอิงในเนื้อหาแต่ละจุดจะระบุถึงแถวที่แน่นอน ส่วนตารางอันดับ (leaderboards) เรียงตามมูลค่า โดยทุกการระบุตำแหน่งมีขอบเขตที่ชัดเจน ข้อมูลการพิมพ์ของพันธบัตร (treasury print) และการชำระดุลสถานะ short-interest ในช่วงกลางเดือนกรกฎาคม ถูกจำกัดไว้ที่ศูนย์แถว ซึ่งหากข้อมูลเหล่านี้มาถึง จะมีการเขียนบทความนี้ใหม่

ระเบียบวิธี

  • แหล่งข้อมูล: แต่ละแผงข้อมูลใช้ตาราง SQL ของตนเอง ได้แก่ ข้อมูลสรุปรายนาที, แคช NBBO ของหุ้นและออปชัน, การซื้อขายออปชัน, ฟีดข่าวของเรา, ดัชนี EDGAR, เงินปันผล, สถานะ Short Interest, วันหยุด และอัตราผลตอบแทนพันธบัตร
  • ข้อกำหนด: ใช้ค่า UTC แบบดิบใน WHERE และใช้ป้ายกำกับ ET เฉพาะใน SELECT; gap = ราคาเปิดของแท่งเทียนปกติแท่งแรก ÷ ราคาปิดปกติก่อนหน้า − 1; ตัวเลขของเซสชันก่อนหน้าและสัปดาห์ก่อนหน้าคำนวณภายในคิวรี และไม่มีการนำข้อมูลมาจากโพสต์ก่อนหน้า ข้อมูลในคลังข้อมูล ณ วันที่ 13 กรกฎาคม 2026