Quy tắc sub-penny và price improvement là gì?
Rule 612 cấm báo giá cổ phiếu trên $1.00 theo phần lẻ của một cent. Vì sao lệnh vẫn khớp ở bốn chữ số thập phân, kèm dữ liệu tape thực tế?
Quy tắc sub-penny, tức Rule 612 của Regulation NMS, quy định bước giá nhỏ nhất mà báo giá cổ phiếu hiển thị được phép sử dụng: một cent đối với mức giá từ $1.00 trở lên và một phần một trăm cent đối với mức giá dưới $1.00. Quy tắc này ràng buộc mức giá mà một venue được phép hiển thị hoặc tiếp nhận. Quy tắc không quy định mức giá mà giao dịch có thể được khớp và ghi nhận. Vì vậy, lệnh của bạn có thể được khớp tại $47.3218 trên xác nhận giao dịch, dù mọi báo giá trên màn hình đều kết thúc bằng số cent tròn.
Quy tắc sub-penny thực sự quy định gì
Rule 612 được ban hành cùng Regulation NMS vào năm 2005, với phần nội dung áp dụng khá ngắn gọn. Không một sở giao dịch chứng khoán quốc gia, hệ thống giao dịch thay thế, nhà cung cấp dữ liệu hay broker nào được phép hiển thị, xếp hạng hoặc tiếp nhận lệnh, báo giá hay chỉ báo quan tâm đối với một cổ phiếu NMS ở bước giá nhỏ hơn $0.01 khi giá từ $1.00 trở lên. Với mức giá dưới $1.00, ngưỡng này giảm xuống $0.0001. Cổ phiếu NMS là cổ phiếu niêm yết trên sàn, nên quy tắc này bao phủ gần như mọi cổ phiếu mà tài khoản môi giới bán lẻ có thể mua trên sàn giao dịch Mỹ.
Hai từ then chốt là “hiển thị” và “tiếp nhận”. Quy tắc áp dụng cho báo giá và lệnh. Quy tắc không áp dụng cho giao dịch khớp lệnh. Không venue nào được phép đăng bid ở mức $47.3215, và broker của bạn cũng không được tiếp nhận limit order ở mức giá đó. Tuy nhiên, một giao dịch vẫn có thể được ghi nhận hợp pháp tại mức giá này.
Hành vi mà quy tắc này nhằm ngăn chặn là chen lên trước trong hàng đợi. Một trader có thể vượt lên trước bid $10.00 đang chờ khớp bằng cách đặt giá $10.0001, qua đó giành ưu tiên chỉ với một phần một trăm cent cam kết kinh tế thực tế. Lưới giá hiển thị thô hơn loại bỏ cách làm này và khiến ưu tiên về giá có ý nghĩa hơn.
Vì sao giá khớp của bạn được ghi nhận đến bốn chữ số thập phân
Phần lớn marketable order của nhà đầu tư bán lẻ đối với cổ phiếu Mỹ không đi thẳng tới sàn giao dịch. Lệnh được chuyển đến wholesaler, tức market maker ngoài sàn dùng hàng tồn kho của chính mình để khớp lệnh. Khi khớp lệnh cho bạn, wholesaler không hiển thị báo giá, nên lưới giá theo cent không ràng buộc mức giá thực hiện. Wholesaler khớp lệnh bên trong bid và offer tốt nhất toàn quốc, thường tốt hơn NBBO một phần cent. Khoảng chênh giữa NBBO và giá khớp của bạn chính là mức price improvement được ghi trên xác nhận giao dịch và trong báo cáo chất lượng thực hiện của broker.
Cơ chế này để lại dấu vết trên bảng giao dịch công khai. Mọi giao dịch đều được ghi nhận trên consolidated feed tại mức giá chính xác. Vì vậy, đếm số print có mức giá chứa phần lẻ của một cent sẽ cho biết số lệnh được khớp bên trong lưới giá.
Câu lệnh SQL chính xác đằng sau mỗi con số
SELECT
ticker,
round(100 * countIf(toUInt64(round(toFloat64(price) * 10000)) % 100 != 0) / count(), 2) AS subpenny_trade_pct,
round(100 * sumIf(size, toUInt64(round(toFloat64(price) * 10000)) % 100 != 0) / sum(size), 2) AS subpenny_volume_pct
FROM global_markets.stocks_trades
WHERE ticker IN ('MSFT', 'AAPL', 'NVDA', 'KO', 'BAC', 'T', 'F')
AND sip_timestamp >= '2026-06-17 14:00:00'
AND sip_timestamp < '2026-06-17 14:15:00'
AND price > 0
GROUP BY ticker
ORDER BY subpenny_trade_pct DESCTrong khoảng thời gian mười lăm phút ngày 17 tháng 6 năm 2026, KO có tỷ lệ cao nhất trong số các mã 7 được đo lường, với 46.56% số print được ghi nhận tại mức giá sub-penny. MSFT có tỷ lệ thấp nhất, ở mức 31.87%. Nếu tính theo số cổ phiếu thay vì số print, ta có góc nhìn thứ hai: đối với KO, các print sub-penny chiếm 24.88% số cổ phiếu được giao dịch.
Lệnh do wholesaler khớp thường có quy mô nhỏ. Bảng dưới đây phân tách toàn bộ print của AAPL trong một phiên theo quy mô giao dịch. Cách này giúp tách dòng lệnh quy mô bán lẻ khỏi các block giao dịch của tổ chức.
Câu lệnh SQL chính xác đằng sau mỗi con số
WITH prints AS
(
SELECT
size,
multiIf(size < 100, 'under 100 shares',
size < 500, '100 to 499 shares',
size < 1000, '500 to 999 shares',
size < 5000, '1,000 to 4,999 shares',
'5,000 shares and up') AS size_bucket,
toUInt64(round(toFloat64(price) * 10000)) % 100 != 0 AS sub_penny
FROM global_markets.stocks_trades
WHERE ticker = 'AAPL'
AND sip_timestamp >= '2026-06-17 00:00:00'
AND sip_timestamp < '2026-06-18 00:00:00'
AND price > 0
AND size > 0
)
SELECT
size_bucket,
round(100 * countIf(sub_penny) / count(), 2) AS subpenny_trade_pct,
round(100 * count() / (SELECT count() FROM prints), 2) AS share_of_prints_pct
FROM prints
GROUP BY size_bucket
ORDER BY min(size)Các print thuộc nhóm under 100 shares chiếm 88.99% số giao dịch AAPL trong phiên đó và có mức giá sub-penny trong 38.66% thời gian. Nhóm lớn nhất, 5,000 shares and up, có print sub-penny trong 18.06% thời gian. Các giao dịch này xuất hiện ở cả hai đầu của bảng.
Vì sao một cent tạo ra chi phí lớn hơn đối với cổ phiếu giá thấp
Một basis point bằng một phần một trăm của một phần trăm, là đơn vị tiêu chuẩn để so sánh chi phí giao dịch giữa các mức giá cổ phiếu. Khi tính theo basis point, mức tick tối thiểu một cent tạo ra chi phí hoàn toàn khác nhau đối với cổ phiếu giá $3 và cổ phiếu giá $500.
Câu lệnh SQL chính xác đằng sau mỗi con số
WITH day_prices AS
(
SELECT
ticker,
toFloat64(close) AS px
FROM global_markets.stocks_daily_aggs
WHERE date = '2026-06-17'
AND volume >= 500000
AND close >= 1
AND close < 1000
)
SELECT
multiIf(px < 2, '$1 to $2',
px < 5, '$2 to $5',
px < 10, '$5 to $10',
px < 25, '$10 to $25',
px < 50, '$25 to $50',
px < 100, '$50 to $100',
px < 250, '$100 to $250',
'$250 to $1,000') AS price_bucket,
count() AS stock_count,
round(avg(10000 * 0.01 / px), 2) AS one_cent_bps
FROM day_prices
GROUP BY price_bucket
ORDER BY min(px)Trong 8 nhóm giá ngày 17 tháng 6 năm 2026, một cent tương đương 71.37 basis point so với giá cổ phiếu trong nhóm $1 to $2 và 0.28 basis point trong nhóm $250 to $1,000. Cùng một cent nhưng được đo trên các mức giá rất khác nhau.
Bản thân quy tắc đã có một điều chỉnh cho vấn đề này. Dưới $1.00, bước giá giảm xuống $0.0001, bằng một phần một trăm của tick áp dụng ở vùng giá cao hơn một phần cent. Cổ phiếu ở mức $0.99 được báo giá trên lưới có độ mịn gấp một trăm lần so với chính cổ phiếu đó ở mức $1.01. Ranh giới nằm đúng tại ngưỡng này.
Phép tính đó thể hiện trong bid ask spread được niêm yết. Bảng dưới đây lấy bid cao nhất và offer thấp nhất được đăng ở bất kỳ venue nào trong cùng một giây, sau đó tính mức chênh lệch trung bình trong khoảng thời gian mười lăm phút. Những giây có sổ lệnh locked hoặc crossed bị loại bỏ. Thị trường locked và crossed giải thích các trạng thái này.
Câu lệnh SQL chính xác đằng sau mỗi con số
WITH best_quote AS
(
SELECT
ticker,
toStartOfSecond(sip_timestamp) AS sec,
toFloat64(max(bid_price)) AS best_bid,
toFloat64(min(ask_price)) AS best_ask
FROM global_markets.cache_stocks_quotes
WHERE ticker IN ('MSFT', 'AAPL', 'NVDA', 'KO', 'BAC', 'T', 'F')
AND sip_timestamp >= '2026-06-17 14:00:00'
AND sip_timestamp < '2026-06-17 14:15:00'
AND bid_price > 0
AND ask_price > bid_price
GROUP BY ticker, sec
HAVING min(ask_price) > max(bid_price)
)
SELECT
concat(ticker, ' ($', toString(round(avg((best_bid + best_ask) / 2), 0)), ')') AS name,
round(avg(best_ask - best_bid) * 100, 2) AS avg_spread_cents,
round(10000 * 0.01 / avg((best_bid + best_ask) / 2), 2) AS one_cent_bps,
round(10000 * avg(best_ask - best_bid) / avg((best_bid + best_ask) / 2), 2) AS spread_bps,
if(avg(best_ask - best_bid) <= 0.015, 'at or under $0.015', 'above $0.015') AS tier
FROM best_quote
GROUP BY ticker
ORDER BY avg((best_bid + best_ask) / 2) DESCĐối với MSFT ($388), tick một cent tương đương 0.26 basis point so với giá cổ phiếu. Khoảng chênh lệch được báo giá trung bình là 6.23 cent, tương đương 1.61 basis point. Đối với F ($14), một cent tương đương 6.94 basis point, còn khoảng chênh lệch được báo giá 1 cent tương đương 6.94 basis point. Một mã có giá thấp có thể trông rất rộng khi nhìn theo tỷ lệ phần trăm, dù spread chỉ là một cent, mức hẹp nhất mà lưới giá hiển thị cho phép. Khi đó, spread được báo giá phản ánh kích thước của tick nhiều hơn là độ sâu thị trường.
Sửa đổi năm 2024 và tick nửa cent
Vào tháng 9 năm 2024, SEC sửa đổi Rule 612 và bổ sung một bước giá thứ hai. Cổ phiếu NMS có time-weighted average quoted spread trong kỳ đánh giá trước đó ở mức $0.015 trở xuống sẽ được báo giá theo bước $0.005. Các cổ phiếu khác vẫn sử dụng bước một cent. Việc đánh giá được lặp lại theo lịch cố định và danh sách mã bị ảnh hưởng được công bố lại ở mỗi vòng. Vì vậy, trang này nêu ngưỡng áp dụng và để SEC công bố danh sách mã.
Những mã nào được lựa chọn theo tiêu chí $0.015? Đó là các mã vốn đã bị giới hạn ở mức sàn: những cổ phiếu giao dịch sôi động có quoted spread duy trì ở mức một cent hoặc rất gần một cent trong phần lớn phiên. Một cổ phiếu thường xuyên có spread rộng ba hoặc bốn cent sẽ không tiếp cận ngưỡng này. Bảng trên có một cột tier áp dụng phép tính ngưỡng cho khoảng thời gian được đo, nên đây chỉ là minh họa chứ không phải danh sách được chỉ định chính thức. SEC đo time-weighted average trên toàn bộ kỳ đánh giá. Mười lăm phút của một phiên không phải là kỳ đánh giá đó.
Cùng đợt xây dựng quy tắc này, SEC cũng hạ mức trần phí mà một sàn giao dịch được phép thu khi tiếp cận protected quote xuống $0.0010 mỗi cổ phiếu đối với cổ phiếu có giá từ $1.00 trở lên. Hai con số này bổ trợ cho nhau: lưới báo giá nửa cent đi cùng phí tiếp cận một phần mười cent giúp phí không chiếm phần lớn của một tick.
Sửa đổi này điều chỉnh hoạt động báo giá. Mọi nội dung nêu trên về giá thực hiện không thay đổi. Lệnh khớp ngoài sàn bên trong báo giá vẫn có thể được thực hiện tại bước giá nhỏ hơn.
Vì sao limit order bị từ chối do bước giá không hợp lệ
Limit order ở mức $47.3215 yêu cầu broker tiếp nhận một mức giá mà quy tắc không cho phép. Vì vậy, lệnh sẽ bị trả lại với thông báo bước giá không hợp lệ hoặc được làm tròn đến tick hợp pháp gần nhất, tùy chính sách của từng công ty. Ngưỡng $1.00 áp dụng cho chính mức giá của lệnh, không áp dụng cho giá giao dịch gần nhất của cổ phiếu. Do đó, lệnh ở mức $0.4732 hợp lệ trên lưới $0.0001, còn $0.47325 thì không.
Trường hợp ngược lại nằm ở phía thực hiện giao dịch. Khi wholesaler khớp lệnh cho bạn ở mức $47.3218, wholesaler giữ lại phần chênh lệch một phần cent giữa mức giá của bạn và mức giá của chính họ. Market maker kiếm tiền như thế nào giải thích phần chênh lệch này được phân bổ ra sao.
Câu hỏi thường gặp
Quy tắc sub-penny là gì?
Đó là Rule 612 của Regulation NMS. Quy tắc cấm mọi sàn giao dịch, hệ thống giao dịch thay thế, broker hoặc nhà cung cấp dữ liệu hiển thị hay tiếp nhận lệnh hoặc báo giá đối với cổ phiếu NMS ở bước giá nhỏ hơn $0.01 khi giá từ $1.00 trở lên, và nhỏ hơn $0.0001 khi giá dưới $1.00.
Vì sao lệnh cổ phiếu của tôi được khớp ở mức giá có bốn chữ số thập phân?
Quy tắc điều chỉnh báo giá và lệnh, không điều chỉnh giao dịch khớp lệnh. Market maker ngoài sàn khớp lệnh của bạn bên trong bid và offer tốt nhất toàn quốc có thể thực hiện giao dịch ở mức tốt hơn báo giá một phần cent. Khoản chênh lệch đó được broker báo cáo là price improvement.
Vì sao limit order của tôi bị từ chối do bước giá không hợp lệ?
Giá limit sử dụng bước giá nhỏ hơn mức Rule 612 cho phép tại mức giá đó: nhỏ hơn một cent đối với lệnh có giá từ $1.00 trở lên hoặc nhỏ hơn $0.0001 đối với lệnh có giá dưới $1.00. Nhập lại lệnh với bước giá hợp lệ sẽ xử lý việc bị từ chối.
Sửa đổi của SEC năm 2024 về kích thước tick đã thay đổi điều gì?
Sửa đổi này bổ sung bước giá báo cáo $0.005 cho cổ phiếu NMS có time-weighted average quoted spread trong kỳ đánh giá trước đó ở mức $0.015 trở xuống. Các cổ phiếu nằm ngoài ngưỡng này vẫn báo giá theo cent tròn. Sửa đổi điều chỉnh bước giá báo cáo, không điều chỉnh giá thực hiện.
Mỗi bảng trong bài đều đi kèm SQL đã tạo ra bảng đó. Bạn có thể mở rộng từng bảng để xem chính xác cách tính mỗi số liệu. Tỷ lệ print sub-penny và quoted spread trung bình có thể được đo lường cho bất kỳ mã nào và bất kỳ khoảng thời gian nào trên terminal Strasmore.