Strasmore Research
Học tập Matt ConnorBởi Matt Connor · Cập nhật 2026-07-23

Tại sao cổ phiếu gap up hoặc gap down qua đêm

Tìm hiểu nguyên nhân gây ra gap up hoặc gap down giữa giá đóng cửa và giá mở cửa lúc 9:30. Phân tích biến động của SPY và rủi ro dừng lỗ khi gặp gap lớn.

Gap là khoảng cách giữa giá đóng cửa của phiên trước và giá mở cửa của phiên tiếp theo — một sự nhảy vọt trên biểu đồ giá mà không có giao dịch nào trong giờ giao dịch chính thức diễn ra ở giữa. Cổ phiếu gap up hoặc gap down qua đêm do các nguyên nhân cấu trúc: các sàn giao dịch chỉ hoạt động trong phiên 6,5 giờ, trong khi 17,5 giờ còn lại vẫn phát sinh báo cáo thu nhập, tin tức, giao dịch tại nước ngoài và các lệnh khớp lệnh mỏng trong giờ kéo dài. Tất cả các yếu tố này sẽ tác động cùng lúc vào giá mở cửa sáng hôm sau. Trang này dùng để đo lường các khoảng gap thay vì khẳng định chúng: mọi phiên của SPY trong H1 2026, năm cổ phiếu phổ biến bên cạnh chỉ số này, và một biến động qua đêm trên 8% đã được ghi nhận trước khi chuông mở cửa vang lên.

Gap up và gap down là gì?

Gap up: giá mở cửa hôm nay cao hơn giá đóng cửa phiên giao dịch chính thức ngày hôm trước. Gap down: giá mở cửa thấp hơn mức đó. Giá mở cửa được đề cập ở đây là mức giá lúc 9:30 sáng ET, được xác định bởi phiên đấu giá mở cửa, nơi tập hợp và khớp lệnh tồn đọng qua đêm tại một mức giá duy nhất. Giữa thời điểm đóng cửa phiên trước và phiên đấu giá này, giao dịch ngoài giờ và tiền thị trường vẫn có các giao dịch thực tế, nhưng với khối lượng chỉ bằng một phần nhỏ so với phiên giao dịch chính thức — do đó, giá mở cửa chính thức là thời điểm sức mạnh thực sự của thị trường được thể hiện và là nơi đo lường khoảng trống gap.

Quá trình tìm kiếm giá không bao giờ dừng lại hoàn toàn: hợp đồng tương lai chỉ số được giao dịch gần như xuyên suốt, các thị trường nước ngoài thiết lập các mức giá trong khi New York đang ngủ, và phiên tiền thị trường bắt đầu từ 4:00 sáng ET. Đến 9:30, phiên đấu giá không phải là sự phỏng đoán — nó xác nhận mức giá mà các sàn giao dịch qua đêm đã phác thảo trước đó.

Khoảng trống gap qua đêm bình thường là bao nhiêu?

Mỗi phiên trong nửa đầu năm 2026 của SPY, ETF mô phỏng chỉ số S&P 500, được chia thành hai thành phần: biến động qua đêm (từ giá đóng cửa phiên trước đến giá mở cửa) và biến động trong ngày (từ giá mở cửa đến giá đóng cửa):

Truy vấnSPY, H1 2026 — trung bình absolute overnight gap so với trung bình absolute intraday move
Câu lệnh SQL chính xác đằng sau mỗi con số
SELECT count() AS sessions,
       round(avg(abs(100 * (rth_open - prior_close) / prior_close)), 2) AS avg_abs_overnight_gap_pct,
       round(avg(abs(100 * (rth_close - rth_open) / rth_open)), 2) AS avg_abs_intraday_move_pct,
       countIf(abs(100 * (rth_open - prior_close) / prior_close) >= 0.5) AS gaps_of_half_pct_or_more
FROM (SELECT day, rth_open, rth_close, lagInFrame(rth_close) OVER (ORDER BY day) AS prior_close
    FROM (
        SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS day,
               argMinIf(toFloat64(open), window_start, rth) AS rth_open,
               argMaxIf(toFloat64(close), window_start, rth) AS rth_close
        FROM (
            SELECT window_start, open, close,
                   toTimeZone(window_start, 'America/New_York') >= toDateTime(concat(toString(toDate(toTimeZone(window_start, 'America/New_York'))), ' 09:30:00'), 'America/New_York')
                   AND toTimeZone(window_start, 'America/New_York') < toDateTime(concat(toString(toDate(toTimeZone(window_start, 'America/New_York'))), ' 16:00:00'), 'America/New_York') AS rth
            FROM global_markets.delayed_stocks_minute_aggs
            WHERE ticker = 'SPY'
              AND window_start >= '2025-12-29 04:00:00'
              AND window_start < '2026-07-01 08:00:00'
        )
        GROUP BY day
    ))
WHERE day >= '2026-01-01' AND prior_close > 0 AND isFinite(prior_close)

Trong 123 phiên, mức gap qua đêm tuyệt đối trung bình của SPY là 0.45%, so với mức biến động mở cửa-đóng cửa tuyệt đối trung bình là 0.53%: mức nhảy vọt qua đêm không thể giao dịch có độ lớn gần bằng toàn bộ phiên giao dịch sau đó. Các mức gap từ nửa phần trăm trở lên xảy ra 41 lần — tương đương khoảng một trên ba phiên.

Cổ phiếu có thường có khoảng trống giá lớn hơn vào thứ Hai không?

Phiên mở cửa thứ Hai thường có một đặc điểm: kỳ nghỉ cuối tuần kéo dài các biến động tương tự trong suốt 65 giờ đóng cửa thay vì 17.5 giờ. Giả thuyết này có thể kiểm chứng được. Mọi phiên giao dịch của SPY từ tháng 1 năm 2024 đến tháng 6 năm 2026, được phân loại theo các ngày trong tuần, cho thấy giá trị trung bình của khoảng trống giá (gap) tuyệt đối và bách phân vị thứ 90 — mức độ mà chỉ một trong mười phiên mở cửa có thể vượt qua. (Nếu thứ Hai là ngày lễ, khoảng trống giá của kỳ nghỉ cuối tuần sẽ chuyển sang phiên mở cửa thứ Ba và được tính cho thứ Ba.)

Truy vấnSPY overnight gaps theo thứ trong tuần — mọi phiên, từ tháng 1/2024 đến tháng 6/2026
Câu lệnh SQL chính xác đằng sau mỗi con số
SELECT ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday'][dow] AS weekday,
       count() AS sessions,
       round(avg(abs(gap_pct)), 2) AS avg_abs_gap_pct,
       round(quantileDeterministic(0.9)(abs(gap_pct), toUInt64(toYYYYMMDD(day))), 2) AS p90_abs_gap_pct
FROM (
    SELECT day, toDayOfWeek(day) AS dow,
           100 * (rth_open - prior_close) / prior_close AS gap_pct
    FROM (
        SELECT day, rth_open, lagInFrame(rth_close) OVER (ORDER BY day) AS prior_close
        FROM (
            SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS day,
                   argMinIf(toFloat64(open), window_start, rth) AS rth_open,
                   argMaxIf(toFloat64(close), window_start, rth) AS rth_close
            FROM (
            SELECT window_start, open, close,
                   toTimeZone(window_start, 'America/New_York') >= toDateTime(concat(toString(toDate(toTimeZone(window_start, 'America/New_York'))), ' 09:30:00'), 'America/New_York')
                   AND toTimeZone(window_start, 'America/New_York') < toDateTime(concat(toString(toDate(toTimeZone(window_start, 'America/New_York'))), ' 16:00:00'), 'America/New_York') AS rth
                FROM global_markets.delayed_stocks_minute_aggs
                WHERE ticker = 'SPY'
                  AND window_start >= '2023-12-28 04:00:00'
                  AND window_start < '2026-07-01 08:00:00'
            )
            GROUP BY day
        )
    )
    WHERE day >= '2024-01-01' AND prior_close > 0 AND isFinite(prior_close)
)
WHERE dow <= 5
GROUP BY dow
ORDER BY dow

Dữ liệu thực tế ủng hộ giả thuyết này. Khoảng trống giá tuyệt đối trung bình của 119 ngày thứ Hai là 0.52% — mức lớn nhất trong năm ngày trong tuần, so với 0.36% vào thứ Ba, 0.39% thứ Tư, 0.45% thứ Năm và 0.39% thứ Sáu. Sự khác biệt rõ rệt nhất nằm ở phần đuôi của phân phối: khoảng trống giá ở bách phân vị thứ 90 của thứ Hai là 1.11% so với 0.73% của thứ Ba. Hiệu ứng này có thật nhưng không lớn — phiên mở cửa thứ Hai có phân phối rộng hơn chứ không phải là một hiện tượng khác biệt hoàn toàn, và dữ liệu không cho thấy xu hướng cụ thể nào.

Những khoảng trống lớn nhất trong nửa đầu năm 2026

Sáu khoảng trống qua đêm lớn nhất của SPY trong nửa đầu năm, cùng với diễn biến của các ngày còn lại:

Truy vấn6 overnight gaps lớn nhất của SPY trong H1 2026 — và mức move open-to-close cùng ngày
Câu lệnh SQL chính xác đằng sau mỗi con số
SELECT concat(monthName(day), ' ', toString(toDayOfMonth(day)), ', ', toString(toYear(day))) AS session,
       round(100 * (rth_open - prior_close) / prior_close, 2) AS overnight_gap_pct,
       round(100 * (rth_close - rth_open) / rth_open, 2) AS rest_of_day_pct
FROM (SELECT day, rth_open, rth_close, lagInFrame(rth_close) OVER (ORDER BY day) AS prior_close
    FROM (
        SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS day,
               argMinIf(toFloat64(open), window_start, rth) AS rth_open,
               argMaxIf(toFloat64(close), window_start, rth) AS rth_close
        FROM (
            SELECT window_start, open, close,
                   toTimeZone(window_start, 'America/New_York') >= toDateTime(concat(toString(toDate(toTimeZone(window_start, 'America/New_York'))), ' 09:30:00'), 'America/New_York')
                   AND toTimeZone(window_start, 'America/New_York') < toDateTime(concat(toString(toDate(toTimeZone(window_start, 'America/New_York'))), ' 16:00:00'), 'America/New_York') AS rth
            FROM global_markets.delayed_stocks_minute_aggs
            WHERE ticker = 'SPY'
              AND window_start >= '2025-12-29 04:00:00'
              AND window_start < '2026-07-01 08:00:00'
        )
        GROUP BY day
    ))
WHERE day >= '2026-01-01' AND prior_close > 0 AND isFinite(prior_close)
ORDER BY abs(overnight_gap_pct) DESC, day
LIMIT 6

Khoảng trống lớn nhất xuất hiện vào April 8, 2026: SPY mở cửa cách mức đóng cửa trước đó 2.6%, sau đó biến động -0.08% từ mức mở cửa đến mức đóng cửa. Toàn bộ quá trình định giá lại trong ngày đã diễn ra trước phiên giao dịch chính thức đầu tiên — bài học thực tế từ các khoảng trống là thị trường có thể định giá lại mà không cần bạn.

Một con số không có bối cảnh chỉ là một nửa con số. Mọi tiêu đề liên quan đến SPY được xuất bản trong khoảng thời gian từ lúc đóng cửa ngày 7 tháng 4 đến lúc mở cửa ngày 8 tháng 4:

Truy vấnTin tức trên wire trong phiên overnight gap lớn nhất của SPY H1 2026
Câu lệnh SQL chính xác đằng sau mỗi con số
SELECT formatDateTime(toTimeZone(published_utc, 'America/New_York'), '%b %d %H:%i') AS et_published,
       JSONExtractString(toString(publisher), 'name') AS source,
       substring(title, 1, 80) AS headline
FROM global_markets.stocks_news
WHERE published_utc >= toDateTime('2026-04-07 16:00:00', 'America/New_York')
  AND published_utc < toDateTime('2026-04-08 09:30:00', 'America/New_York')
  AND has(tickers, 'SPY')
ORDER BY published_utc
LIMIT 10

Có hai tiêu đề xuất hiện trong khoảng thời gian đóng cửa đó, cả hai đều về lệnh ngừng bắn giữa Mỹ và Iran, được ghi nhận vào lúc Apr 08 03:28 ET và Apr 08 08:58 ET — trước khi chuông mở cửa, khi thị trường đang đóng. Khoảng trống chính là bút toán cho những tin tức đến vào thời điểm bạn không thể giao dịch.

Các cổ phiếu riêng lẻ có biến động mạnh hơn chỉ số không?

Một ETF chỉ số nắm giữ hàng trăm công ty, nên các biến động bất ngờ qua đêm của chúng sẽ tự triệt tiêu lẫn nhau một phần. Một cổ phiếu riêng lẻ không có sự bù đắp đó. Dưới đây là năm cái tên quen thuộc so với SPY trong cùng một phiên:

Truy vấnOvernight gaps theo ticker, H1 2026 — trung bình absolute gap và gap lớn nhất
Câu lệnh SQL chính xác đằng sau mỗi con số
SELECT ticker,
       count() AS sessions,
       round(avg(abs(gap_pct)), 2) AS avg_abs_gap_pct,
       round(argMax(gap_pct, (abs(gap_pct), day)), 2) AS biggest_gap_pct,
       concat(monthName(argMax(day, (abs(gap_pct), day))), ' ', toString(toDayOfMonth(argMax(day, (abs(gap_pct), day)))), ', ', toString(toYear(argMax(day, (abs(gap_pct), day))))) AS biggest_gap_day
FROM (
    SELECT ticker, day, 100 * (rth_open - prior_close) / prior_close AS gap_pct
    FROM (
        SELECT ticker, day, rth_open,
               lagInFrame(rth_close) OVER (PARTITION BY ticker ORDER BY day) AS prior_close
        FROM (
            SELECT ticker, toDate(toTimeZone(window_start, 'America/New_York')) AS day,
                   argMinIf(toFloat64(open), window_start, rth) AS rth_open,
                   argMaxIf(toFloat64(close), window_start, rth) AS rth_close
            FROM (
                SELECT ticker, window_start, open, close,
                       toTimeZone(window_start, 'America/New_York') >= toDateTime(concat(toString(toDate(toTimeZone(window_start, 'America/New_York'))), ' 09:30:00'), 'America/New_York')
                       AND toTimeZone(window_start, 'America/New_York') < toDateTime(concat(toString(toDate(toTimeZone(window_start, 'America/New_York'))), ' 16:00:00'), 'America/New_York') AS rth
                FROM global_markets.delayed_stocks_minute_aggs
                WHERE ticker IN ('SPY', 'KO', 'AAPL', 'MSFT', 'NVDA', 'TSLA')
                  AND window_start >= '2025-12-29 04:00:00'
                  AND window_start < '2026-07-01 08:00:00'
            )
            GROUP BY ticker, day
        )
    )
    WHERE day >= '2026-01-01' AND prior_close > 0 AND isFinite(prior_close)
)
GROUP BY ticker
ORDER BY indexOf(['SPY', 'KO', 'AAPL', 'MSFT', 'NVDA', 'TSLA'], ticker)

Hãy đọc hai cột riêng biệt. Vào một đêm thông thường, thứ hạng sẽ đúng như bạn dự đoán: Tesla đạt trung bình 1.05% và Nvidia đạt 0.99%, so với mức 0.45% của SPY — nhưng Coca-Cola chỉ đạt trung bình 0.42%, thấp hơn chỉ số — một cổ phiếu vốn hóa lớn thuộc nhóm tiêu dùng ổn định thường là công cụ ít biến động qua đêm.

Cột đuôi (tail) là nơi sự bù đắp biến mất. Khoảng cách gap lớn nhất của SPY trong nửa đầu năm là 2.6% (April 8, 2026), và cả năm cổ phiếu riêng lẻ đều vượt qua mức này: Coca-Cola đạt 5.41%, Apple đạt 2.82%, Nvidia đạt 3.6%, Tesla đạt 4.97% — và Microsoft, cổ phiếu lớn nhất trong nhóm, đạt -8.66% vào January 29, 2026. Các cổ phiếu riêng lẻ không phải lúc nào cũng biến động mạnh hơn chỉ số vào một đêm trung bình, nhưng đêm tồi tệ nhất của chúng thì tệ hơn nhiều.

Quan sát khoảng trống giá hình thành trước giờ mở cửa

Hãy xem lại khoảng trống giá (gap) của Microsoft trong January 29, 2026. Phiên trước đó đóng cửa ở mức $481.72; mọi biến động sau đó đều diễn ra khi thị trường đã đóng cửa, và đến 4:00 sáng giờ ET khi phiên premarket mở cửa, việc định giá lại đã hoàn tất:

Truy vấnMSFT — cách gap ngày 29/01/2026 hình thành, các khung 30 phút premarket
Câu lệnh SQL chính xác đằng sau mỗi con số
WITH day_vol AS (
    SELECT sum(toFloat64(volume)) AS rth_vol
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker = 'MSFT'
      AND window_start >= toDateTime('2026-01-29 09:30:00', 'America/New_York')
      AND window_start < toDateTime('2026-01-29 16:00:00', 'America/New_York')
),
prior AS (
    SELECT round(argMax(toFloat64(close), window_start), 2) AS prior_close
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker = 'MSFT'
      AND window_start >= toDateTime('2026-01-28 09:30:00', 'America/New_York')
      AND window_start < toDateTime('2026-01-28 16:00:00', 'America/New_York')
),
buckets AS (
    SELECT toStartOfInterval(toTimeZone(window_start, 'America/New_York'), INTERVAL 30 minute) AS bucket,
           round(argMax(toFloat64(close), window_start), 2) AS price,
           sum(toFloat64(volume)) AS shares
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker = 'MSFT'
      AND window_start >= toDateTime('2026-01-29 04:00:00', 'America/New_York')
      AND window_start < toDateTime('2026-01-29 09:30:00', 'America/New_York')
    GROUP BY bucket
)
SELECT formatDateTime(bucket, '%H:%i') AS et_time,
       price,
       (SELECT prior_close FROM prior) AS prior_close,
       round(100 * (price - (SELECT prior_close FROM prior)) / (SELECT prior_close FROM prior), 2) AS vs_prior_close_pct,
       round(abs(100 * (price - (SELECT prior_close FROM prior)) / (SELECT prior_close FROM prior)), 2) AS pct_below_prior_close,
       round(shares / 1000) AS shares_thousands,
       round(sum(shares) OVER (ORDER BY bucket) / 1000000, 2) AS cum_shares_millions,
       round(100 * sum(shares) OVER (ORDER BY bucket) / (SELECT rth_vol FROM day_vol), 2) AS cum_pct_of_regular_volume
FROM buckets
ORDER BY bucket

Phiên premarket đầu tiên, lúc 04:00 ET, đã ghi nhận mức $454, thấp hơn 5.75% so với mức đóng cửa trước đó, với khối lượng 128 ngàn cổ phiếu. Trong năm giờ tiếp theo, giá biến động liên tục; đến phiên premarket cuối cùng (09:00 ET), mức giá nằm ở mức 8.71% so với mức đóng cửa, và giá mở cửa chính thức là -8.66% — chỉ chênh lệch không đáng kể so với mức giá mà 4.86 triệu cổ phiếu giao dịch qua đêm đã xác định.

Hãy lưu ý cột cuối cùng: toàn bộ khối lượng premarket chỉ chiếm 4.31% so với khối lượng giao dịch của phiên chính thức. Một khoảng trống giá lớn như vậy được định giá bởi một lượng volume nhỏ trong phiên tối và được xác nhận bởi toàn bộ thị trường vào lúc 9:30. Chính sự thiếu hụt thanh khoản này là lý do spread rộng nhất vào thời điểm mở cửa.

Thị trường options đã định giá thế nào cho đêm đó

Options phản ánh những gì thị trường kỳ vọng về biến động trước khi nó thực sự xảy ra. Một straddle — bao gồm call và put tại cùng một mức strike và ngày đáo hạn — có chi phí xấp xỉ với mức biến động mà thị trường dự đoán cho cổ phiếu theo cả hai hướng cho đến khi đáo hạn. Các straddle near-the-money của Microsoft, được niêm yết trong 15 phút cuối trước khi đóng cửa phiên ngày 28 tháng 1 và đáo hạn hai ngày sau đó:

Truy vấnGiá MSFT straddle tại phiên close trước gap — 28/01/2026, đáo hạn 30/01
Câu lệnh SQL chính xác đằng sau mỗi con số
WITH prior AS (
    SELECT round(argMax(toFloat64(close), window_start), 2) AS prior_close
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker = 'MSFT'
      AND window_start >= toDateTime('2026-01-28 09:30:00', 'America/New_York')
      AND window_start < toDateTime('2026-01-28 16:00:00', 'America/New_York')
),
quotes AS (
    SELECT toFloat64(substring(ticker, 14, 8)) / 1000 AS strike,
           substring(ticker, 13, 1) AS cp,
           round(argMax((bid_price + ask_price) / 2, sip_timestamp), 2) AS mid
    FROM global_markets.cache_options_quotes
    WHERE ticker LIKE 'O:MSFT260130%'
      AND sip_timestamp >= toDateTime('2026-01-28 15:45:00', 'America/New_York')
      AND sip_timestamp < toDateTime('2026-01-28 16:00:00', 'America/New_York')
      AND bid_price > 0
      AND ask_price > 0
    GROUP BY ticker
)
SELECT concat('$', toString(strike)) AS strike_price,
       maxIf(mid, cp = 'C') AS call_mid,
       maxIf(mid, cp = 'P') AS put_mid,
       round(maxIf(mid, cp = 'C') + maxIf(mid, cp = 'P'), 2) AS straddle_cost,
       round(100 * (maxIf(mid, cp = 'C') + maxIf(mid, cp = 'P')) / (SELECT prior_close FROM prior), 2) AS implied_move_pct
FROM quotes
WHERE abs(strike - (SELECT prior_close FROM prior)) <= 5
GROUP BY strike
HAVING countIf(cp = 'C') > 0 AND countIf(cp = 'P') > 0
ORDER BY strike

Mức strike gần với giá đóng cửa 481.72$482.5, có giá cho cặp option là $25.69 — tương đương 5.33% giá cổ phiếu, và đó là mức biến động được định giá cho hai phiên giao dịch đầy đủ, chứ không phải một đêm. Chỉ riêng mức gap qua đêm đã là -8.66%. Thị trường options đã đưa ra một con số và diễn biến đêm đó đã vượt qua con số đó — các mức strike lân cận cũng đồng thuận (5.37% ở mức $477.5, 5.37% ở mức $485), vì vậy đây là sự đồng thuận của thị trường chứ không phải một báo giá sai lệch đơn lẻ.

Có hai cơ chế xảy ra đối với những người nắm giữ options qua một khoảng gap. Giá option không thể thay đổi khi thị trường đóng cửa — thời gian vẫn trôi đi gây bất lợi cho các vị thế long premium, và toàn bộ biến động sẽ xuất hiện ngay trong giá mở cửa. Và một khi sự kiện đã kết thúc, sự bất định cũng biến mất cùng với giá: implied volatility sẽ sụt giảm mạnh vào sáng hôm sau khi tin tức được công bố, đó là lý do tại sao việc dự đoán đúng hướng vẫn có thể gây thua lỗ khi nắm giữ long option. Số ngày đến khi đáo hạn sẽ quyết định mức độ ảnh hưởng mạnh mẽ của cả hai yếu tố này.

Các loại gap: thuật ngữ về mô hình biểu đồ

Các trader phân loại gap dựa trên vị trí của chúng trong một xu hướng dài hơn. Các tên gọi này mang tính mô tả, được áp dụng sau khi sự việc đã xảy ra và không dùng để dự báo:

  • Common (area) gap — một gap nhỏ nằm trong phạm vi biến động thông thường, không có tin tức đặc biệt. Hầu hết các gap của SPY dưới mức nửa phần trăm đều là loại này.
  • Breakaway gap — giá nhảy vọt ra khỏi một phạm vi hoặc vượt qua một mức hỗ trợ/kháng cự lâu đời, thường đi kèm với khối lượng giao dịch lớn.
  • Runaway (continuation) gap — một gap xuất hiện giữa xu hướng, cùng hướng với xu hướng hiện tại của cổ phiếu.
  • Exhaustion gap — một gap xuất hiện cùng hướng với xu hướng nhưng nằm ở cuối đà tăng/giảm, sau đó giá sẽ đảo chiều. Trong ngày xảy ra, nó trông giống hệt runaway gap; chỉ có dữ liệu sau đó mới giúp phân biệt chúng.

Cặp loại cuối cùng là một lưu ý quan trọng: tên gọi phụ thuộc vào diễn biến tiếp theo, vì vậy không ai có thể định danh chúng trong thời gian thực.

Ý nghĩa của khoảng trống giá đối với lệnh của bạn

Ba hệ quả dưới đây đều bắt nguồn từ việc không có giao dịch trong giờ hành chính diễn ra bên trong khoảng trống:

  • Lệnh stop không dừng lỗ tại mức giá stop. Lệnh stop sẽ trở thành lệnh market khi cổ phiếu giao dịch tại hoặc vượt qua mức kích hoạt. Nếu một cổ phiếu đóng cửa ở mức 50 USD và mở cửa ở mức 44 USD, lệnh stop 48 USD sẽ được kích hoạt ngay khi mở cửa và khớp lệnh gần mức 44 USD — khoảng trống đã nhảy vọt qua mức đó. Lệnh stop chỉ đảm bảo việc thực hiện lệnh, không đảm bảo mức giá; một stop-limit order sẽ giới hạn mức giá bạn chấp nhận, nhưng có rủi ro là lệnh không được khớp.
  • Cơ chế tạm dừng giao dịch, không phải khoảng trống, mới là phanh của thị trường. Các dải Limit up-limit down (LULD) ngăn một cổ phiếu biến động quá một tỷ lệ phần trăm nhất định so với mức giá trung bình gần đây — thường là 5% hoặc 10% đối với hầu hết các mã, rộng hơn đối với các mã có giá thấp, và gấp đôi vào lúc mở cửa và đóng cửa — và một biến động liên tục nằm ngoài dải này sẽ kích hoạt tạm dừng giao dịch trong năm phút. Các cơ chế ngắt mạch (circuit breakers) trên toàn thị trường sẽ tạm dừng tất cả nếu S&P 500 giảm 7% (Level 1) hoặc 13% (Level 2) so với mức đóng cửa trước đó, và đóng cửa ngày giao dịch tại mức 20% (Level 3). Không có cơ chế nào trong số này ngăn chặn khoảng trống; chúng chỉ điều tiết những gì xảy ra sau khi giao dịch bắt đầu trở lại.
  • "Gap fill" là một mô tả, không phải một lịch trình. Các nhà giao dịch nói rằng một khoảng trống được "lấp đầy" (fills) khi giá quay trở lại mức đóng cửa trước đó. Không có yếu tố nào bắt buộc điều này phải xảy ra trong bất kỳ khung thời gian nào. Ngày có khoảng trống lớn nhất trong nửa đầu kỳ của SPY chỉ di chuyển -0.08% sau khi mở cửa: không lấp đầy, không suy giảm, chỉ là một mức giá mới.

Về mặt thống kê, thị trường qua đêm và thị trường trong ngày là hai thị trường khác nhau — đó cũng là lý do tại sao cách đo lường lợi nhuận hàng tháng sẽ thay đổi tùy thuộc vào việc có tính các bước nhảy qua đêm hay không.

FAQ

Điều gì khiến cổ phiếu nhảy gap tăng hoặc giảm qua đêm?

Thị trường đóng cửa 17.5 giờ trong mỗi 24 giờ nhưng thông tin không ngừng trôi: báo cáo thu nhập được công bố sau giờ đóng cửa, tin tức xuất hiện trước giờ mở cửa, và các thị trường nước ngoài giao dịch suốt đêm. Phiên đấu giá mở cửa sẽ khớp các lệnh tích lũy tại một mức giá duy nhất; khoảng cách từ mức giá đóng cửa trước đó chính là gap.

Các khoảng gap qua đêm phổ biến như thế nào?

Rất phổ biến. Trong nửa đầu năm 2026, mức gap qua đêm tuyệt đối trung bình của SPY là 0.45%, và 41 của 123 phiên giao dịch có mức mở cửa chênh lệch ít nhất nửa phần trăm so với giá đóng cửa trước đó. Các cổ phiếu riêng lẻ có mức gap lớn hơn: Tesla trung bình là 1.05%.

Cổ phiếu có nhảy gap nhiều hơn vào thứ Hai không?

Có, nhưng ở mức độ vừa phải. Từ tháng 1 năm 2024 đến tháng 6 năm 2026, mức gap thứ Hai tuyệt đối trung bình của SPY là 0.52% — mức rộng nhất trong các ngày trong tuần, so với 0.36% vào thứ Ba. Cuối tuần làm tăng thời gian đóng cửa, chứ không quyết định hướng đi của giá.

Các khoảng gap có luôn được lấp đầy không?

Không. "Gap luôn được lấp đầy" chỉ là kinh nghiệm dân gian trong giao dịch: một số gap được lấp đầy trong vài giờ, số khác không bao giờ quay lại mức giá đóng cửa trước đó. Hãy coi bất kỳ thống kê lấp gap nào là mô tả cho các phiên trong quá khứ, không phải là quy tắc cho phiên tiếp theo.

Lệnh stop-loss của tôi sẽ ra sao nếu cổ phiếu nhảy gap giảm?

Lệnh stop sẽ được kích hoạt tại thời điểm mở cửa và khớp tại bất kỳ mức giá nào mà thị trường đưa ra, mức giá này có thể thấp hơn nhiều so với giá stop — khoảng gap không có sẵn các lệnh giao dịch để khớp tại mức giá đó.


Mọi con số ở trên đều là truy vấn được lưu trữ — hãy mở rộng SQL dưới bất kỳ bảng nào, hoặc chia nhỏ biến động qua đêm và biến động trong ngày của bất kỳ ticker nào trên terminal Strasmore.

#gaps#market structure#opening auction#overnight moves