Strasmore Research
Deep Dives · Matt ConnorBy Matt Connor · · Updated 2026-08-08

ช่องว่างราคาหุ้นถูกปิดเสมอจริงหรือไม่ วิเคราะห์จากข้อมูล

ช่องว่างราคาหุ้นไม่ได้ถูกปิดเสมอไปตามกรอบเวลาที่กำหนด ตรวจสอบอัตราการปิดช่องว่างในระดับวัน 5 20 และ 60 เซสชันสำหรับหุ้นขนาดใหญ่ พร้อมเปิดเผยคำสั่ง SQL ที่ใช้ในการวิเคราะห์ข้อมูลทั้งหมด

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

นิยามของช่องว่างราคาและการปิดช่องว่าง

ช่องว่างราคาคำนวณจากราคาเปิดเทียบกับราคาปิดก่อนหน้า หากเซสชันเมื่อวานปิดที่ราคาหนึ่งและวันนี้เปิดที่อีกราคาหนึ่ง ส่วนต่างที่เกิดขึ้นคือช่องว่างราคา ไม่ใช่ระยะห่างจากราคาสูงสุดหรือต่ำสุดระหว่างวันของเมื่อวาน ซึ่งนั่นเป็นเป้าหมายที่ต่างออกไปและง่ายกว่ามาก การสลับนิยามเช่นนี้ทำให้ "ช่องว่างราคา" กลายเป็นสิ่งที่ปิดตัวลงได้ก่อนมื้อเที่ยงในวันปกติ ช่องว่างขนาดเล็กปรากฏขึ้นเกือบทุกเซสชัน ไม่ว่าจะเป็นการซื้อขายในเขตเวลาอื่น การปรับเปลี่ยนดัชนี ข่าวเฉพาะตัวหุ้น หรือการปรับราคาจากเครื่องหมาย XD ซึ่งล้วนส่งผลต่อราคาที่เหมาะสม (fair price) ในขณะที่ตลาดสหรัฐฯ ปิดทำการ ทำไมหุ้นถึงเกิดช่องว่างราคาข้ามคืน ได้อธิบายที่มาของการปรับราคาข้ามคืนเหล่านี้ไว้

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

ข้อมูลชุดนี้ใช้ตัวอย่างหุ้นขนาดใหญ่ (large-cap) ในสหรัฐฯ จำนวนแปดตัว โดยนับวันที่มีช่องว่างราคาตั้งแต่เดือนมกราคม 2021 ถึงเดือนกุมภาพันธ์ 2026 และทดสอบการปิดช่องว่างเทียบกับราคาสูงสุดและต่ำสุดในกรอบเวลาหนึ่งนาทีของช่วงการซื้อขายปกติ โดยตัดช่องว่างราคาที่น้อยกว่า 0.25% ออกเนื่องจากถือเป็นค่าความคลาดเคลื่อนจากการปัดเศษ

ช่องว่างราคาของหุ้นถูกปิดภายในวันเดียวกันเสมอไปหรือไม่

เริ่มต้นที่ขนาดของช่องว่าง โดยจัดกลุ่มช่องว่างตามขนาด แล้วพิจารณาว่าราคาปิดก่อนหน้าถูกแตะอีกครั้งก่อนจบเซสชันนั้นหรือไม่

คำสั่งดึงข้อมูลอัตราการปิด Gap ภายในวันจำแนกตามขนาดของ Gap ของหุ้นขนาดใหญ่ 8 ตัว ปี 2021 ถึง 2026
SQL เบื้องหลังตัวเลขแต่ละตัว
WITH sessions AS
(
    SELECT
        ticker,
        toDate(toTimeZone(window_start, 'America/New_York')) AS d,
        argMin(toFloat64(open), window_start)                AS session_open,
        argMax(toFloat64(close), window_start)               AS session_close,
        toFloat64(max(high))                                 AS session_high,
        toFloat64(min(low))                                  AS session_low
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker IN ('AAPL', 'MSFT', 'NVDA', 'AMZN', 'JPM', 'KO', 'WMT', 'XOM')
      AND window_start >= '2021-01-01'
      AND window_start <  '2026-07-01'
      AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
           + toMinute(toTimeZone(window_start, 'America/New_York'))) >= 570
      AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
           + toMinute(toTimeZone(window_start, 'America/New_York'))) < 960
    GROUP BY ticker, d
),
gapped AS
(
    SELECT
        d,
        session_open,
        session_high,
        session_low,
        lagInFrame(session_close) OVER (PARTITION BY ticker ORDER BY d ASC
            ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) AS prior_close
    FROM sessions
),
measured AS
(
    SELECT
        abs(100 * (session_open / prior_close - 1)) AS gap_pct,
        toUInt8(if(session_open > prior_close,
                   session_low  <= prior_close,
                   session_high >= prior_close))    AS filled_same_session
    FROM gapped
    WHERE prior_close > 0
      AND d <= toDate('2026-02-28')
      AND abs(100 * (session_open / prior_close - 1)) >= 0.25
)
SELECT
    multiIf(gap_pct < 0.5, '0.25 to 0.5%',
            gap_pct < 1,   '0.5 to 1%',
            gap_pct < 2,   '1 to 2%',
            gap_pct < 4,   '2 to 4%',
                           '4% or more')         AS gap_bucket,
    count()                                      AS gap_days,
    round(100 * avg(filled_same_session), 1)     AS same_session_fill_pct
FROM measured
GROUP BY gap_bucket
ORDER BY min(gap_pct) ASC
Run this yourself

ช่องว่างราคาขนาดเล็กที่สุดในกลุ่มตัวอย่าง คือ 0.25% ถึง 0.5% มีการปิดตัวลงภายในเซสชันเดียวกันที่ 74.6% ของจำนวนครั้งทั้งหมดจาก 2381 ครั้ง ส่วนช่องว่างราคาที่ 4% ขึ้นไปมีการปิดตัวลงภายในเซสชันเดียวกันที่ 14.8% ของจำนวนครั้งทั้งหมด แนวโน้มที่ลดลงในแผนภูมิคือบทเรียนสำคัญ ยิ่งช่องว่างมีขนาดเล็ก หุ้นยิ่งมีโอกาสเคลื่อนที่กลับไปแตะระดับเดิมระหว่างวันบ่อยครั้ง ซึ่งหมายความว่าช่องว่างขนาดเล็กเป็นเพียงสัญญาณรบกวน (noise) และสัญญาณรบกวนมักจะย้อนกลับ

ใช้เวลานานเท่าใดในการปิดช่องว่างราคา

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

คำสั่งดึงข้อมูลสัดส่วนการปิด Gap ที่มากกว่า 1% จำแนกตามระยะเวลาที่รอ
SQL เบื้องหลังตัวเลขแต่ละตัว
WITH sessions AS
(
    SELECT
        ticker,
        toDate(toTimeZone(window_start, 'America/New_York')) AS d,
        argMin(toFloat64(open), window_start)                AS session_open,
        argMax(toFloat64(close), window_start)               AS session_close,
        toFloat64(max(high))                                 AS session_high,
        toFloat64(min(low))                                  AS session_low
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker IN ('AAPL', 'MSFT', 'NVDA', 'AMZN', 'JPM', 'KO', 'WMT', 'XOM')
      AND window_start >= '2021-01-01'
      AND window_start <  '2026-07-01'
      AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
           + toMinute(toTimeZone(window_start, 'America/New_York'))) >= 570
      AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
           + toMinute(toTimeZone(window_start, 'America/New_York'))) < 960
    GROUP BY ticker, d
),
paths AS
(
    SELECT
        d,
        session_open,
        session_high,
        session_low,
        lagInFrame(session_close) OVER (PARTITION BY ticker ORDER BY d ASC
            ROWS BETWEEN 1 PRECEDING AND CURRENT ROW)                                                          AS prior_close,
        min(session_low)  OVER (PARTITION BY ticker ORDER BY d ASC ROWS BETWEEN CURRENT ROW AND 4 FOLLOWING)   AS low_5,
        max(session_high) OVER (PARTITION BY ticker ORDER BY d ASC ROWS BETWEEN CURRENT ROW AND 4 FOLLOWING)   AS high_5,
        min(session_low)  OVER (PARTITION BY ticker ORDER BY d ASC ROWS BETWEEN CURRENT ROW AND 19 FOLLOWING)  AS low_20,
        max(session_high) OVER (PARTITION BY ticker ORDER BY d ASC ROWS BETWEEN CURRENT ROW AND 19 FOLLOWING)  AS high_20,
        min(session_low)  OVER (PARTITION BY ticker ORDER BY d ASC ROWS BETWEEN CURRENT ROW AND 59 FOLLOWING)  AS low_60,
        max(session_high) OVER (PARTITION BY ticker ORDER BY d ASC ROWS BETWEEN CURRENT ROW AND 59 FOLLOWING)  AS high_60
    FROM sessions
),
gaps AS
(
    SELECT
        session_open > prior_close AS gap_up,
        prior_close,
        session_low,
        session_high,
        low_5,
        high_5,
        low_20,
        high_20,
        low_60,
        high_60
    FROM paths
    WHERE prior_close > 0
      AND d <= toDate('2026-02-28')
      AND abs(100 * (session_open / prior_close - 1)) >= 1
),
flags AS
(
    SELECT arrayJoin([
        (1, '1 session',   toUInt8(if(gap_up, session_low <= prior_close, session_high >= prior_close))),
        (2, '5 sessions',  toUInt8(if(gap_up, low_5  <= prior_close, high_5  >= prior_close))),
        (3, '20 sessions', toUInt8(if(gap_up, low_20 <= prior_close, high_20 >= prior_close))),
        (4, '60 sessions', toUInt8(if(gap_up, low_60 <= prior_close, high_60 >= prior_close)))
    ]) AS f
    FROM gaps
)
SELECT
    tupleElement(f, 2)                        AS horizon,
    count()                                   AS gaps_measured,
    round(100 * avg(tupleElement(f, 3)), 1)   AS filled_pct
FROM flags
GROUP BY horizon
ORDER BY min(tupleElement(f, 1)) ASC
Run this yourself

จากช่องว่างราคา 1% ขึ้นไปจำนวน 2191 ครั้ง มี 34% ที่ปิดตัวลงภายในเซสชันเดียวกัน และ 88.7% ที่ปิดตัวลงภายใน 60 sessions ตัวเลขหลังนี้มักถูกนำไปอ้างอิงโดยละกรอบเวลาไว้ หกสิบเซสชันคิดเป็นเวลาประมาณสามเดือนของการซื้อขาย ซึ่งเป็นการถือครองที่ยาวนานสำหรับสถานะที่ตั้งอยู่บนสมมติฐานของความผิดปกติเพียงวันเดียว และช่องว่างที่ปิดตัวลงในวันที่ 47 หลังจากที่หุ้นเคลื่อนที่ไปในทิศทางตรงกันข้ามไกลมากแล้ว ก็ยังคงถูกนับว่าเป็นการปิดช่องว่างในสถิตินี้

ช่องว่างจากสัญญาณรบกวนและช่องว่างจากข้อมูลข่าวสารคือคนละกลุ่มกัน

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

คำสั่งดึงข้อมูลอัตราการปิด Gap จำแนกตามปริมาณการซื้อขายในวันที่เกิด Gap
SQL เบื้องหลังตัวเลขแต่ละตัว
WITH sessions AS
(
    SELECT
        ticker,
        toDate(toTimeZone(window_start, 'America/New_York')) AS d,
        argMin(toFloat64(open), window_start)                AS session_open,
        argMax(toFloat64(close), window_start)               AS session_close,
        toFloat64(max(high))                                 AS session_high,
        toFloat64(min(low))                                  AS session_low,
        sum(toFloat64(volume))                               AS session_volume
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker IN ('AAPL', 'MSFT', 'NVDA', 'AMZN', 'JPM', 'KO', 'WMT', 'XOM')
      AND window_start >= '2021-01-01'
      AND window_start <  '2026-07-01'
      AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
           + toMinute(toTimeZone(window_start, 'America/New_York'))) >= 570
      AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
           + toMinute(toTimeZone(window_start, 'America/New_York'))) < 960
    GROUP BY ticker, d
),
paths AS
(
    SELECT
        d,
        session_open,
        session_high,
        session_low,
        session_volume,
        lagInFrame(session_close) OVER (PARTITION BY ticker ORDER BY d ASC
            ROWS BETWEEN 1 PRECEDING AND CURRENT ROW)                                                         AS prior_close,
        avg(session_volume) OVER (PARTITION BY ticker ORDER BY d ASC ROWS BETWEEN 21 PRECEDING AND 2 PRECEDING) AS normal_volume,
        min(session_low)  OVER (PARTITION BY ticker ORDER BY d ASC ROWS BETWEEN CURRENT ROW AND 19 FOLLOWING) AS low_20,
        max(session_high) OVER (PARTITION BY ticker ORDER BY d ASC ROWS BETWEEN CURRENT ROW AND 19 FOLLOWING) AS high_20
    FROM sessions
),
measured AS
(
    SELECT
        session_volume / normal_volume AS volume_ratio,
        toUInt8(if(session_open > prior_close, session_low <= prior_close, session_high >= prior_close)) AS filled_same_session,
        toUInt8(if(session_open > prior_close, low_20 <= prior_close, high_20 >= prior_close))           AS filled_20_sessions
    FROM paths
    WHERE prior_close > 0
      AND normal_volume > 0
      AND d >= toDate('2021-03-01')
      AND d <= toDate('2026-02-28')
      AND abs(100 * (session_open / prior_close - 1)) >= 1
)
SELECT
    multiIf(volume_ratio < 1.5, 'Under 1.5x normal',
            volume_ratio < 3,   '1.5x to 3x normal',
                                '3x or more')        AS volume_regime,
    count()                                          AS gap_days,
    round(100 * avg(filled_same_session), 1)         AS same_session_fill_pct,
    round(100 * avg(filled_20_sessions), 1)          AS within_20_sessions_fill_pct
FROM measured
WHERE isFinite(volume_ratio)
GROUP BY volume_regime
ORDER BY min(volume_ratio) ASC
Run this yourself

ช่องว่างราคา 1% ขึ้นไปที่มีปริมาณการซื้อขายต่ำกว่า 1.5 เท่าของปริมาณปกติ มีการปิดตัวลงภายในเซสชันเดียวกันที่ 35.9% ของจำนวนครั้งทั้งหมด ในขณะที่ช่องว่างขนาดเดียวกันที่มีปริมาณการซื้อขายสูงกว่าปกติสามเท่าขึ้นไป มีการปิดตัวลงภายในเซสชันเดียวกันที่ 15.3% และ 45.8% ภายใน 20 เซสชัน จากจำนวนทั้งหมด 59 ครั้ง กลุ่มที่มีปริมาณการซื้อขายหนาแน่นคือกลุ่มที่เกิดจากข่าวผลประกอบการและดีลธุรกิจ การนำทั้งสองกลุ่มมาหาค่าเฉลี่ยรวมกันจึงไม่สามารถอธิบายลักษณะของกลุ่มใดกลุ่มหนึ่งได้เลย

ทำไมช่วงนาทีแรกของเซสชันถึงบิดเบือนสถิติช่องว่างราคา

การปิดช่องว่างที่บันทึกไว้ตอน 9:31 น. เป็นสิ่งที่เปราะบาง ราคาเปิดเกิดจากการประมูล (auction) ซึ่งเป็นการจับคู่คำสั่งซื้อขายแบบกลุ่มที่กำหนดราคาเดียวสำหรับทุกคำสั่งที่ค้างมาจากข้ามคืน โดยคำอธิบาย การประมูลช่วงเปิดตลาด ของเราได้อธิบายกลไกนี้ไว้ ในช่วงนาทีหลังจากนั้น สเปรด (spread) จะกว้างที่สุดของวัน และการซื้อขายเพียงรายการเดียวอาจทำให้เกิดราคาสูงสุดหรือต่ำสุดที่ไม่มีการซื้อขายจริงในปริมาณที่มีนัยสำคัญ สเปรดกว้างขึ้นในช่วงเปิดตลาด ได้อธิบายเหตุผลว่าทำไมราคาเสนอซื้อขายถึงเบาบางในช่วงเวลานั้น

แผนภูมิด้านล่างแสดงลักษณะของข้อมูลการซื้อขายในตะกร้าหุ้นนี้ โดยแสดงค่าเฉลี่ยช่วงราคาสูงสุด-ต่ำสุดในกรอบหนึ่งนาที (หน่วยเป็น basis points โดยหนึ่ง basis point เท่ากับหนึ่งในร้อยของเปอร์เซ็นต์) แบ่งตามช่วงเวลา 15 นาที ตลอดปี 2025

คำสั่งดึงข้อมูลค่าเฉลี่ยช่วงราคาและปริมาณการซื้อขายต่อนาที จำแนกตามช่วงเวลา ปี 2025
SQL เบื้องหลังตัวเลขแต่ละตัว
SELECT
    formatDateTime(toStartOfInterval(toTimeZone(window_start, 'America/New_York'), INTERVAL 15 MINUTE), '%H:%i') AS et_time,
    round(10000 * avg(toFloat64(high) / toFloat64(low) - 1), 1) AS avg_range_bps,
    round(avg(toFloat64(volume)) / 1000, 1)                     AS avg_volume_k
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker IN ('AAPL', 'MSFT', 'NVDA', 'AMZN', 'JPM', 'KO', 'WMT', 'XOM')
  AND window_start >= '2025-01-01'
  AND window_start <  '2026-01-01'
  AND toFloat64(low) > 0
  AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
       + toMinute(toTimeZone(window_start, 'America/New_York'))) >= 570
  AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
       + toMinute(toTimeZone(window_start, 'America/New_York'))) < 960
GROUP BY et_time
ORDER BY et_time ASC
Run this yourself

ช่วงเปิดตลาดมีค่าเฉลี่ยช่วงราคาอยู่ที่ 24.4 bps ต่อนาที เทียบกับ 6.9 bps ในช่วง 12:30 โดยมีปริมาณการซื้อขาย 303.9 พันหุ้นต่อนาที เทียบกับ 69.6 พันหุ้น การปิดช่องว่างที่เกิดขึ้นในช่วงนาทีแรกจึงตั้งอยู่บนราคาที่เชื่อถือได้น้อยที่สุดของวัน ตัวเลขการปิดช่องว่างภายในวันเดียวกันข้างต้นได้รวมนาทีเหล่านี้ไว้ด้วย ซึ่งทำให้ค่าสถิติสูงเกินจริงเล็กน้อย และข้อควรระวังนี้มีผลกับสถิติการปิดช่องว่างภายในวันเดียวกันทุกรายการ

สิ่งที่ควรตรวจสอบก่อนตัดสินใจเทรดจากช่องว่างราคา

  1. กรอบเวลา: อัตราการปิดช่องว่างที่ไม่มีการกำหนดเส้นตายไม่ใช่สถิติที่นำไปใช้ได้จริง
  2. กลุ่มตัวอย่าง: ต้องดูว่ามีการแยกช่องว่างจากข่าวสารออกจากช่องว่างในวันปกติหรือไม่ และใช้วิธีใดในการแบ่งแยก
  3. การวัดผล: ต้องดูว่าการปิดช่องว่างทดสอบกับช่วงราคาที่มีการซื้อขายจริงหรือไม่ และมีการนับนาทีแรกของเซสชันรวมอยู่ด้วยหรือไม่
  4. ผู้รอดชีวิต: ต้องดูว่ากลุ่มตัวอย่างมีเฉพาะหุ้นที่ยังคงซื้อขายอยู่ในปัจจุบันหรือไม่ ซึ่งเป็นการลบช่องว่างที่ไม่เคยถูกปิดออกไปโดยปริยาย

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

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

ช่องว่างราคาของหุ้นจะถูกปิดเสมอไปหรือไม่

ไม่ ในกลุ่มตัวอย่างนี้ 88.7% ของช่องว่างราคา 1% ขึ้นไปเคลื่อนที่กลับไปแตะราคาปิดก่อนหน้าภายใน 60 sessions ซึ่งหมายความว่ายังมีสัดส่วนที่แท้จริงของช่องว่างที่ไม่ถูกปิดหลังจากผ่านไปประมาณสามเดือนของการซื้อขาย คำว่า "เสมอไป" จะใช้ได้ก็ต่อเมื่อไม่มีการจำกัดเวลา ซึ่งในจุดนั้นมันจะกลายเป็นสิ่งที่ทดสอบไม่ได้

ใช้เวลานานเท่าใดในการปิดช่องว่างราคา

ขึ้นอยู่กับช่องว่างนั้นๆ ในที่นี้ 34% ของช่องว่างราคา 1% ขึ้นไปปิดตัวลงภายในเซสชันเดียวกัน และส่วนที่เหลือจะค่อยๆ ปิดตัวลงในอีกหลายสัปดาห์หรือหลายเดือนถัดมา ช่องว่างขนาดเล็กมักกระจุกตัวอยู่ในช่วงวันเดียวกัน ส่วนช่องว่างที่มีปริมาณการซื้อขายหนาแน่นจะใช้เวลานานที่สุด

อะไรคือความแตกต่างระหว่างช่องว่างราคาปกติ (common gap) และช่องว่างราคาแบบ breakaway (breakaway gap)

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

ทำไมสถิติการปิดช่องว่างราคาถึงแตกต่างกันมากในแต่ละแหล่งข้อมูล

ปัจจัยสี่ประการที่ทำให้ตัวเลขต่างกันมาก ได้แก่ กรอบเวลาในการปิดช่องว่าง, ตะกร้าหุ้นที่ใช้, ช่วงเวลาที่ครอบคลุม และการวัดช่องว่างจากราคาปิดก่อนหน้าหรือจากราคาสูงสุด-ต่ำสุดก่อนหน้า อัตราการปิดช่องว่างที่ขาดปัจจัยใดปัจจัยหนึ่งในสี่ประการนี้ไม่สามารถนำมาเปรียบเทียบกันได้


วิธีการวัดตัวเลขเหล่านี้

เซสชันถูกสร้างขึ้นจากแท่งเทียนหนึ่งนาทีภายในเวลาซื้อขายปกติของนิวยอร์ก ราคาเปิดคือราคาเปิดของแท่งเทียนแรกในช่วงการซื้อขายปกติ ราคาปิดคือราคาปิดของแท่งเทียนสุดท้าย และราคาสูงสุด-ต่ำสุดของวันคือจุดสูงสุดและต่ำสุดของแท่งเทียนเหล่านั้น ช่องว่างราคาแต่ละรายการวัดเทียบกับราคาปิดของเซสชันก่อนหน้าของหุ้นตัวนั้นๆ

กรอบเวลา 5, 20 และ 60 เซสชันรวมถึงวันที่มีช่องว่างราคาด้วย วันที่มีช่องว่างราคาสิ้นสุดที่สิ้นเดือนกุมภาพันธ์ 2026 ในขณะที่ข้อมูลการซื้อขายดำเนินไปจนถึงเดือนมิถุนายน 2026 ดังนั้นช่องว่างทุกรายการในแผงข้อมูลกรอบเวลาจึงมีเซสชันถัดไปรองรับอย่างน้อยหกสิบเซสชัน และไม่มีรายการใดถูกระบุว่าไม่ถูกปิดเนื่องจากขาดข้อมูล

ปริมาณการซื้อขายปกติในแผงที่สามคือค่าเฉลี่ยของปริมาณการซื้อขายในช่วงการซื้อขายปกติ 20 เซสชันก่อนหน้าวันที่มีช่องว่างราคา 2 วัน เพื่อไม่ให้วันที่มีช่องว่างราคาและวันก่อนหน้าถูกนำไปรวมเป็นเกณฑ์มาตรฐานของตัวเอง

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

แผงข้อมูลทุกรายการที่นี่มาพร้อมกับคำสั่ง SQL ที่ใช้จริง หากต้องการทดสอบแบบเดียวกันกับหุ้นที่คุณติดตาม สามารถสอบถามเป็นภาษาอังกฤษธรรมดาได้ที่ Strasmore terminal

#gaps#gap fill#opening auction#overnight returns#technical analysis