Strasmore Research
Học tập Matt ConnorBởi Matt Connor · Cập nhật 2026-07-23 · data as of July 23, 2026 · refreshed weekly

Bid-ask spread là gì và chi phí thực tế

Tìm hiểu định nghĩa về bid-ask spread, cách tính toán và chi phí thực tế cho mỗi giao dịch dựa trên dữ liệu tick-level từ các cổ phiếu tại thị trường Mỹ.

Bid-ask spread là khoảng cách giữa mức giá cao nhất mà người mua sẵn sàng trả cho một cổ phiếu (giá bid) và mức giá thấp nhất mà người bán sẵn sàng chấp nhận (giá ask). Đây là chi phí giao dịch cố định: khi bạn mua ở giá ask và bán ở giá bid, phần chênh lệch sẽ thuộc về bên cung cấp báo giá. Mọi con số về spread trên trang này đều được đo lường từ dữ liệu báo giá ở cấp độ tick, với truy vấn chính xác đi kèm cho mỗi con số.

Bid-ask spread là gì? Định nghĩa đơn giản nhất

Tại bất kỳ thời điểm nào trong ngày giao dịch, một cổ phiếu luôn có hai mức giá chứ không phải một. Bid là mức giá chào mua tốt nhất hiện có. Ask (đôi khi được gọi là offer) là mức giá chào bán tốt nhất hiện có. Bid-ask spread là khoảng cách giữa hai mức giá này.

Một ví dụ giả định: một cổ phiếu được niêm yết với giá bid là $20.00 và ask là $20.05 thì có spread là năm cent. Bất kỳ ai muốn mua ngay lập tức sẽ phải trả $20.05; bất kỳ ai muốn bán ngay lập tức sẽ nhận được $20.00. Khoản chênh lệch năm cent đó không phải là phí môi giới — đó là chi phí để thực hiện giao dịch ngay lập tức, và số tiền này thuộc về nhà giao dịch ở phía đối diện của báo giá, thường là một market maker chuyên nghiệp, người luôn sẵn sàng mua ở mức bid và bán ở mức ask trong suốt phiên giao dịch.

Đối với cổ phiếu tại Mỹ, mức bid và ask tốt nhất từ tất cả các sàn giao dịch được hợp nhất thành một mức giá chào mua và chào bán tốt nhất quốc gia — gọi là NBBO. Đó là báo giá mà ứng dụng môi giới của bạn hiển thị, và cũng là dữ liệu mà bài viết này đo lường. (Trong tài chính, thuật ngữ "spread" còn được dùng cho các khoảng chênh lệch khác: ví dụ 2s10s spread là sự chênh lệch giữa lợi suất trái phiếu Kho bạc, không phải giá cổ phiếu.)

Bid vs. ask: cách đọc báo giá cổ phiếu

Dưới đây là dữ liệu NBBO thực tế của Apple — báo giá cuối cùng trong cửa sổ dữ liệu của chúng tôi, được trích xuất từ nguồn dữ liệu hợp nhất.

Truy vấnAAPL — báo giá NBBO mới nhất trong dữ liệu
Câu lệnh SQL chính xác đằng sau mỗi con số
SELECT stock,
       toDecimalString(bid, 2) AS bid_price,
       toDecimalString(ask, 2) AS ask_price,
       toDecimalString(ask - bid, 2) AS spread,
       toDecimalString((ask + bid) / 2, 2) AS midpoint_price,
       round((ask - bid) / ((ask + bid) / 2) * 100, 3) AS spread_pct,
       quote_time_et
FROM (
    SELECT ticker AS stock,
           argMax(toFloat64(bid_price), sip_timestamp) AS bid,
           argMax(toFloat64(ask_price), sip_timestamp) AS ask,
           formatDateTime(toTimeZone(max(sip_timestamp), 'America/New_York'), '%Y-%m-%d %H:%i') AS quote_time_et
    FROM global_markets.cache_stocks_quotes
    WHERE ticker = 'AAPL'
      AND sip_timestamp >= now() - INTERVAL 7 DAY
      AND bid_price > 0
      AND ask_price > bid_price
    GROUP BY ticker
)

Đọc từ trái sang phải: mức bid tốt nhất là $334.75, mức ask tốt nhất là $334.81, và spread — ask trừ bid — là $0.06, được ghi nhận lúc 2026-07-16 19:59 ET. Mức giá trung bình (midpoint), $334.78, nằm ở giữa hai mức giá trên và thường được dùng làm tham chiếu cho giá trị hợp lý của cổ phiếu tại thời điểm đó.

Một chi tiết đáng lưu ý: báo giá này xuất hiện gần cuối phiên giao dịch kéo dài, nhiều giờ sau khi kết thúc phiên chính thức. Thời điểm rất quan trọng đối với spread — biểu đồ trong ngày bên dưới sẽ cho thấy mức độ ảnh hưởng của yếu tố này.

Cách tính spread: cents, phần trăm và basis points

Cùng một khoảng chênh lệch có thể được thể hiện theo ba cách:

  1. Đô la và cents. Spread = giá ask trừ giá bid. Cách này đơn giản nhưng khó so sánh giữa các cổ phiếu có mức giá khác nhau.
  2. Phần trăm. Spread ÷ mức giá midpoint × 100. Spread năm cents trên cổ phiếu giá $20 tương đương 0.25% giá; cùng mức năm cents đó trên cổ phiếu giá $200 chỉ là 0.025%.
  3. Basis points (bps). Một phần trăm chia cho một trăm — đây là quy ước chuyên nghiệp. Nhân tỷ lệ phần trăm với 100: 0.25% tương đương 25 bps.

Áp dụng vào báo giá thực tế của Apple ở trên: $0.06 ÷ $334.78 cho kết quả bằng 0.018% giá cổ phiếu — đây là dữ liệu sau giờ giao dịch và vẫn thấp hơn nhiều so với 1% giá.

Spread hẹp so với spread rộng: số liệu thực tế từ các cổ phiếu có thanh khoản cao và thấp

Hầu hết các bài giải thích chỉ dừng lại ở mức "cổ phiếu có thanh khoản cao có spread hẹp". Dưới đây là quy mô thực tế của sự khác biệt đó, được đo lường qua mọi cập nhật NBBO trong một giai đoạn vài ngày gần đây. Bảng dưới đây so sánh sáu mã cổ phiếu được giao dịch nhiều với hai cổ phiếu vốn hóa nhỏ có thanh khoản thực sự thấp là Nathan's Famous (NATH) và Seneca Foods (SENEA). "Typical" (điển hình) nghĩa là mức giá trung vị trong giai đoạn đó, và cột cuối cùng quy đổi spread đó thành số tiền đô la cho một giao dịch khứ hồi 100 cổ phiếu — số cents mỗi cổ phiếu và số đô la cho 100 cổ phiếu là cùng một giá trị.

Truy vấnTypical quoted spread — 6 mã thanh khoản cao so với 2 mã small cap, kèm chi phí cho 100 cổ phiếu
Câu lệnh SQL chính xác đằng sau mỗi con số
SELECT ticker,
       round(median_spread_usd * 100, 1) AS typical_spread_cents,
       round(median_spread_bps, 1) AS typical_spread_bps,
       toDecimalString(median_spread_usd * 100, 2) AS spread_cost_100_shares
FROM (
    SELECT ticker,
           quantileDeterministic(0.5)(toFloat64(ask_price - bid_price), toUInt64(sip_timestamp)) AS median_spread_usd,
           quantileDeterministic(0.5)(toFloat64(ask_price - bid_price) / (toFloat64(ask_price + bid_price) / 2), toUInt64(sip_timestamp)) * 10000 AS median_spread_bps
    FROM global_markets.cache_stocks_quotes
    WHERE ticker IN ('SPY', 'AAPL', 'NVDA', 'MSFT', 'KO', 'TSLA', 'NATH', 'SENEA')
      AND sip_timestamp >= now() - INTERVAL 7 DAY
      AND bid_price > 0
      AND ask_price > bid_price
    GROUP BY ticker
)
ORDER BY indexOf(['SPY', 'AAPL', 'NVDA', 'MSFT', 'KO', 'TSLA', 'NATH', 'SENEA'], ticker)

Trong số các mã có thanh khoản cao, spread niêm yết điển hình của SPY là 2¢ — tương đương 0.3 bps giá cổ phiếu — với Coca-Cola là 1¢ (1.2 bps) và Tesla là 9¢ (2.3 bps). Sau đó là sự chênh lệch lớn: Nathan's Famous ở mức 71¢ (70.5 bps) và Seneca Foods là 230¢ (133.3 bps). Cùng một thị trường, cùng một bộ quy tắc — sự khác biệt nằm ở tính thanh khoản: số lượng người mua, người bán và nhà tạo lập thị trường cùng cạnh tranh cho mỗi mã cổ phiếu tại một thời điểm.

Chi phí của spread trong một giao dịch thực tế

Một cách hữu ích để hình dung về spread là tính giá cho một giao dịch khứ hồi: mua ở giá ask và bán ở giá bid ngay lập tức, khi đó bạn sẽ mất toàn bộ mức spread trên mỗi cổ phiếu. Với 100 cổ phiếu, tỷ lệ quy đổi đã được nêu trong bảng trên — mức spread điển hình tính bằng cent trên mỗi cổ phiếu cũng chính là con số đó tính bằng đô la. Đối với các mã cổ phiếu phổ biến, chi phí này rất nhỏ: $4.00 cho 100 cổ phiếu Apple, $1.00 cho Coca-Cola. Các mã cổ phiếu ít thanh khoản có mức phí khác biệt — $71.00 cho Nathan's Famous và $230.00 cho Seneca Foods, trước khi tính đến phí hoa hồng và trước khi lệnh làm biến động giá. Các con số này giả định lệnh được khớp tại mức giá niêm yết; một lệnh lớn hơn quy mô niêm yết có thể phải trả chi phí cao hơn.

Khi spread giãn rộng: phiên mở cửa, phiên đóng cửa và sau giờ giao dịch

Spread không cố định trong suốt cả ngày. Biểu đồ dưới đây theo dõi median spread của Apple theo các khung thời gian 30 phút (Giờ miền Đông) trong cùng một khoảng thời gian, bao gồm cả giờ giao dịch ngoài phiên — một mô hình mà hầu hết các bài giải thích đều khẳng định nhưng không bao giờ hiển thị.

Truy vấnMedian quoted spread của AAPL theo khung 30 phút (ET, bao gồm cả extended hours)
Câu lệnh SQL chính xác đằng sau mỗi con số
SELECT formatDateTime(toStartOfInterval(toTimeZone(sip_timestamp, 'America/New_York'), INTERVAL 30 MINUTE), '%H:%i') AS et_time,
       round(quantileDeterministic(0.5)(toFloat64(ask_price - bid_price), toUInt64(sip_timestamp)) * 100, 1) AS median_spread_cents
FROM global_markets.cache_stocks_quotes
WHERE ticker = 'AAPL'
  AND sip_timestamp >= now() - INTERVAL 7 DAY
  AND bid_price > 0
  AND ask_price > bid_price
GROUP BY et_time
ORDER BY et_time

Hình dáng của nó là hình chữ U với hai cạnh cao: giãn rộng trước khi mở cửa, ở mức vài penny trong suốt giữa ngày, và giãn rộng trở lại sau khi đóng cửa. Bốn điểm kiểm tra từ đường cong đó, được xác định bởi thời gian:

Truy vấnBiểu đồ tương tự tại 4 thời điểm — premarket, lúc mở cửa, giữa ngày, và lúc đóng cửa
Câu lệnh SQL chính xác đằng sau mỗi con số
SELECT formatDateTime(toStartOfInterval(toTimeZone(sip_timestamp, 'America/New_York'), INTERVAL 30 MINUTE), '%H:%i') AS et_time,
       round(quantileDeterministic(0.5)(toFloat64(ask_price - bid_price), toUInt64(sip_timestamp)) * 100, 1) AS median_spread_cents
FROM global_markets.cache_stocks_quotes
WHERE ticker = 'AAPL'
  AND sip_timestamp >= now() - INTERVAL 7 DAY
  AND bid_price > 0
  AND ask_price > bid_price
GROUP BY et_time
HAVING et_time IN ('04:00', '09:30', '13:00', '16:00')
ORDER BY et_time

Trong khung giờ 04:00 trước phiên (premarket) — khung giờ đầu tiên trong ngày — median spread của Apple đạt mức 34¢. Trong khung giờ 09:30, nửa giờ đầu tiên của phiên giao dịch chính thức, nó giảm xuống còn 7¢, và khung giờ 13:00 đầu giờ chiều ở mức 4¢. Khung giờ 16:00, bắt đầu cùng lúc với tiếng chuông đóng cửa và phiên đấu giá đóng cửa, đã tăng lên 15¢, và khoảng cách này duy trì ở mức cao suốt buổi tối — đạt 15¢ trong khung giờ cuối cùng của phiên. Trong giờ giao dịch chính thức (9:30 sáng – 4:00 chiều ET), hàng chục nhà tạo lập thị trường (market makers) cùng báo giá cho cổ phiếu; ngoài những khung giờ đó — trong thời gian giao dịch sau giờ và trước phiên — có ít báo giá cạnh tranh hơn, khiến spread rộng hơn.

Các yếu tố khiến spread hẹp hoặc rộng

Có bốn yếu tố luôn đi cùng với spread hẹp:

  • Sự cạnh tranh. Càng nhiều market maker và càng nhiều lệnh chờ (resting orders) cho một mã chứng khoán thì báo giá hai chiều càng hẹp. Một cổ phiếu có thanh khoản thấp có thể chỉ có một nhà tạo lập thị trường duy nhất đang điều tiết toàn bộ thị trường.
  • Khối lượng giao dịch. Khối lượng lớn và spread hẹp luôn xuất hiện cùng nhau trong bảng dữ liệu trên; các mã được giao dịch nhiều có mức chênh lệch chỉ bằng một phần nhỏ so với các mã có thanh khoản thấp.
  • Biến động (Volatility). Trong các thị trường biến động mạnh, các báo giá liên tục được định giá lại và khoảng cách spread có xu hướng rộng hơn cho đến khi giao dịch ổn định trở lại.
  • Giá cổ phiếu và tick size. Các cổ phiếu Mỹ trên 1 USD được báo giá theo bước giá một cent, và một cent là mức tối thiểu — các mã giá thấp có thanh khoản cao nhất thường duy trì ở mức này trong phần lớn thời gian giao dịch. Đối với một cổ phiếu giá thấp, mức tối thiểu một cent đó sẽ chiếm tỷ lệ phần trăm lớn hơn trên mỗi cổ phiếu.

Cách để giữ chi phí spread ở mức thấp

  • Lệnh limit cho phép bạn ấn định mức giá. Lệnh market sẽ khớp theo bất kỳ mức giá nào đang được chào; trong khi lệnh limit chỉ khớp tại mức giá đã nêu hoặc tốt hơn. Một lệnh mua treo tại mức bid sẽ thu về spread thay vì phải trả nó khi có người bán khớp lệnh — đánh đổi lại là lệnh đó có thể không bao giờ được khớp.
  • Các mã có tính thanh khoản cao trong giờ giao dịch là sự kết hợp tối ưu. Biểu đồ trong ngày ở trên cho thấy quy mô: spread vào giữa ngày của các cổ phiếu có tính thanh khoản cao là hẹp nhất trong phiên.
  • Basis points tiết lộ những gì mà các đơn vị cent đang che giấu. Một khoảng chênh lệch nghe có vẻ nhỏ như tiền lẻ có thể là một phần phần trăm có ý nghĩa đối với một cổ phiếu có thanh khoản thấp hoặc giá thấp, như các hàng cổ phiếu vốn hóa nhỏ ở trên đã cho thấy.
  • Ít giao dịch khứ hồi hơn đồng nghĩa với việc phí thấp hơn. Mỗi giao dịch khứ hồi phải trả spread một lần; tổng chi phí sẽ tăng tỉ lệ thuận với tần suất xoay vòng vị thế.

Câu hỏi thường gặp về bid-ask spread

Thế nào là một bid-ask spread tốt?

Không có ngưỡng chính thức nào, nhưng bảng trên cung cấp các mức tham chiếu: trong khoảng thời gian được đo lường, spread điển hình của SPY là 0.3 bps so với giá cổ phiếu và của Tesla là 2.3 bps, trong khi các cổ phiếu vốn hóa nhỏ có thanh khoản thấp dao động ở mức 70.5133.3 bps. Mức spread một chữ số (basis points) là hẹp; nếu spread vượt quá khoảng 1% giá cổ phiếu, đó là lúc lệnh limit bắt đầu có lợi.

Ai là người thu bid-ask spread?

Bất kỳ ai cung cấp báo giá — thường là một market maker — sẽ thu lợi nhuận từ spread khi cả hai phía của báo giá đều được khớp. Đây là khoản bù đắp cho việc luôn sẵn sàng giao dịch, không phải là phí mà broker hay sàn giao dịch thu của bạn.

Bid-ask spread rộng là tốt hay xấu?

Spread rộng làm tăng chi phí cho mỗi vòng giao dịch (round trip), như cột chi phí cho 100 cổ phiếu trong bảng trên đã chỉ ra. Spread rộng cũng mang lại thông tin: ít người tham gia báo giá hơn, và giá giao dịch gần nhất chỉ là một ước tính lỏng lẻo về mức giá thực tế mà lệnh của bạn sẽ nhận được.

Tại sao giá ask luôn cao hơn giá bid?

Do cấu trúc của nó. Giá bid là mức giá tốt nhất mà người mua sẵn sàng trả và giá ask là mức giá tốt nhất mà người bán sẵn sàng chấp nhận; bất cứ khi nào hai mức giá này gặp nhau, sàn giao dịch sẽ khớp chúng thành một giao dịch ngay lập tức và báo giá sẽ thay đổi. Một báo giá đang duy trì luôn hiển thị giá ask bằng hoặc cao hơn giá bid.

Bid-ask spread có quan trọng với nhà đầu tư dài hạn không?

Ít quan trọng hơn so với các nhà giao dịch lướt sóng (active traders), và dữ liệu cho thấy quy mô cụ thể: một vòng giao dịch 100 cổ phiếu của SPY có chi phí spread điển hình là $2.00. Trả khoản đó một lần trong mười năm chỉ là biến động nhỏ; nhưng trả spread của một cổ phiếu thanh khoản thấp hàng tuần sẽ tích tụ thành một số tiền lớn.


Mọi con số ở trên đều được truy xuất từ một truy vấn có thể kiểm tra — hãy mở rộng SQL dưới bất kỳ bảng nào để kiểm chứng. Để đo lường spread của một ticker mà bạn đang nắm giữ, hãy đặt các câu hỏi tương tự bằng tiếng Anh trên terminal Strasmore.