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

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

ตลาดเปิดกระโดดตามกลุ่มหุ้นเติบโตหลังช่วงวันหยุด Independence Day โดยดัชนี QQQ และ DIA มีทิศทางต่างกันอย่างชัดเจน พร้อมบันทึกระดับราคาที่แคบที่สุดในรอบหนึ่งเดือน

วันจันทร์ที่ 6 กรกฎาคม 2026 — ซึ่งเป็นเซสชันแรกหลังช่วงวันหยุด Independence Day — เริ่มต้นด้วยการเปิดตลาดกระโดดขึ้นตามกลุ่มหุ้นเติบโต (growth) และสามารถรักษาฐานราคาไว้ได้ โดย QQQ ปิดที่ 1.39% เทียบกับ 0.42% ของ DIA ซึ่งเป็นทิศทางที่สะท้อนถึง การหมุนเวียนกลุ่มหุ้นเมื่อวันพฤหัสบดี และดัชนีความกว้างของตลาด (breadth) เป็นบวก โดยหุ้นที่มีสภาพคล่องสูง 3861 ปรับตัวขึ้นสวนทางกับ 2242 การเคลื่อนไหวส่วนใหญ่เกิดจากการเปิดตลาดกระโดด (reopening gap) ซึ่งเป็นระดับราคาที่แคบที่สุดของดัชนีในช่วงหนึ่งเดือนที่ผ่านมา ตัวเลขทั้งหมดด้านล่างนี้มาจากการดึงข้อมูลจากฐานข้อมูลโดยตรง

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

การเปลี่ยนแปลงนี้เปรียบเทียบระหว่างช่วงนาทีสุดท้ายของตลาดปกติเมื่อวันที่ 6 กรกฎาคม กับวันที่ 2 กรกฎาคม ซึ่งเป็นวันพฤหัสบดีที่ผ่านมาหนึ่งวันเนื่องจากเป็นวันหยุดตลาด

คำสั่งดึงข้อมูลSPY / QQQ / DIA / IWM — 6 กรกฎาคม เทียบกับราคาปิดวันที่ 2 กรกฎาคม (เวลาทำการปกติ)
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-02 13:30:00' AND window_start < '2026-07-02 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-06 13:30:00' AND window_start < '2026-07-06 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.39% ของ QQQ เป็นผู้นำในกลุ่ม ETF ดัชนีทั้งสี่ ส่วน 0.42% ของ DIA มีผลงานต่ำสุด ซึ่งเป็นทิศทางที่ตรงกันข้ามกับ วันพฤหัสบดี ที่ DIA ปรับตัวขึ้นและ QQQ ปรับตัวลง SPY ปิดที่ 0.87% และ IWM ปิดที่ 0.45% รูปแบบราคาของวันนี้เน้นการเคลื่อนที่แบบ Gap มากกว่าการค่อยๆ ปรับตัวขึ้น โดย QQQ เปิดตลาดที่ 1.01% เหนือราคาปิดของวันพฤหัสบดี และเพิ่มขึ้นเพียง 0.38% จากราคาเปิดถึงราคาปิด ในขณะที่ Gap ของ SPY ที่ระดับ 0.53% เป็นปัจจัยหลักที่ทำให้เกิดการปรับตัวขึ้น 0.87% ของวัน ส่วน IWM (0.07%) และ DIA (0.17%) มี Gap เพียงเล็กน้อย และเน้นการปรับตัวขึ้นอย่างต่อเนื่องภายในช่วงเวลาซื้อขายแทน

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

คำสั่งดึงข้อมูลอันดับการเคลื่อนที่ของ SPY จากราคาเปิดถึงราคาปิด เทียบกับรอบเดือนที่ผ่านมา (อันดับ 1 = การเคลื่อนที่สัมบูรณ์สูงสุด)
SQL เบื้องหลังตัวเลขแต่ละตัว
SELECT round(anyIf(oc_pct, d = toDate('2026-07-06')), 2) AS day_move_pct,
       arrayCount(x -> x > abs(anyIf(oc_pct, d = toDate('2026-07-06'))), groupArrayIf(abs(oc_pct), d != toDate('2026-07-06'))) + 1 AS abs_move_rank,
       count() AS sessions_compared,
       toString(min(d)) AS first_session
FROM (
    SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS d,
           (argMax(toFloat64(close), window_start) / argMin(toFloat64(open), window_start) - 1) * 100 AS oc_pct
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker = 'SPY'
      AND window_start >= toDateTime('2026-06-06 00:00:00')
      AND window_start < toDateTime('2026-07-07 00:00:00')
      AND (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199
    GROUP BY d
)

ในระดับดัชนีถือว่าไม่ผิดปกติ โดยการเคลื่อนที่ของ SPY จากราคาเปิดถึงราคาปิดที่ 0.34% จัดอยู่ในอันดับที่ 13 จาก 19 เซสชันที่ผ่านมาเมื่อพิจารณาจากขนาดการเคลื่อนที่สัมบูรณ์ ซึ่งถือว่าอยู่ในระดับปานกลาง การเคลื่อนไหวระหว่างวันเป็นไปอย่างปกติ แต่ความผันผวนที่เกิดขึ้นในช่วง gap คือจุดสำคัญของวันนี้

ความกว้างของตลาด: สัญญาณบวก และการเติบโตกลับมาเป็นผู้นำ

คำสั่งดึงข้อมูลจำนวนหุ้นบวกเทียบกับหุ้นลบ สำหรับหุ้นที่มีมูลค่าซื้อขายอย่างน้อย $1M ในวันที่ 6 กรกฎาคม
SQL เบื้องหลังตัวเลขแต่ละตัว
WITH per_ticker AS (
    SELECT
        ticker,
        toFloat64(argMaxIf(close, window_start, window_start < '2026-07-06 00:00:00')) AS prior_close,
        toFloat64(argMaxIf(close, window_start, window_start >= '2026-07-06 00:00:00')) AS day_close,
        sumIf(toFloat64(close) * toFloat64(volume), window_start >= '2026-07-06 00:00:00') AS day_dollar_volume
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE (window_start >= '2026-07-02 13:30:00' AND window_start < '2026-07-02 20:00:00')
       OR (window_start >= '2026-07-06 13:30:00' AND window_start < '2026-07-06 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

มีหุ้นที่ราคาเพิ่มขึ้น 3861 ตัว, หุ้นที่ราคาลดลง 2242 ตัว และหุ้นที่ราคาคงที่ 86 ตัว — คิดเป็นหุ้นที่ราคาเพิ่มขึ้น 62.4% ของหุ้นที่มีสภาพคล่องสูง ทั้งการวัดความกว้างของตลาดแบบถ่วงน้ำหนักดัชนีและแบบจำนวนเท่ากันต่างแสดงสัญญาณบวก ซึ่งต่างจาก วันพฤหัสบดี ที่ผลลัพธ์ออกมาสวนทางกัน ตัวกรองนี้ตัดหุ้นที่มีมูลค่าการซื้อขายต่ำกว่า $1M ออกไปจำนวน 5361 จากทั้งหมด 11550 ของหุ้นที่มีการซื้อขายต่อเนื่องสองวัน

แยกตามกลุ่มอุตสาหกรรม: ความแตกต่างของราคาเป็นอย่างไร?

หุ้นขนาดใหญ่สี่ตัวไม่สามารถกำหนดทิศทางตลาดทั้งหมดได้ คณะกรรมการประเมินราคาประจำวันผ่าน ETF ขนาดใหญ่ 11 ตัว ซึ่งแต่ละกองทุนแทนหนึ่งส่วนใน S&P 500 โดยใช้ตะกร้าหุ้นเดิมในทุกเซสชัน ให้สังเกตส่วนต่างระหว่างกลุ่มอุตสาหกรรมที่ทำผลงานได้ดีที่สุดกับแย่ที่สุด ซึ่งก็คือ dispersion ของวันนั้น

คำสั่งดึงข้อมูล11 Sector ETFs: 6 กรกฎาคม เทียบกับราคาปิดวันที่ 2 กรกฎาคม แบ่งตาม Gap และ Intraday
SQL เบื้องหลังตัวเลขแต่ละตัว
WITH per_name AS (
    SELECT
        ticker,
        toFloat64(argMaxIf(close, window_start, window_start < '2026-07-06 00:00:00')) AS prior_close,
        toFloat64(argMinIf(open, window_start, window_start >= '2026-07-06 00:00:00')) AS day_open,
        toFloat64(argMaxIf(close, window_start, window_start >= '2026-07-06 00:00:00')) AS day_close,
        round(sumIf(toFloat64(close) * toFloat64(volume), window_start >= '2026-07-06 00:00:00') / 1e9, 2) AS day_dollar_bn
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker IN ('XLB', 'XLC', 'XLE', 'XLF', 'XLI', 'XLK', 'XLP', 'XLRE', 'XLU', 'XLV', 'XLY')
      AND ((window_start >= '2026-07-02 13:30:00' AND window_start < '2026-07-02 20:00:00')
        OR (window_start >= '2026-07-06 13:30:00' AND window_start < '2026-07-06 20:00:00'))
    GROUP BY ticker
)
SELECT
    ticker,
    round((day_close / prior_close - 1) * 100, 2) AS pct_chg,
    round((day_open / prior_close - 1) * 100, 2) AS gap_pct,
    round((day_close / day_open - 1) * 100, 2) AS intraday_pct,
    day_dollar_bn,
    round(max((day_close / prior_close - 1) * 100) OVER () - (day_close / prior_close - 1) * 100, 2) AS points_behind_leader
FROM per_name
ORDER BY pct_chg DESC, ticker ASC

กลุ่ม Technology (XLK) นำตลาดที่ระดับ 1.71% โดยส่วนใหญ่เป็นผลมาจากส่วนต่างราคา: อยู่ที่ 1.19% เมื่อเปิดตลาด และ 0.52% ในช่วงหกชั่วโมงครึ่งถัดมา ตามมาด้วยกลุ่ม Financials (0.99%) และ Industrials (0.9%) จากนั้นทิศทางก็เปลี่ยนไป โดยแถวที่เป็นสีเขียวห้าแถวถูกแทนที่ด้วยแถวสีแดงหกแถวในกลุ่มหุ้นปลอดภัย (defensive) ได้แก่ Utilities, Health Care และ Staples ซึ่งลดลงไปอยู่ที่ -1.08% เมื่อพิจารณาจากบนลงล่าง 2.79 percentage points คือส่วนต่างระหว่างกลุ่มที่ดีที่สุดและแย่ที่สุด ในวันที่ดัชนี S&P เคลื่อนที่ 0.87% ซึ่งมากกว่าการเคลื่อนที่ของดัชนีหลายเท่า และเป็นเหตุผลที่ไม่ควรตีความว่าวันที่ตลาดเป็นสีเขียวหมายถึงทุกกลุ่มทำผลงานได้ดีเหมือนกันหมด กลุ่ม Real Estate และ Utilities มีทิศทางตรงกันข้ามกับกลุ่ม Tech โดยเปิดตลาดใกล้เคียงกับระดับเดิม (0.09%, -0.11%) ก่อนจะปรับตัวลดลงตลอดทั้งเซสชัน (-1.01% และ -0.92% จากราคาเปิดถึงราคาปิด)

ไฮไลท์ประจำวัน: กลุ่มหน่วยความจำฟื้นตัวเพียงครึ่งเดียว

กลุ่มหน่วยความจำและอุปกรณ์จัดเก็บข้อมูลที่ปรับตัวลงอย่างหนักใน วันพุธ และ วันพฤหัสบดี เริ่มมีการฟื้นตัวในวันจันทร์ แต่ฟื้นตัวได้เพียงครึ่งเดียวเท่านั้น

คำสั่งดึงข้อมูลกลุ่มหุ้น Memory และ Storage: การเปลี่ยนแปลงเทียบกับราคาปิดวันพฤหัสบดี, ช่วงเวลาของ Range และ Dollar Volume
SQL เบื้องหลังตัวเลขแต่ละตัว
WITH per_name AS (
    SELECT
        ticker,
        toFloat64(argMaxIf(close, window_start, window_start < '2026-07-06 00:00:00')) AS prior_close,
        toFloat64(argMaxIf(close, window_start, window_start >= '2026-07-06 00:00:00')) AS day_close,
        maxIf(toFloat64(high), window_start >= '2026-07-06 00:00:00') AS day_high,
        minIf(toFloat64(low), window_start >= '2026-07-06 00:00:00') AS day_low,
        argMinIf(window_start, toFloat64(low), window_start >= '2026-07-06 00:00:00') AS low_bar,
        argMaxIf(window_start, toFloat64(high), window_start >= '2026-07-06 00:00:00') AS high_bar,
        round(sumIf(toFloat64(close) * toFloat64(volume), window_start >= '2026-07-06 00:00:00') / 1e9, 2) AS day_dollar_bn
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker IN ('MU', 'SNDK', 'STX', 'WDC')
      AND ((window_start >= '2026-07-02 13:30:00' AND window_start < '2026-07-02 20:00:00')
        OR (window_start >= '2026-07-06 13:30:00' AND window_start < '2026-07-06 20:00:00'))
    GROUP BY ticker
)
SELECT
    ticker,
    round(prior_close, 2) AS prior_close,
    round(day_close, 2) AS day_close,
    round((day_close / prior_close - 1) * 100, 2) AS pct_chg,
    round(day_high, 2) AS day_high,
    formatDateTime(toTimeZone(high_bar, 'America/New_York'), '%H:%i') AS day_high_et,
    round(day_low, 2) AS day_low,
    formatDateTime(toTimeZone(low_bar, 'America/New_York'), '%H:%i') AS day_low_et,
    round((day_high / day_low - 1) * 100, 2) AS range_pct,
    day_dollar_bn
FROM per_name
ORDER BY ticker

ผู้ผลิตไดรฟ์สองรายเป็นผู้นำในการฟื้นตัว ได้แก่ Western Digital 7.14% และ Seagate 6% โดยทั้งคู่ทำจุดสูงสุดในช่วงสายของวัน (10:44 และ 10:39 ET) ส่วนหุ้นสองตัวที่มีการเคลื่อนไหวรุนแรงที่สุดกลับไม่ฟื้นตัว: MU เพิ่มขึ้น 0.88% โดยทำจุดต่ำสุดในช่วงปิดตลาด (15:59); SanDisk ปิดตัวที่ -0.03% ภายในกรอบราคา 7.27% ทั้งนี้ MU มีมูลค่าการซื้อขายสูงถึง $30.9 billion ซึ่งมากกว่าหุ้นอีกสามตัวรวมกัน (บทวิเคราะห์เจาะลึก MU รายงานข้อมูลรายไตรมาส)

ส่วนที่เหลือของการหมุนเวียนกลุ่มหุ้น (rotation) เกิดขึ้นในกลุ่มหุ้นขนาดใหญ่ (megacaps):

คำสั่งดึงข้อมูลการหมุนเวียนในกลุ่ม Megacap: การเปลี่ยนแปลงเทียบกับราคาปิดวันพฤหัสบดี, ช่วงเวลาของ Range และ Dollar Volume
SQL เบื้องหลังตัวเลขแต่ละตัว
WITH per_name AS (
    SELECT
        ticker,
        toFloat64(argMaxIf(close, window_start, window_start < '2026-07-06 00:00:00')) AS prior_close,
        toFloat64(argMaxIf(close, window_start, window_start >= '2026-07-06 00:00:00')) AS day_close,
        maxIf(toFloat64(high), window_start >= '2026-07-06 00:00:00') AS day_high,
        minIf(toFloat64(low), window_start >= '2026-07-06 00:00:00') AS day_low,
        argMinIf(window_start, toFloat64(low), window_start >= '2026-07-06 00:00:00') AS low_bar,
        argMaxIf(window_start, toFloat64(high), window_start >= '2026-07-06 00:00:00') AS high_bar,
        round(sumIf(toFloat64(close) * toFloat64(volume), window_start >= '2026-07-06 00:00:00') / 1e9, 2) AS day_dollar_bn
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker IN ('AAPL', 'MSFT', 'NVDA', 'TSLA')
      AND ((window_start >= '2026-07-02 13:30:00' AND window_start < '2026-07-02 20:00:00')
        OR (window_start >= '2026-07-06 13:30:00' AND window_start < '2026-07-06 20:00:00'))
    GROUP BY ticker
)
SELECT
    ticker,
    round(prior_close, 2) AS prior_close,
    round(day_close, 2) AS day_close,
    round((day_close / prior_close - 1) * 100, 2) AS pct_chg,
    round(day_high, 2) AS day_high,
    formatDateTime(toTimeZone(high_bar, 'America/New_York'), '%H:%i') AS day_high_et,
    round(day_low, 2) AS day_low,
    formatDateTime(toTimeZone(low_bar, 'America/New_York'), '%H:%i') AS day_low_et,
    round((day_high / day_low - 1) * 100, 2) AS range_pct,
    day_dollar_bn
FROM per_name
ORDER BY ticker

TSLA ปรับตัวขึ้นอย่างต่อเนื่องไปที่ 6.86% โดยทำจุดต่ำสุดที่ 09:37 ET และทำจุดสูงสุดในช่วงปิดตลาด (15:59) ซึ่งเป็นการเคลื่อนไหวในทิศทางตรงกันข้ามกับการลดลงใน วันพฤหัสบดี ส่วน AAPL เพิ่มขึ้น 1.49% และ NVDA เพิ่มขึ้น 0.57%; มีเพียง MSFT ที่เป็นหุ้นขนาดใหญ่ตัวเดียวที่ปิดลบที่ -0.7% โดยทำจุดสูงสุดในช่วงเปิดตลาด 09:30

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

คำสั่งดึงข้อมูลผู้นำด้าน Volume: 6 อันดับแรกโดยมูลค่าซื้อขาย และ 4 อันดับแรกโดยจำนวนหุ้น (ยกเว้นสัญลักษณ์ที่ซ้ำกันหนึ่งรายการเพื่อรอการตรวจสอบ)
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-06 13:30:00' AND window_start < '2026-07-06 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-06 13:30:00' AND window_start < '2026-07-06 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) DESC

SPY นำตลาดด้วยมูลค่า $31.49 billion ตามมาด้วย MU ($30.9 billion) ซึ่งเป็นการสิ้นสุดสถิติการครองอันดับหนึ่งต่อเนื่อง 4 วันของ MU (วันจันทร์ ถึง วันพฤหัสบดี คือช่วงเวลาดังกล่าว) สำหรับในกลุ่มหุ้น SOXS ซึ่งเป็น ETF ประเภท 3x-inverse semiconductor มีปริมาณการซื้อขายอยู่ที่ 467.1 million shares โดยกลับมาครองอันดับสูงสุดอีกครั้งแม้ว่าหุ้นกลุ่มชิปที่ ETF นี้อ้างอิงจะมีราคาเพิ่มขึ้นก็ตาม

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

มีการซื้อขาย 1.96 billion shares ในช่วงครึ่งชั่วโมงแรกของการเปิดตลาด โดยมีจุดต่ำสุดอยู่ที่ 0.68 billion ณ เวลา 14:30 และกลับมาอยู่ที่ 2.1 billion เมื่อถึงช่วง 15:30 close ซึ่งเป็นลักษณะการซื้อขายแบบรูปยิ้ม (smile) ตามปกติในช่วงระหว่างวัน โดยมีปริมาณการซื้อขายหนาแน่นที่สุดในช่วงต้นและช่วงท้ายของการซื้อขาย

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

คำสั่งดึงข้อมูลข้อมูล Options รวมทั้งวัน: Volume, Call Share และการหมดอายุในวันจันทร์ (Same-day expiry)
SQL เบื้องหลังตัวเลขแต่ละตัว
WITH
    (
        SELECT (any(underlying_symbol), any(toFloat64(strike_price)), any(option_type),
                any(toDateOrNull(concat('20', substring(ticker, length(ticker) - 14, 6)))),
                sum(size), count(), round(avg(toFloat64(price)), 3))
        FROM global_markets.options_trades
        WHERE sip_timestamp >= '2026-07-06 00:00:00' AND sip_timestamp < '2026-07-07 00:00:00'
        GROUP BY ticker
        ORDER BY sum(size) DESC
        LIMIT 1
    ) AS top_contract,
    (
        SELECT round(toFloat64(argMax(close, window_start)), 2)
        FROM global_markets.delayed_stocks_minute_aggs
        WHERE ticker = 'SPY' AND window_start >= '2026-07-06 13:30:00' AND window_start < '2026-07-06 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) = '260706') / sum(size), 1) AS same_day_expiry_pct,
    round(toFloat64(sumIf(size, substring(ticker, length(ticker) - 14, 6) = '260706')) / 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 = 'TSLA')) / 1e6, 2) AS tsla_contracts_m,
    top_contract.1 AS top_contract_underlying,
    top_contract.2 AS top_contract_strike,
    top_contract.3 AS top_contract_type,
    if(top_contract.3 = 'C', 1, 0) AS top_contract_is_call,
    top_contract.4 AS top_contract_expiry,
    round(toFloat64(top_contract.5) / 1e6, 2) AS top_contract_volume_m,
    round(top_contract.7, 3) AS top_contract_avg_price,
    round(spy_regular_close - top_contract.2, 2) AS spy_close_minus_strike
FROM global_markets.options_trades
WHERE sip_timestamp >= '2026-07-06 00:00:00' AND sip_timestamp < '2026-07-07 00:00:00'

มีการซื้อขาย options ทั้งหมด 60.98 ล้านสัญญา จากจำนวนรายการซื้อขาย 10.53 ล้านรายการ โดยเป็นสัญญา call จำนวน 58.4% สัญญา สัญญาที่มีวันหมดอายุภายในวันเดียวกัน (0DTE) มีสัดส่วนอยู่ที่ 38.7% ของปริมาณการซื้อขายทั้งหมด (23.57 ล้านสัญญา) ซึ่งเป็นตัวเลขวันจันทร์ปกติที่ต่ำกว่า ตัวเลขปริมาณมากเป็นสองเท่าของวันพฤหัสบดี ซึ่งเป็นช่วงก่อนวันหยุด สัญญาที่มีการซื้อขายสูงสุดคือ SPY $751 call ที่หมดอายุภายในวัน โดยมีปริมาณการซื้อขาย 1.08 ล้านสัญญา ที่ราคาเฉลี่ย $0.564 โดย SPY ปิดตลาดสูงกว่าราคา strike อยู่ $0.3 ซึ่งถือเป็นสถานะ in the money สัญญา call นี้ขึ้นมาเป็นอันดับหนึ่งในขณะที่ วันพฤหัสบดี ปิดตลาดด้วยสัญญา put

ข้อมูลราคาเสนอซื้อเสนอขาย: การเปิดตลาดแบบ Gap Up มีส่วนต่างราคาที่กว้างขึ้นหรือไม่?

ภายใต้ทุกระดับราคาคือกระแสข้อมูลราคาเสนอซื้อเสนอขาย หรือ National Best Bid and Offer (NBBO) ซึ่งมีการเสนอราคาใหม่อย่างต่อเนื่องในทุกหลักทรัพย์ที่มีการจดทะเบียน การเปิดตลาดแบบ Gap คือช่วงที่ราคาเสนอซื้อเสนอขายอาจมีความผันผวนรุนแรง เราจึงทำการวัดผลในทุกเซสชัน

คำสั่งดึงข้อมูลข้อมูล NBBO ของหุ้นทั้งหมด: 6 กรกฎาคม เทียบกับวันที่ 2 กรกฎาคม และจุดที่มีการกระจุกตัวของ Quote ในวันจันทร์
SQL เบื้องหลังตัวเลขแต่ละตัว
SELECT
    round(countIf(toDate(sip_timestamp) = toDate('2026-07-06')) / 1e6, 2) AS jul6_updates_m,
    round(countIf(toDate(sip_timestamp) = toDate('2026-07-02')) / 1e6, 2) AS jul2_updates_m,
    round((countIf(toDate(sip_timestamp) = toDate('2026-07-06')) / countIf(toDate(sip_timestamp) = toDate('2026-07-02')) - 1) * 100, 1) AS day_over_day_pct,
    round(countIf(sip_timestamp >= '2026-07-06 13:30:00' AND sip_timestamp < '2026-07-06 14:00:00') / 1e6, 2) AS jul6_open_half_hour_m,
    round(countIf(sip_timestamp >= '2026-07-06 17:30:00' AND sip_timestamp < '2026-07-06 18:00:00') / 1e6, 2) AS jul6_midday_half_hour_m,
    round(countIf(sip_timestamp >= '2026-07-06 19:30:00' AND sip_timestamp < '2026-07-06 20:00:00') / 1e6, 2) AS jul6_close_half_hour_m
FROM global_markets.cache_stocks_quotes
WHERE (sip_timestamp >= '2026-07-02 00:00:00' AND sip_timestamp < '2026-07-03 00:00:00')
   OR (sip_timestamp >= '2026-07-06 00:00:00' AND sip_timestamp < '2026-07-07 00:00:00')

ข้อมูลราคา (Tape) มีการอัปเดต NBBO ทั้งหมด 391.96 ล้าน ครั้งในวันจันทร์ เทียบกับ 597.22 ล้านครั้งในวันพฤหัสบดี — ซึ่งเท่ากับ -34.4% หรือน้อยกว่าจำนวนข้อความในเซสชันก่อนวันหยุดนักขัตฤกษ์อยู่หนึ่งในสาม — และปริมาณข้อมูลพุ่งสูงขึ้นในช่วงเปิดตลาด โดยมีจำนวน 58.66 ล้านครั้งในช่วงครึ่งชั่วโมงแรก เทียบกับ 20.74 ล้านครั้งในช่วงเวลา 13:30 น. และ 33.7 ล้านครั้งในช่วงปิดตลาด แม้จำนวนการเสนอราคาจะน้อยกว่าวันพฤหัสบดี แต่ส่วนต่างราคาไม่ได้กว้างขึ้น:

คำสั่งดึงข้อมูลข้อมูล ณ ราคาเปิด Gap: Median Quoted Spread และ Quote Rate ช่วง 9:30–9:42 ET เทียบกับช่วงควบคุมตอนกลางวัน (อย่างละ 12 นาที)
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-06 13:30:00' AND sip_timestamp < '2026-07-06 13:42:00'), 2) AS open_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-06 17:30:00' AND sip_timestamp < '2026-07-06 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-06 13:30:00' AND sip_timestamp < '2026-07-06 13:42: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-06 17:30:00' AND sip_timestamp < '2026-07-06 17:42:00'), 2) AS spread_delta_bps,
    round(countIf(sip_timestamp >= '2026-07-06 13:30:00' AND sip_timestamp < '2026-07-06 13:42:00') / 1e3, 1) AS open_updates_k,
    round(countIf(sip_timestamp >= '2026-07-06 17:30:00' AND sip_timestamp < '2026-07-06 17:42:00') / 1e3, 1) AS midday_updates_k,
    round(countIf(sip_timestamp >= '2026-07-06 13:30:00' AND sip_timestamp < '2026-07-06 13:42:00') / countIf(sip_timestamp >= '2026-07-06 17:30:00' AND sip_timestamp < '2026-07-06 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 ('DIA', 'IWM', 'MSFT', 'MU', 'QQQ', 'SNDK', 'SPY', 'STX', 'TSLA', 'WDC')
  AND sip_timestamp >= '2026-07-06 13:30:00' AND sip_timestamp < '2026-07-06 20:00:00'
GROUP BY ticker
ORDER BY ticker

ส่วนต่างระหว่างราคาเสนอซื้อและราคาเสนอขาย คือต้นทุนในการทำธุรกรรมทันที โดยวัดเป็นหน่วย basis points ของราคาตรงกลาง (mid-price) — โดยที่ 1 bp คือ 1 เซนต์สำหรับหุ้นราคา 100 ดอลลาร์ ไม่มีหลักทรัพย์ใดที่มีส่วนต่างราคาแคบกว่าช่วง 12 นาทีแรกของการเปิด Gap เมื่อเทียบกับช่วงกลางวัน และค่าความผันผวนของ SPY มีค่าเท่ากันทั้งสองช่วง (0.27 bps, เปลี่ยนแปลง 0 bps) แม้ว่าความถี่ในการเสนอราคาในช่วงเปิดตลาดจะเร็วกว่าถึง 3 เท่าก็ตาม ผลกระทบจากส่วนต่างราคาที่กว้างขึ้นเกิดขึ้นกับหุ้นรายตัว ไม่ใช่กองทุนดัชนี โดย SanDisk มีส่วนต่างสูงสุด (+12.9 bps, จาก 8.16 ถึง 21.07), MU +3.63, TSLA +2.89 เทียบกับ QQQ ที่มีส่วนต่าง 0.42 bps จากค่าความผันผวน 0.83 bps สำหรับคำถามที่ว่า "ทุกอย่างมีสภาพคล่องไม่ใช่หรือ?" จาก Seagate: ราคาเปิดมีส่วนต่างกว้างถึง 30.94 bps ซึ่งมากกว่าค่าความผันผวนของ SPY กว่าหนึ่งร้อยเท่า

คำสั่งดึงข้อมูลUpdate-weighted average quoted spread ของ SPY: 6 กรกฎาคม เทียบกับรอบเดือนที่ผ่านมา (อันดับ 1 = Spread แคบที่สุด)
SQL เบื้องหลังตัวเลขแต่ละตัว
SELECT
    round(anyIf(avg_spread_cents, d = toDate('2026-07-06')), 3) AS jul6_avg_spread_cents,
    arrayCount(x -> x < anyIf(avg_spread_cents, d = toDate('2026-07-06')), groupArrayIf(avg_spread_cents, d != toDate('2026-07-06'))) + 1 AS tightness_rank,
    count() AS sessions_compared,
    round(max(avg_spread_cents), 3) AS widest_session_cents,
    round(avgIf(avg_spread_cents, d != toDate('2026-07-06')), 3) AS other_sessions_avg_cents,
    replaceAll(formatDateTime(min(d), '%M %e, %Y'), '  ', ' ') 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-04 00:00:00')
      AND sip_timestamp < toDateTime('2026-07-07 00:00:00')
      AND (toHour(sip_timestamp) * 60 + toMinute(sip_timestamp)) BETWEEN 810 AND 1199
    GROUP BY d
)

ตลอดทั้งวันทำการ วันที่ 6 กรกฎาคม ถือเป็น เซสชันที่มีส่วนต่างราคาแคบที่สุดของ SPY ในรอบหนึ่งเดือนที่ผ่านมา: โดยมีค่าเฉลี่ยส่วนต่างราคาถ่วงน้ำหนักตามการอัปเดตอยู่ที่ 1.815 เซนต์ ซึ่งอยู่ในลำดับที่ 1 จาก 21 เซสชันตั้งแต่ June 4, 2026 เทียบกับค่าเฉลี่ยรายเดือนที่ 2.337 เซนต์ และกว้างที่สุดที่ 2.865 แม้จำนวนการเสนอราคาจะลดลงเนื่องจากเป็นวันหยุด แต่ผู้ซื้อดัชนีก็ยังได้รับราคาที่ดีที่สุดในตลาด

อัตราดอกเบี้ย: เส้นอัตราผลตอบแทนเคลื่อนไหวเพียงเล็กน้อยในช่วงวันหยุดยาว

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

เส้นอัตราผลตอบแทนแทบไม่มีการเคลื่อนไหวในช่วงวันหยุดยาว โดยอัตราผลตอบแทนพันธบัตรอายุ 10 ปี อยู่ที่ 4.48% และ ส่วนต่าง 2s10s อยู่ที่ 0.35 percentage points ซึ่งทั้งสองค่าอยู่ห่างจากตัวเลข ณ วันที่ 1 กรกฎาคม เพียงหนึ่งถึงสอง basis point เท่านั้น โดยมีเพียงอัตราผลตอบแทนอายุ 3 เดือนเพียงอย่างเดียวที่มีการเปลี่ยนแปลงอย่างมีนัยสำคัญที่ 5 basis points

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

คำสั่งดึงข้อมูลปฏิทินบริษัทและกระแสข้อมูลของวันที่ 6 กรกฎาคม ในแถวเดียว (รวมถึง Reverse-split wall)
SQL เบื้องหลังตัวเลขแต่ละตัว
WITH
    (
        SELECT (count(), uniqExact(publisher))
        FROM global_markets.stocks_news
        WHERE toDate(toTimeZone(published_utc, 'America/New_York')) = '2026-07-06'
    ) AS news,
    (
        SELECT (argMax(t, n), max(n))
        FROM (
            SELECT t, count() AS n
            FROM (
                SELECT arrayJoin(tickers) AS t
                FROM global_markets.stocks_news
                WHERE toDate(toTimeZone(published_utc, 'America/New_York')) = '2026-07-06'
            )
            WHERE t != 'SPCX'
            GROUP BY t
        )
    ) AS top_news
SELECT
    (SELECT count() FROM global_markets.stocks_dividends WHERE ex_dividend_date = '2026-07-06') AS ex_dividend_records,
    (SELECT count() FROM global_markets.stocks_splits WHERE execution_date = '2026-07-06') AS splits_executed,
    (SELECT countIf(toFloat64(split_from) > toFloat64(split_to)) FROM global_markets.stocks_splits WHERE execution_date = '2026-07-06') AS reverse_splits,
    (SELECT countIf(toFloat64(split_to) > toFloat64(split_from)) FROM global_markets.stocks_splits WHERE execution_date = '2026-07-06') AS forward_splits,
    (SELECT count() FROM global_markets.stocks_ipos WHERE listing_date = '2026-07-06') AS ipos_listed,
    (SELECT uniqExact(accession_number) FROM global_markets.stocks_sec_edgar_index WHERE filing_date = '2026-07-06') AS sec_filings,
    (SELECT uniqExactIf(accession_number, form_type = '4') FROM global_markets.stocks_sec_edgar_index WHERE filing_date = '2026-07-06') AS insider_form4_filings,
    (SELECT uniqExactIf(accession_number, form_type = '8-K') FROM global_markets.stocks_sec_edgar_index WHERE filing_date = '2026-07-06') AS filings_8k,
    news.1 AS news_articles,
    news.2 AS news_publishers,
    top_news.1 AS most_covered_ticker,
    top_news.2 AS most_covered_articles

รายการวันขึ้นเครื่องหมาย ex-dividend ของ 118, การแตกหุ้นของ 15, การจดทะเบียนหุ้นใหม่ของ 0 และการยื่นเอกสารต่อ SEC จำนวน 3161 รายการ — ประกอบด้วย 1219 Form 4s และ 201 รายการ 8-Ks ซึ่งมีจำนวนน้อยกว่าวันพฤหัสบดีก่อนช่วงวันหยุด ข่าวสารมีการนำเสนอ 236 บทความ โดยมี NVDA เป็นหุ้นที่มีการรายงานข่าวมากที่สุดที่ 25

กำแพงการทำ reverse-split ที่ซ่อนอยู่หลังหน้าจอคัดกรองหุ้นที่มีการเคลื่อนไหวสูง

14 ของการทำ split ในกลุ่ม 15 เป็นแบบ reverse splits หรือการรวมหุ้น ซึ่งส่วนใหญ่เกิดขึ้นกับหุ้นที่มีราคาต่ำกว่าหนึ่งดอลลาร์ เทียบกับ 1 ที่เป็นการทำ forward split การทำ reverse split คือการเปลี่ยนหุ้นเดิมจำนวนมากให้กลายเป็นหุ้นเพียงหนึ่งหุ้นในราคาที่สูงขึ้นตามสัดส่วน ซึ่งหน้าจอคัดกรองที่ไม่ได้ปรับปรุงราคาจะรายงานผลเป็น "กำไร" ระดับสามหลัก ทั้งที่ไม่มีกำไรเกิดขึ้นจริง ข้อมูลทั้งหมดมีดังนี้:

คำสั่งดึงข้อมูลการแตกหุ้น (Split) ทุกรายการในวันที่ 6 กรกฎาคม พร้อมราคาปิดที่ยังไม่ปรับปรุง (Unadjusted) ก่อนและหลัง (ไม่รวมรายการที่ไม่มีข้อมูล Tape ในช่วงเวลาทำการปกติ)
SQL เบื้องหลังตัวเลขแต่ละตัว
SELECT
    s.ticker AS ticker,
    toFloat64(s.split_from) AS old_shares,
    toFloat64(s.split_to) AS new_shares,
    round(toFloat64(s.split_from) / toFloat64(s.split_to), 0) AS old_shares_per_new,
    p.prev_close AS jul2_close,
    d.day_close AS jul6_close,
    round((d.day_close / p.prev_close - 1) * 100, 1) AS unadjusted_pct_chg
FROM (
    SELECT ticker, any(split_from) AS split_from, any(split_to) AS split_to
    FROM global_markets.stocks_splits
    WHERE execution_date = '2026-07-06'
    GROUP BY ticker
) s
INNER JOIN (
    SELECT ticker, round(toFloat64(argMax(close, window_start)), 2) AS prev_close
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE window_start >= '2026-07-02 13:30:00' AND window_start < '2026-07-02 20:00:00'
      AND ticker IN (SELECT ticker FROM global_markets.stocks_splits WHERE execution_date = '2026-07-06')
    GROUP BY ticker
    HAVING prev_close > 0
) p ON s.ticker = p.ticker
INNER JOIN (
    SELECT ticker, round(toFloat64(argMax(close, window_start)), 2) AS day_close
    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'
      AND ticker IN (SELECT ticker FROM global_markets.stocks_splits WHERE execution_date = '2026-07-06')
    GROUP BY ticker
    HAVING day_close > 0
) d ON s.ticker = d.ticker
ORDER BY unadjusted_pct_chg DESC, ticker ASC

ทุกแถวใน 12 คือการรวมหุ้นที่แสดงผลเป็น "กำไร" ระดับสามหลักหรือมากกว่าในราคาดิบ (raw tape) โดยเริ่มจาก 31450% ที่ด้านบนสุด (การรวมหุ้นแบบ 200-for-1 ราคาปิดที่ยังไม่ปรับปรุงเปลี่ยนจาก $0.02 เป็น $6.31) ไปจนถึง 226.1% ที่มีสัดส่วนน้อยที่สุด (3-for-1) ตัวอย่างที่ชัดเจนที่สุดในตารางคือการทำ reverse split แบบ 10-for-1 ซึ่งทำให้ราคาปิดที่ยังไม่ปรับปรุงของ TXXS เปลี่ยนจาก $2.35 เมื่อวันพฤหัสบดี เป็น $24.34 เมื่อวันจันทร์ ซึ่งหมายถึงหุ้นเดิมสิบหุ้นกลายเป็นหุ้นเพียงหนึ่งหุ้น ไม่ใช่การพุ่งขึ้นของราคาถึงสิบเท่า หน้าจอคัดกรองที่ใช้ราคาดิบจะจัดให้ตารางนี้อยู่เหนือหุ้นที่มีการเคลื่อนไหวจริงทุกตัว แต่ระบบของเราจะยกเว้นรายการที่มีการ split การทำ forward split ของ CRWD เมื่อวันพฤหัสบดีแสดงผลในทางตรงกันข้าม ซึ่งดูเหมือนราคาดิ่งลงอย่างรุนแรง

สรุปผลการซื้อขาย — การกลับมาเปิดตลาดครั้งแรกหลังช่วงหยุดทำการ

คำสั่งดึงข้อมูลการตรวจสอบ Session: ช่วงเวลา Minute-bar ของ SPY, ราคาปิดวันที่ 3 กรกฎาคม และรายการถัดไปในปฏิทิน
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-06 13:30:00' AND window_start < '2026-07-06 20:00:00') AS regular_session_bars,
    uniqExactIf(toDate(toTimeZone(window_start, 'America/New_York')), window_start >= '2026-07-06 13:30:00' AND window_start < '2026-07-06 20:00:00') AS day_sessions,
    (SELECT count() FROM global_markets.delayed_stocks_minute_aggs
     WHERE ticker = 'SPY' AND window_start >= '2026-07-03 00:00:00' AND window_start < '2026-07-04 00:00:00') AS jul3_spy_bars,
    (SELECT replaceAll(formatDateTime(min(date), '%M %e, %Y'), '  ', ' ') FROM global_markets.stocks_market_holidays WHERE date > '2026-07-06' AND status = 'closed') AS next_closure_date,
    (SELECT argMin(name, date) FROM global_markets.stocks_market_holidays WHERE date > '2026-07-06' AND status = 'closed') AS next_closure_name
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY' AND window_start >= '2026-07-06 00:00:00' AND window_start < '2026-07-07 00:00:00'

วันที่ 6 กรกฎาคม เป็น การซื้อขายเต็มเวลา ไม่ใช่การปิดตลาดก่อนกำหนด: แท่งเทียนของ SPY วิ่งตั้งแต่ช่วงเวลา 04:00 ถึง 19:59 ตามเวลา New York โดยมีจำนวนแท่งเทียนในช่วงเวลาปกติทั้งหมด 390 แท่ง ส่วนวันศุกร์ก่อนหน้านั้น คือวันที่ 3 กรกฎาคม มีแท่งเทียน SPY ทั้งหมด 0 แท่ง ซึ่งเป็นการปิดตลาดเต็มวันเนื่องจากวันที่ 4 กรกฎาคม ซึ่งเป็นวันประกาศอิสรภาพ ตรงกับวันเสาร์ การปิดตลาดครั้งถัดไปคือ: Labor Day, September 7, 2026 สามารถดูสรุปภาพรวมสี่ช่วงการซื้อขายของสัปดาห์ก่อนช่วงหยุดทำการได้ใน สรุปรายสัปดาห์

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

ตลาดหุ้นในวันที่ 6 กรกฎาคม 2026 เป็นอย่างไร?

ETF ดัชนีหลักทั้งสี่ตัวปิดบวก ได้แก่ QQQ 1.39%, SPY 0.87%, IWM 0.45% และ DIA 0.42% โดยมีหุ้นที่มีสภาพคล่องสูงจำนวน 62.4% ตัวที่มีราคาเพิ่มขึ้น ซึ่งส่วนใหญ่เป็นการปรับตัวขึ้นจากช่องว่างราคาในช่วงข้ามคืน (overnight gap)

กลุ่มอุตสาหกรรมใดเป็นผู้นำในวันที่ 6 กรกฎาคม 2026?

กลุ่ม Technology (XLK) นำกลุ่ม ETF ทั้งสิบเอ็ดกลุ่มด้วยผลตอบแทน 1.71% ในขณะที่กลุ่ม Defensive มีผลตอบแทนต่ำสุดที่ -1.08% ส่งผลให้ส่วนต่างระหว่างกลุ่มที่ดีที่สุดและแย่ที่สุดอยู่ที่ 2.79 percentage points ซึ่งสูงกว่าการเคลื่อนไหวของดัชนี S&P ที่ระดับ 0.87% หลายเท่าตัว

ตลาดหุ้นเปิดทำการในวัน Independence Day 2026 หรือไม่?

ไม่เปิด เนื่องจากวันที่ 4 กรกฎาคม ตรงกับวันเสาร์ ตลาดหลักทรัพย์จึงหยุดทำการเนื่องในวัน Independence Day ในวันศุกร์ที่ 3 กรกฎาคม ซึ่งยืนยันได้จากข้อมูล minute bars ของ SPY 0 ที่แสดงให้เห็นว่าตลาดปิดทำการ โดยวันที่ 6 กรกฎาคม เป็นการซื้อขายวันแรกหลังวันหยุด

ทำไมหุ้นบางตัวจึงมีกำไรสูงมากภายในวันเดียวในวันที่ 6 กรกฎาคม?

เกิดจากการทำ reverse splits จำนวน 14 ครั้ง การรวมหุ้นเก่าจำนวนมากให้เป็นหุ้นหนึ่งหุ้นในราคาที่สูงขึ้นตามสัดส่วน ทำให้รายงานหน้าจอที่ไม่ได้ปรับปรุงข้อมูลแสดงผลเป็น "กำไร" หลายร้อยเปอร์เซ็นต์ ทั้งที่มูลค่าสถานะของผู้ถือหุ้นยังคงเดิม ซึ่งหุ้นในกลุ่ม 12 ข้างต้นล้วนเป็นหุ้นประเภทนี้

ส่วนต่างราคา (spreads) กว้างหรือไม่ในช่วงเปิดตลาดแบบ gap open?

กว้างเฉพาะในหุ้นรายตัวเท่านั้น โดยค่ามัธยฐานของ spread ที่เสนอซื้อขายของ SPY ในช่วงสิบสองนาทีแรกอยู่ที่ 0.27 basis points ซึ่งเท่ากับระดับในช่วงกลางวัน ส่วน SanDisk มีค่า spread กว้างกว่าช่วงกลางวันอยู่ที่ 12.9 bps

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

  • Dollar volume คือค่าประมาณการต่อนาที — คำนวณจากราคาปิดคูณด้วยปริมาณการซื้อขายที่รวมกันในแต่ละแท่งเวลาหนึ่งนาที
  • ตะกร้ากลุ่มอุตสาหกรรม (Sector basket) เป็นวิธีการที่กำหนดขึ้นเอง ไม่ใช่ฟิลด์ข้อมูลจากผู้ให้บริการ: ประกอบด้วย ETF ของกลุ่มอุตสาหกรรมขนาดใหญ่ 11 ตัวใน S&P (XLB, XLC, XLE, XLF, XLI, XLK, XLP, XLRE, XLU, XLV, XLY) ซึ่งใช้ชุดข้อมูลเดิมในทุกเซสชัน
  • Quoted spreads คือค่ามัธยฐานของ (ask − bid) ÷ mid จากราคาเสนอซื้อเสนอขายทั้งสองด้านที่มีความสมบูรณ์; ส่วนราคาเสนอขายด้านเดียว ราคาศูนย์ และราคาที่คาบเกี่ยวกัน (crossed quotes) จะถูกตัดออกและไม่นำมานับรวมในแผงข้อมูล
  • รายการที่มีการใช้สัญลักษณ์ซ้ำกันหนึ่งรายการ จะถูกยกเว้นจากตารางผู้นำจนกว่าจะมีการตรวจสอบนิติบุคคลเสร็จสิ้น (ใบเสร็จ)

ระเบียบวิธี

  • ช่วงเวลาที่ใช้คือหนึ่งเซสชันการซื้อขาย (1 session ตรวจสอบจากแท่งเทียนที่ปรากฏ) ข้อมูลเวลาถูกจัดเก็บในรูปแบบ UTC และแปลงเป็นเวลาของ New York ภายในคิวรี "Close" หมายถึงแท่งนาทีสุดท้ายของเซสชันปกติ การเปลี่ยนวันเป็นการเปรียบเทียบระหว่างวันที่ 6 กรกฎาคม กับวันที่ 2 กรกฎาคม ซึ่งเป็นเซสชันก่อนหน้าในช่วงที่มีการปิดตลาดเมื่อวันที่ 3 กรกฎาคม โดยตรวจสอบจากแท่งเทียนและไม่ได้ใช้การคาดการณ์
  • ค่าทศนิยมจะถูกแปลงเป็น 64-bit floats ก่อนการคำนวณอัตราส่วน แผงข้อมูลจะถูกอ่านเพียงครั้งเดียวในขณะที่จัดทำข้อมูลผ่านช่องทางอ่านอย่างเดียว (read-only path) ที่มีการจำกัดสิทธิ์

ทุกแผงข้อมูลคือผลลัพธ์จากการคิวรีที่จัดเก็บไว้ ทั้งแผนภูมิ ตาราง และ SQL คือวัตถุเดียวกัน คุณสามารถคัดลอกข้อมูลใดก็ได้ไปวางในเทอร์มินัลของ Strasmore เพื่อใช้งานเอง เซสชันก่อนหน้า: 2 กรกฎาคม. ถัดไป: 7 กรกฎาคม.