アイスバーグ注文とは?非表示流動性の仕組み
アイスバーグ注文の表示分と予備数量、補充時にキュー順位を失う理由、板や歩み値での見分け方を解説します。大口注文との違いもわかります。
アイスバーグ注文とは、取引所の注文板に残る一つの指値注文であり、二つの数量を持つ。ひとつは気配値で市場全体に表示される数量、もうひとつはその背後にある非表示の予備数量だ。表示分が約定すると、マッチングエンジンが予備数量から自動的に次の表示分を繰り出す。この名称は、水面上に小さな先端だけが見え、大部分が水面下に隠れる形状に由来する。非表示にする代償はあり、それはキュー順位で支払う。表示分が補充されるたびに新しいタイムスタンプが付与され、その価格ですでに待機している注文の後ろに並ぶ。
アイスバーグ注文とは
あるファンドが50,000株を買いたいとし、支払える上限を$50.00とする。通常の指値注文として発注すれば、注文板にはその価格で50,000株の買い需要が表示され、市場全体から見える。表示数量を500株とするアイスバーグ注文なら、注文板に表示されるのは500株だ。この500株が約定すると、マッチングエンジンは予備数量から次の500株を取り出して表示し、予備数量が尽きるか注文が取り消されるまで繰り返す。
この間、二つの点は変わらない。ひとつの市場で、ひとつの価格に出されるひとつの注文であること。そして、取引所が発注時点から全数量を保持していることだ。
大口注文を小口に分割し、数時間から数日にわたって投入するという説明を最もよく目にするが、これは別の手法だ。こちらは執行スケジュールであり、アルゴリズムが複数の取引所に多数の個別の子注文を送り、VWAPなどのベンチマークと比較して評価する。アイスバーグは取引所上の注文属性だ。分割は一つの注文板上で、マッチングエンジンの内部においてマイクロ秒単位で行われる。
用語は取引所によって異なる。表示部分は表示数量またはチップ、残りは予備数量または非表示部分と呼ばれ、Nasdaqの規則集ではこの属性をReserve Sizeと呼ぶ。
表示分はどこまで小さくできるか
取引所は表示部分に下限を設けており、固定株数ではなくラウンドロットで定めている。Nasdaqでは、Reserve注文の表示数量は発注時に一つ以上の通常の取引単位でなければならず、ラウンドロットに満たない端数は直近のラウンドロットまで切り下げられる。CboeのBZX注文板では、表示数量が一ラウンドロット未満まで消化されると、表示数量が補充される。文言は取引所ごとに異なり、改定されることもある。二次情報で示された数字を信頼せず、注文を回送する取引所の規則集を確認すべきだ。
ラウンドロットも、もはや一律100株ではない。2025年11月3日から適用された改正Regulation NMSの定義では、株価に応じて変わる。$250.00以下は100株、$250.01から$1,000.00までは40株、$1,000.01から$10,000.00までは10株、それを超える場合は1株だ。取引所は、3月または9月の評価期間における平均終値に基づき、各銘柄を年2回再分類する。変更に関するNasdaqのベンダー向け通知に、区分と日付が記載されている。4桁の株価の銘柄では、許容される最小のチップは10株となる。
アイスバーグ注文はキュー順位を失うか
失う。ここが多くの説明で省かれている点だ。米国株の注文板では、残存注文はまず価格、次に時間の優先順位で並ぶ。同じ価格に早く到着した注文ほど、先に約定する。
アイスバーグ注文の表示分は、表示された時点でキューに加わる。その表示分が約定し、エンジンが予備数量から補充すると、補充分は新しいタイムスタンプを持つ新たな表示注文として、その価格の列の最後尾に入る。Nasdaqの規則は、この非対称性を明確に示している。
Reserve注文が掲載された後、表示注文に対する約定によってその数量が通常の取引単位を下回った場合、新たな表示注文が入力され、新しいタイムスタンプを受ける。一方、非表示注文の数量は同じ数量だけ減少するが、新しいタイムスタンプは受けない。
これは、2021年2月18日のReserve注文に関する規則変更を承認したSEC命令から引用したNasdaq Equity 4、Rule 4703(h)の規定だ。予備数量は当初の順位を維持する一方、表示されるチップは補充のたびに順位をリセットする。50,000株の注文を500株ずつ表示すれば、最大で100回補充される。補充のたびに、その価格ですでに残っているすべての表示注文の後ろから再スタートする。これが非表示にする実際のコストだ。
多くの取引所では、もう一つのコストもある。同じ価格では、表示された注文が非表示の注文より優先される。そのため、予備数量が先に到着していても、そこにある表示注文には後れを取る。
アイスバーグ注文、非表示注文、ダークプールの違い
- アイスバーグ注文は立会取引所に残り、その表示分を公開気配値に載せる。表示分は最良買い気配または最良売り気配を形成し得る。背後の予備数量は気配値に一切現れない。
- 完全非表示注文は何も表示しない。同じ立会取引所に残り、指値で執行され、約定後に初めて公開データに現れる。通常、同じ価格の表示注文より後ろに並ぶ。
- ダークプールは、公開気配値を持たない別の取引市場だ。約定情報は、取引報告機関を通じて事後的にテープへ送られる。
- ブロック取引は、全数量を一度の交渉による約定で移転する。小分けに投入する手法とは正反対で、最大数量や最低継続時間が定められることがある。
これらはいずれも、数量を事前に広告せずに取引する方法だ。違いは、注文がどこに残るか、そしてそのうちどれだけが公開気配値に載るかにある。非表示の買い需要や売り需要は、気配値に示されない価格にも存在し得る。そのため、表示された注文板は利用可能な流動性の一部しか示さない。この点は、ロックド・マーケットとクロスド・マーケットと合わせて考える必要がある。
テープ上で小口約定が占める割合はどの程度か
アイスバーグ注文の痕跡を読むには、まず通常のテープの状態を把握する必要がある。下のパネルでは、株式分割のなかった期間について、代表的な二銘柄の各月の出来高をその月の約定件数で割っている。
各数値の背後にある正確な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_startJan 2019では、Microsoftの平均約定は137.4株だった。Jun 2026までに平均は39.5株となり、同じ月のCoca Colaは47.7株だった。機関投資家の注文が小さくなったわけではない。テープに現れる約定が小口化したのだ。現在では、一つの親注文が、非表示化、スケジュール化、またはその両方によって、数百件から数千件の小口約定としてテープに現れる。
一つのセッションに拡大しても、同じ特徴が現れる。次のパネルでは、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)100株未満の約定は、その日の約定件数の88.99%を占めたが、株数では22.84%だった。一方、5000 and upの区分は約定件数の0.02%、出来高の48.77%を占めた。この分布では500株の約定は珍しくない。これが、アイスバーグ注文の検出が難しい第一の理由だ。
テープ上でアイスバーグ注文をどう見つけるか
統合テープには、すべての約定について価格、数量、時刻、取引所が記録される。一方、注文ID、表示数量、予備数量は記録されない。確認できるのは痕跡だ。同じ価格で同じ数量が繰り返し約定し、同じ数量の表示注文なら通常は持続しないほど長い時間にわたるという特徴である。下のパネルでは、同じセッションについて各価格と各約定数量を組み合わせ、繰り返し回数を数えている。
各数値の背後にある正確な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最も繰り返された組み合わせは300 shares at $300.54で、09:34から09:58までの米国東部時間に67回約定し、継続時間は0.4時間だった。その組み合わせをセッション全体で30分単位に追い、繰り返しが一日を通じて分散していたのか、特定の時間帯に集中していたのかを確認する。
各数値の背後にある正確な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約定は集中している。記録は一つの30分区間に戻り、その区間は09:30米国東部時間に始まり、67件の約定を含み、セッションの累計を67で終えている。同じ価格で30分間繰り返されるのは一日の継続的な売買ではなく、短時間の集中だ。このように短い痕跡は、最初に見えるほど強い証拠ではない。これほど活発な銘柄で、その価格に同じ数量の表示注文があれば、通常は数秒で消化される。何かが注文を繰り返し戻していたことになる。
アイスバーグ注文の検出が信頼できない理由
何かが注文を繰り返し戻していたというのが、テープから導ける正直な限界だ。同じ痕跡には、予備注文をまったく伴わない通常の説明もある。
- 執行アルゴリズムが親注文を同じ数量の子注文に分割し、ブローカーのサーバーから一件ずつ送る。
- 互いに無関係な参加者が、切りのよい数字に誘われ、同じ切りのよい数量を同じ切りのよい価格で発注する。
- マーケットメイカーが、維持してもよいと判断した価格水準で、同じ数量を繰り返し気配更新する。
- 約定件数と注文件数が一致しない。一つの残存注文がスイープによって複数回に分けて約定し、複数の約定として報告されることがある。
見えないケースもある。一度も約定しないアイスバーグ注文は、痕跡を一切残さない。テープに記録されるのは約定だけだからだ。約定記録から作る非表示流動性の指標が測っているのは、待機していた数量ではなく、約定した部分だけである。このパターンは、特定の注文に関する事実ではなく、取引所の構成や気配値と照合すべき仮説として読む必要がある。
よくある質問
取引におけるアイスバーグ注文とは
二つの数量を持つ指値注文だ。ひとつは公開気配値に現れる小さな表示数量、もうひとつは表示分が約定するたびに取引所が自動的に繰り出す、より大きな非表示の予備数量である。一つの取引所で一つの価格に、一つの注文として残る。
アイスバーグ注文はキュー内の順位を失うか
表示分は失う。補充分は新しいタイムスタンプを持つ新たな表示注文として掲載され、その価格ですでに残っているすべての注文の後ろに並ぶ。Nasdaqの規則では、非表示の予備数量は当初のタイムスタンプを維持する。
Level 2でアイスバーグ注文を見られるか
見られない。板情報に表示されるのは表示分だけで、通常の小口指値注文と同じように見える。予備数量は約定するまで見えず、独立した一行として表示されることもない。
アイスバーグ注文はダークプール注文と同じか
違う。アイスバーグ注文は立会取引所に残り、その一部を公開気配値に載せる。ダークプール注文は公開気配値のない市場に残り、約定して初めて取引が公開データに現れる。
アイスバーグ注文は合法か
合法だ。Reserve注文は、SECに提出された取引所の規則集に記載された注文属性であり、加盟金融機関とその顧客が利用できる。注文数量の一部を非表示にすることは、開示された注文タイプの機能である。
ここで使用した各パネルには、その数値を生成したSQLが付属しているため、各数値の集計方法を確認できる。任意のティッカーと日付について繰り返し約定をスキャンするには、Strasmore terminalで平易な英語による依頼を入力すればよい。