Strasmore Research
學習 Matt Connor作者: Matt Connor

冰山單是什麼?隱藏流動性與佇列優先權

了解冰山單如何透過顯示數量與隱藏保留數量執行,為何每次補回都會失去佇列優先權,以及它在逐筆成交資料上的常見樣貌。

冰山單是掛在交易所委託簿中的單筆限價委託,包含兩種數量:全市場都能在報價中看到的顯示數量,以及位於其後、會在顯示部分成交後由撮合引擎自動釋出的隱藏數量。這個名稱描述的是它的形狀:水面上只有一小部分,絕大多數體積位於水面下。隱藏並非沒有代價,代價是委託的佇列位置:每次重新補回的顯示部分都會以新的時間戳記掛出,排在該價格所有既有委託之後。

什麼是冰山單?

假設某基金想買進 50,000 股,最高願意支付 $50.00。若以一般的限價委託下單,委託簿會顯示該價格有 50,000 股買進需求,所有人都看得到。若以顯示數量為 500 股的冰山單下單,委託簿只會顯示 500 股。這 500 股成交後,撮合引擎會從隱藏數量中取出另外 500 股、重新掛出,並持續重複,直到隱藏數量用盡或委託遭取消。

整個過程中有兩點不變。這是在單一交易場所、單一價格上的單筆委託,而交易所從委託送出那一刻起,就已持有完整數量。

最常見的描述是,交易員把大筆委託切成許多小筆,分幾小時或幾天逐步送出。但那是另一種技術。那是一套執行排程,由演算法在多個交易場所送出許多筆獨立的子委託,並以VWAP等基準衡量執行結果。冰山單則是交易場所的委託屬性。切分動作是在單一委託簿內,由撮合引擎於微秒內完成。

各交易場所的用語不盡相同。可見部分稱為顯示數量或尖端,其他部分稱為保留數量或非顯示部分;Nasdaq 的規則手冊則將這項屬性稱為 Reserve Size。

顯示部分可以小到多少?

各交易場所都會為顯示部分設定最低值,並以整手而非固定股數表示。Nasdaq 要求保留數量委託在送出時的顯示數量,至少為一個或多個正常交易單位;混合手數則向下取整至最近的整手。Cboe 的 BZX 委託簿會在顯示數量低於一整手後,補回顯示數量。各交易場所的措辭不同,規則也可能修訂,因此應查閱實際路由交易場所的規則手冊,不要直接採信他人轉述的數字。

整手也不再一律是 100 股。依修訂後的 Regulation NMS 定義,自 2025年11月3日生效後,整手會隨價格調整:股價 $250.00 以下為 100 股;$250.01 至 $1,000.00 為 40 股;$1,000.01 至 $10,000.00 為 10 股;高於該價格則為 1 股。交易所每年兩次依股票在 3 月或 9 月評估期間的平均收盤價重新分配各股票的整手級距。Nasdaq 供應商針對這項變更發布的通知列出各級距與日期。對於四位數股價的股票,允許的最小顯示部分為 10 股。

冰山單會失去佇列優先權嗎?

會。這是多數說明略過的部分。美國股票委託簿先按價格、再按時間排列靜態委託。若較早以同一價格抵達,就會較早成交。

冰山單的顯示部分掛出時會加入佇列。當該顯示部分成交、引擎從保留數量補回時,補回部分會以新的顯示委託及新的時間戳記進入該價格佇列的末端。Nasdaq 的規則清楚說明了這種差異:

當 Reserve Order 掛出後,若顯示委託遭執行,使其數量低於一個正常交易單位,系統將建立新的顯示委託並賦予新的時間戳記;同時,非顯示委託的數量將按相同金額減少,但不會取得新的時間戳記。

這段文字出自 Nasdaq Equity 4, Rule 4703(h),引自 SEC 核准保留委託規則變更的命令,日期為 2021年2月18日。保留數量維持原有的佇列位置,而可見尖端每次補回都會重新排隊。一筆 50,000 股、每次顯示 500 股的委託,最多會補回一百次;每次補回都必須重新排在該價格所有既有顯示委託之後。這就是隱藏的實際成本。

許多交易場所還有第二項成本。同一價格下,顯示買賣意願的排序優先於非顯示買賣意願。因此,即使保留數量較早抵達,也會讓位給該價格的任何顯示委託。

冰山單、隱藏委託與 dark pool 的差異

  • 冰山單掛在有公開報價的交易所,並將顯示部分放入公開報價中;該部分可能設定全國最佳買價或賣價。其後的保留數量不會出現在報價中。
  • 完全隱藏的委託完全不顯示。它掛在同一類有公開報價的交易所,以限價成交,只有在成交後才會出現在公開資料中。各交易場所通常會將其排在同一價格的顯示委託之後。
  • dark pool是完全不同的交易場所,不提供任何公開報價。成交後,交易列印資料會透過交易申報機制送上交易帶。
  • 大宗交易以一次協議成交移動全部數量。它的最大數量、最短持有時間,與分批逐步釋出正好相反。

這些方式都能在事前不公開完整數量的情況下移動部位。差異在於委託掛在哪裡,以及公開報價最終承載多少數量。隱藏買賣意願可能掛在公開報價沒有顯示的價格,因此可見委託簿永遠只是可用流動性的部分圖像。這一點也應與鎖定與交叉市場一併考量。

交易帶上有多少成交是小額?

在判讀冰山單留下的痕跡前,必須先了解交易帶平常的成交結構。下圖以兩檔觀察期間內未進行股票分割的知名股票為例,將每月股票成交量除以該月成交筆數。

查詢MSFT 與 KO 每筆成交平均股數(月度)
每個數據背後的精確 SQL 語法
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

Jan 2019,Microsoft 每筆成交平均包含 137.4 股。到了 Jun 2026,平均數為 39.5 股;同月 Coca Cola 則為 47.7 股。機構委託並沒有變小。變小的是交易帶上的成交筆數所對應的數量。如今,一筆母委託可能以數百或數千筆小額成交抵達交易帶,不論是採用隱藏方式、排程執行,或兩者兼具。

放大觀察單一交易時段,也會看到相同結構。下一張圖依成交量大小,彙整 2026年6月17日 AAPL 的每筆成交。

查詢2026年6月17日 AAPL 每筆成交,依成交量分組
每個數據背後的精確 SQL 語法
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

當天少於 100 股的成交筆數占 88.99%,但僅占股票成交量的 22.84%。另一端的 5000 and up 區間占成交筆數 0.02%,占成交量 48.77%。在這種分布中,500 股的成交並不特殊,這也是辨識冰山單困難的第一個原因。

如何從交易帶辨識冰山單?

整合交易帶會記錄每筆成交的價格、數量、時間與交易場所。但它不會記錄委託 ID、顯示數量或保留數量。它能顯示的是某種痕跡:在一段時間內,同一價格反覆出現相同成交數量,而單筆同等大小的顯示委託通常很難維持這麼久。下圖將同一交易時段的每個價格與每種成交數量配對,並計算重複次數。

查詢AAPL 最常重複的價格與成交量組合,2026年6月17日
每個數據背後的精確 SQL 語法
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

重複次數最多的配對是 300 shares at $300.54,在 09:3409:58 ET 之間成交 67 次,持續 0.4 小時。接著以半小時區間追蹤該配對在整個交易時段的分布,觀察重複成交是分散於全天,還是集中在某一段期間。

查詢最活躍的價格與成交量組合,每半小時
每個數據背後的精確 SQL 語法
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

成交集中在一段期間。該追蹤結果只回到一個半小時區間,也就是從 09:30 ET 開始的區間;該區間有 67 筆成交,並使該交易時段的累計次數達到 67。在同一價格持續重複 30 分鐘,代表的是一段突發集中活動,而不是全天候持續存在;因此,這種短暫痕跡所提供的證據,比初步看來更薄弱。對如此活躍的股票而言,若有相同大小的顯示委託掛在該價格,通常幾秒內就會被吃掉。顯然有某種機制持續將其補回。

為什麼冰山單辨識並不可靠

「某種機制持續將其補回」就是交易帶能支持的誠實結論上限。同樣的痕跡也可能有一般性解釋,完全不涉及保留委託:

  • 執行演算法將母委託切成大小相同的子委託,再由券商自有伺服器逐筆送出。
  • 彼此無關的參與者在同一整數價格使用相同的整數數量下單,因為整數會引導出這類結果。
  • 做市商在自己願意承接的價位,反覆以相同數量重新報價。
  • 成交筆數與委託筆數可能不同,因為一筆靜態委託可以被一輪掃單成交,而該輪掃單可能申報為數筆成交。

還有一種不會留下痕跡的情況。從未成交的冰山單完全不會留下任何痕跡,而交易帶只會記錄成交。任何根據成交建立的隱藏流動性衡量,測到的都只是已成交部分,不是等待中的部分。應將這種模式視為值得進一步核對的假設,並與交易場所組合及報價進行比對,不要把它當成特定委託的事實。

常見問題

交易中的冰山單是什麼?

冰山單是包含兩種數量的限價委託:一小部分顯示數量出現在公開報價中,較大的隱藏保留數量則在顯示部分每次成交後,由交易所自動釋出。它以單一價格掛在單一交易場所,屬於單筆委託。

冰山單會失去佇列位置嗎?

顯示部分會。每次補回都會以新的顯示委託及新的時間戳記掛出,排在該價格所有既有靜態委託之後。依 Nasdaq 規則,非顯示保留數量則維持原有時間戳記。

可以在 Level 2 看到冰山單嗎?

不行。市場深度顯示只會顯示尖端部分,看起來就像普通的小額限價委託。保留數量在成交前都不可見,也不會以獨立列項出現。

冰山單和 dark pool 委託相同嗎?

不相同。冰山單掛在有公開報價的交易所,並將部分數量發布在公開報價中。dark pool 委託則掛在沒有公開報價的交易場所,只有成交列印後,該筆交易才會出現在公開資料中。

冰山單是否合法?

合法。保留委託是交易所規則手冊中有明文記載的委託屬性,相關規則已向 SEC 申報,會員公司及其客戶均可查閱。隱藏部分委託數量是該委託類型公開揭露的功能。


本文每張圖表都附有產生該圖表的 SQL,因此你可以了解每個數字的計算方式。若想針對自選 ticker 與日期執行重複成交掃描,可在 Strasmore terminal 以自然語言提出要求。

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