Strasmore Research
Học tập Matt ConnorBởi Matt Connor

Lệnh iceberg: Thanh khoản ẩn hoạt động thế nào?

Lệnh iceberg là gì? Tìm hiểu phần khối lượng hiển thị và dự trữ ẩn, cách mỗi lần bổ sung làm mất vị trí ưu tiên trong hàng đợi và dấu hiệu trên tape.

Lệnh iceberg là một lệnh giới hạn duy nhất nằm chờ trên sổ lệnh của sàn, với hai phần khối lượng: khối lượng hiển thị mà toàn thị trường có thể thấy trong báo giá, và phần khối lượng dự trữ ẩn phía sau. Matching engine tự động đưa từng phần dự trữ lên khi phần đang hiển thị được khớp. Tên gọi này mô tả hình dạng của lệnh: một phần nhỏ nhô lên trên mặt nước, trong khi phần lớn khối lượng nằm bên dưới. Việc che giấu khối lượng có chi phí, được trả bằng vị trí trong hàng đợi: mỗi phần được bổ sung sẽ được ghi nhận bằng timestamp mới và đứng sau tất cả lệnh đã chờ ở mức giá đó.

Lệnh iceberg là gì?

Giả sử một quỹ muốn mua 50.000 cổ phiếu và chấp nhận trả tối đa 50,00 USD. Nếu nhập dưới dạng lệnh giới hạn thông thường, sổ lệnh sẽ hiển thị toàn bộ nhu cầu 50.000 cổ phiếu ở mức giá đó. Nếu nhập dưới dạng lệnh iceberg với khối lượng hiển thị là 500 cổ phiếu, sổ lệnh chỉ hiển thị 500 cổ phiếu. Khi 500 cổ phiếu này được khớp, matching engine lấy thêm 500 cổ phiếu từ phần dự trữ, đưa lên sổ lệnh và lặp lại cho đến khi phần dự trữ cạn hoặc lệnh bị hủy.

Có hai điểm không thay đổi trong suốt quá trình. Đây vẫn là một lệnh duy nhất, ở một mức giá duy nhất, trên một venue duy nhất. Sàn đã nắm giữ toàn bộ khối lượng ngay từ thời điểm lệnh được nhập.

Cách mô tả thường gặp nhất là trader chia một lệnh lớn thành nhiều phần rồi đưa dần vào thị trường trong vài giờ hoặc vài ngày. Đó là một kỹ thuật khác. Đây là lịch thực hiện lệnh do algorithm điều hành, gửi nhiều child order riêng biệt qua nhiều venue và được đo lường so với một benchmark như VWAP. Iceberg là một thuộc tính của lệnh trên venue. Việc chia nhỏ diễn ra bên trong matching engine, trong vài microsecond, trên một sổ lệnh duy nhất.

Cách gọi khác nhau tùy venue. Phần hiển thị được gọi là display quantity hoặc tip. Phần còn lại là reserve hoặc non-displayed portion. Trong rulebook của Nasdaq, thuộc tính này được gọi là Reserve Size.

Phần hiển thị có thể nhỏ đến mức nào?

Các venue quy định mức tối thiểu cho phần hiển thị và tính theo round lot thay vì một số lượng cổ phiếu cố định. Nasdaq yêu cầu khối lượng hiển thị của một reserve order khi nhập lệnh phải bằng ít nhất một normal unit of trading, đồng thời làm tròn phần lô lẻ xuống round lot gần nhất. Sổ lệnh BZX của Cboe bổ sung khối lượng hiển thị khi phần này giảm xuống dưới một round lot. Cách diễn đạt khác nhau tùy venue và có thể được sửa đổi. Vì vậy, bạn nên đọc rulebook của venue nơi mình định định tuyến lệnh, thay vì dựa vào một con số được trích dẫn gián tiếp.

Round lot cũng không còn cố định ở mức 100 cổ phiếu. Theo định nghĩa Regulation NMS đã sửa đổi, có hiệu lực từ ngày 3 tháng 11 năm 2025, quy mô round lot thay đổi theo giá: 100 cổ phiếu ở mức 250,00 USD trở xuống; 40 cổ phiếu từ 250,01 đến 1.000,00 USD; 10 cổ phiếu từ 1.000,01 đến 10.000,00 USD; và một cổ phiếu ở mức cao hơn. Các sàn phân loại lại từng cổ phiếu hai lần mỗi năm, dựa trên giá đóng cửa bình quân trong giai đoạn đánh giá vào tháng 3 hoặc tháng 9. Thông báo của nhà cung cấp Nasdaq về thay đổi này liệt kê các ngưỡng và thời điểm áp dụng. Với một cổ phiếu có giá bốn chữ số, tip nhỏ nhất được phép là 10 cổ phiếu.

Lệnh iceberg có mất ưu tiên trong hàng đợi không?

Có. Đây là phần thường bị bỏ qua trong các lời giải thích. Sổ lệnh cổ phiếu Mỹ xếp lệnh chờ theo giá trước, sau đó theo thời gian. Nếu đến sớm hơn ở cùng một mức giá, lệnh sẽ được khớp sớm hơn.

Phần hiển thị của lệnh iceberg tham gia hàng đợi khi được đưa lên sổ lệnh. Khi phần này được khớp hết và matching engine bổ sung khối lượng từ phần dự trữ, phần bổ sung được nhập như một lệnh hiển thị mới với timestamp mới, đứng cuối hàng đợi ở mức giá đó. Quy tắc của Nasdaq nêu rõ sự bất đối xứng này:

Khi một Reserve Order được đưa lên sổ lệnh, nếu có giao dịch được thực hiện với lệnh hiển thị khiến khối lượng của lệnh giảm xuống dưới một normal unit of trading, một lệnh hiển thị mới sẽ được nhập và nhận timestamp mới. Đồng thời, khối lượng của lệnh non-displayed sẽ giảm một lượng tương ứng và không nhận timestamp mới.

Đây là Nasdaq Equity 4, Rule 4703(h), được trích từ lệnh của SEC phê duyệt thay đổi quy tắc về reserve order ngày 18 tháng 2 năm 2021. Phần dự trữ giữ timestamp ban đầu, trong khi tip hiển thị được thiết lập lại sau mỗi lần bổ sung. Một lệnh 50.000 cổ phiếu, hiển thị mỗi lần 500 cổ phiếu, có thể được bổ sung tới một trăm lần. Mỗi lần bổ sung lại bắt đầu phía sau tất cả lệnh hiển thị đã chờ ở mức giá đó. Đây là chi phí thực sự của việc che giấu khối lượng.

Nhiều venue còn áp dụng thêm một chi phí khác. Ở cùng một mức giá, khối lượng hiển thị được xếp trước khối lượng non-displayed. Vì vậy, phần dự trữ phải nhường chỗ cho mọi lệnh hiển thị ở mức giá đó, ngay cả khi phần dự trữ được nhập trước.

Lệnh iceberg so với lệnh ẩn và dark pool

  • Lệnh iceberg nằm trên một sàn giao dịch lit và đưa phần hiển thị vào báo giá công khai. Phần này có thể thiết lập giá bid hoặc offer tốt nhất toàn thị trường. Phần dự trữ phía sau không bao giờ xuất hiện trong báo giá.
  • Lệnh hoàn toàn ẩn không hiển thị bất kỳ khối lượng nào. Lệnh nằm trên cùng sàn lit, được khớp tại giá giới hạn và chỉ xuất hiện trong dữ liệu công khai sau khi giao dịch được thực hiện. Các venue thường xếp lệnh này sau lệnh hiển thị ở cùng mức giá.
  • Dark pool là một venue riêng không có báo giá công khai. Print chỉ được đưa lên tape thông qua một trade reporting facility sau khi giao dịch đã xảy ra.
  • Block trade chuyển toàn bộ khối lượng trong một print được thương lượng duy nhất. Đây là cách tiếp cận đối lập với việc nhỏ giọt khối lượng ra thị trường.

Mỗi loại trên đều chuyển khối lượng mà không quảng bá trước toàn bộ quy mô. Điểm khác biệt nằm ở nơi lệnh được đặt và bao nhiêu khối lượng của lệnh được báo giá công khai thể hiện. Khối lượng ẩn có thể nằm ở những mức giá mà báo giá không hiển thị. Vì vậy, sổ lệnh hiển thị luôn chỉ phản ánh một phần thanh khoản khả dụng. Đây là điều cần ghi nhớ cùng với thị trường bị khóa và giao cắt.

Bao nhiêu phần của tape được thực hiện với quy mô nhỏ?

Trước khi nhận diện dấu vết của lệnh iceberg, bạn cần hiểu đặc điểm thông thường của tape. Biểu đồ dưới đây chia tổng khối lượng cổ phiếu trong mỗi tháng cho số giao dịch của tháng đó, đối với hai cổ phiếu quen thuộc không có stock split trong giai đoạn này.

Truy vấnSố cổ phiếu trung bình mỗi print theo tháng, MSFT và KO
Câu lệnh SQL chính xác đằng sau mỗi con số
SELECT
    toString(month_start)                                                            AS month,
    formatDateTime(month_start, '%b %Y')                                             AS month_label,
    round(sumIf(volume, ticker = 'MSFT') / sumIf(transactions, ticker = 'MSFT'), 1)  AS msft_shares_per_print,
    round(sumIf(volume, ticker = 'KO')   / sumIf(transactions, ticker = 'KO'), 1)    AS ko_shares_per_print
FROM
(
    SELECT
        toStartOfMonth(toDate(toTimeZone(window_start, 'America/New_York'))) AS month_start,
        ticker,
        volume,
        transactions
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker IN ('MSFT', 'KO')
      AND window_start >= toDateTime('2019-01-01 00:00:00', 'UTC')
      AND window_start <  toDateTime('2026-07-01 00:00:00', 'UTC')
)
GROUP BY month_start
HAVING sumIf(transactions, ticker = 'MSFT') > 0
   AND sumIf(transactions, ticker = 'KO') > 0
ORDER BY month_start
Run this yourself

Trong Jan 2019, một giao dịch Microsoft bình quân có 137.4 cổ phiếu. Đến Jun 2026, con số này là 39.5 cổ phiếu, trong khi Coca-Cola đạt 47.7 trong cùng tháng. Các lệnh tổ chức không hề nhỏ đi. Nhưng các print thì nhỏ hơn. Một parent order hiện xuất hiện trên tape dưới dạng hàng trăm hoặc hàng nghìn giao dịch nhỏ, dù lệnh đó được che giấu, được lập lịch, hoặc áp dụng cả hai cách.

Phóng to một phiên riêng lẻ, bạn sẽ thấy đặc điểm tương tự. Biểu đồ tiếp theo nhóm mọi print của AAPL trong ngày 17 tháng 6 năm 2026 theo quy mô.

Truy vấnMỗi print của AAPL ngày 17/6/2026, phân nhóm theo quy mô giao dịch
Câu lệnh SQL chính xác đằng sau mỗi con số
WITH tape AS
(
    SELECT size
    FROM global_markets.stocks_trades
    WHERE ticker = 'AAPL'
      AND sip_timestamp >= toDateTime('2026-06-17 04:00:00', 'UTC')
      AND sip_timestamp <  toDateTime('2026-06-18 04:00:00', 'UTC')
)
SELECT
    multiIf(size < 100,  'under 100',
            size < 200,  '100 to 199',
            size < 500,  '200 to 499',
            size < 1000, '500 to 999',
            size < 5000, '1000 to 4999',
                         '5000 and up')                    AS print_size_bucket,
    count()                                                AS prints,
    round(100 * count() / sum(count()) OVER (), 2)         AS pct_of_prints,
    round(100 * sum(size) / sum(sum(size)) OVER (), 2)     AS pct_of_shares
FROM tape
GROUP BY print_size_bucket
ORDER BY min(size)
Run this yourself

Các print dưới 100 cổ phiếu chiếm 88.99% số giao dịch trong ngày đó, nhưng chỉ chiếm 22.84% số cổ phiếu. Ở đầu kia, nhóm 5000 and up chiếm 0.02% số print và 48.77% khối lượng. Một print 500 cổ phiếu không phải điều bất thường trong phân phối này. Đây là lý do đầu tiên khiến việc phát hiện lệnh iceberg khó khăn.

Làm thế nào nhận diện lệnh iceberg trên tape?

Consolidated tape ghi nhận giá, khối lượng, thời gian và venue của mọi giao dịch. Tape không ghi nhận order ID, khối lượng hiển thị hay phần dự trữ. Điều tape có thể cho thấy là một dấu vết: cùng một quy mô được thực hiện lặp đi lặp lại ở cùng một mức giá, trong khoảng thời gian mà một lệnh hiển thị đơn lẻ với quy mô đó thường khó tồn tại. Biểu đồ dưới đây ghép từng mức giá với từng quy mô print trong cùng phiên và đếm số lần lặp lại.

Truy vấnCác cặp giá và quy mô được lặp lại nhiều nhất, AAPL, ngày 17/6/2026
Câu lệnh SQL chính xác đằng sau mỗi con số
SELECT
    concat(toString(size), ' shares at $', toString(round(toFloat64(price), 2)))                  AS level_and_size,
    count()                                                                                       AS prints,
    formatDateTime(toTimeZone(min(sip_timestamp), 'America/New_York'), '%H:%i')                    AS first_et,
    formatDateTime(toTimeZone(max(sip_timestamp), 'America/New_York'), '%H:%i')                    AS last_et,
    round(dateDiff('minute', min(sip_timestamp), max(sip_timestamp)) / 60.0, 1)                    AS hours_spanned
FROM global_markets.stocks_trades
WHERE ticker = 'AAPL'
  AND sip_timestamp >= toDateTime('2026-06-17 04:00:00', 'UTC')
  AND sip_timestamp <  toDateTime('2026-06-18 04:00:00', 'UTC')
  AND size >= 200
GROUP BY price, size
ORDER BY prints DESC
LIMIT 12
Run this yourself

Cặp xuất hiện nhiều nhất là 300 shares at $300.54, được thực hiện 67 lần trong khoảng từ 09:34 đến 09:58 ET, kéo dài 0.4 giờ. Theo dõi cặp này trong suốt phiên, chia theo các khoảng nửa giờ, để xem các lần lặp lại phân bổ trong cả ngày hay tập trung vào một giai đoạn.

Truy vấnCặp giá và quy mô sôi động nhất, theo từng nửa giờ
Câu lệnh SQL chính xác đằng sau mỗi con số
WITH top_level AS
(
    SELECT
        price,
        size
    FROM global_markets.stocks_trades
    WHERE ticker = 'AAPL'
      AND sip_timestamp >= toDateTime('2026-06-17 04:00:00', 'UTC')
      AND sip_timestamp <  toDateTime('2026-06-18 04:00:00', 'UTC')
      AND size >= 200
    GROUP BY price, size
    ORDER BY count() DESC, size DESC, price DESC
    LIMIT 1
)
SELECT
    formatDateTime(toStartOfInterval(toTimeZone(sip_timestamp, 'America/New_York'), INTERVAL 30 MINUTE), '%H:%i') AS et_time,
    count()                                    AS prints,
    sum(count()) OVER (ORDER BY et_time)       AS cum_prints
FROM global_markets.stocks_trades
WHERE ticker = 'AAPL'
  AND sip_timestamp >= toDateTime('2026-06-17 04:00:00', 'UTC')
  AND sip_timestamp <  toDateTime('2026-06-18 04:00:00', 'UTC')
  AND (price, size) IN (SELECT price, size FROM top_level)
GROUP BY et_time
ORDER BY et_time
Run this yourself

Các lần lặp lại tập trung vào một giai đoạn. Dấu vết chỉ xuất hiện trong một khoảng nửa giờ, bắt đầu lúc 09:30 ET, với 67 print và đưa tổng số lũy kế của phiên lên 67. Ba mươi phút lặp lại ở một mức giá là một đợt ngắn, không phải hoạt động kéo dài cả ngày. Vì vậy, dấu vết ngắn như vậy cung cấp ít bằng chứng hơn so với ấn tượng ban đầu. Một lệnh hiển thị có quy mô đó, ở mức giá đó, đối với một mã có thanh khoản như vậy, thông thường sẽ được hấp thụ trong vài giây. Có thứ gì đó liên tục đưa khối lượng trở lại sổ lệnh.

Vì sao việc phát hiện lệnh iceberg không đáng tin cậy?

“Có thứ gì đó liên tục đưa khối lượng trở lại” là giới hạn trung thực của những gì tape có thể chứng minh. Cùng một dấu vết có thể xuất phát từ những nguyên nhân thông thường không liên quan đến reserve order:

  • Một execution algorithm chia parent order thành các child order bằng nhau và gửi từng lệnh một từ server của chính broker.
  • Những người tham gia không liên quan cùng mặc định sử dụng một khối lượng tròn ở một mức giá tròn, vì các con số tròn thường được lựa chọn.
  • Một market maker liên tục báo lại cùng một quy mô tại một mức giá mà họ sẵn sàng duy trì.
  • Số lượng print và số lượng lệnh không giống nhau, vì một lệnh chờ có thể được khớp bởi một sweep và được báo cáo thành nhiều print.

Cũng có một trường hợp không để lại dấu vết. Một lệnh iceberg không bao giờ được giao dịch sẽ hoàn toàn không xuất hiện trên tape, vì tape chỉ ghi nhận các giao dịch đã thực hiện. Mọi phép đo thanh khoản ẩn dựa trên print chỉ đo phần đã được giao dịch, không bao giờ đo phần đang chờ. Hãy xem mô hình này như một giả thuyết cần kiểm tra thêm với cơ cấu venue và báo giá, không phải sự thật về một lệnh cụ thể.

Câu hỏi thường gặp

Lệnh iceberg trong giao dịch là gì?

Đó là một lệnh giới hạn có hai phần khối lượng: một phần nhỏ được hiển thị trong báo giá công khai và một phần dự trữ lớn hơn được ẩn. Sàn tự động đưa từng phần dự trữ lên mỗi khi phần hiển thị được khớp. Lệnh nằm ở một mức giá duy nhất trên một venue duy nhất.

Lệnh iceberg có mất vị trí trong hàng đợi không?

Phần hiển thị có. Mỗi lần bổ sung được đưa lên sổ lệnh như một lệnh hiển thị mới với timestamp mới và đứng sau tất cả lệnh đã chờ ở mức giá đó. Theo quy tắc của Nasdaq, phần dự trữ non-displayed giữ timestamp ban đầu.

Có thể nhìn thấy lệnh iceberg trên Level 2 không?

Không. Màn hình độ sâu sổ lệnh chỉ hiển thị phần tip, khiến lệnh trông giống một lệnh giới hạn nhỏ thông thường. Phần dự trữ vẫn vô hình cho đến khi được giao dịch và không bao giờ xuất hiện như một dòng riêng.

Lệnh iceberg có giống lệnh dark pool không?

Không. Lệnh iceberg nằm trên một sàn giao dịch lit và công bố một phần khối lượng trong báo giá công khai. Lệnh dark pool nằm trên một venue không có báo giá công khai. Giao dịch chỉ xuất hiện trong dữ liệu công khai khi print được thực hiện.

Lệnh iceberg có hợp pháp không?

Có. Reserve order là một thuộc tính lệnh được ghi nhận trong rulebook của các sàn, được nộp cho SEC và cung cấp cho các công ty thành viên cùng khách hàng của họ. Việc che giấu một phần khối lượng lệnh là tính năng được công bố của loại lệnh này.


Mỗi biểu đồ trong bài đều đi kèm SQL đã tạo ra nó, để bạn có thể kiểm tra cách từng con số được tính. Để chạy truy vấn quét các print lặp lại cho ticker và ngày do bạn chọn, hãy yêu cầu bằng tiếng Anh thông thường trên terminal Strasmore.

#order types#market microstructure#hidden liquidity#execution#market structure