Iceberg-Orders erkennen: was sich hinter der Liquidität wirklich verbirgt.
Was Sie im Order-Book sehen, ist nur die Spitze. Iceberg-Orders verstecken den Großteil ihres Volumens vor anderen Marktteilnehmern — und genau das macht sie zu einem der stärksten Signale für institutionelle Aktivität, wenn man sie zu lesen weiß.
Was eine Iceberg-Order ist — und warum es sie gibt.
Eine Iceberg-Order ist eine große Limit-Order, von der nur ein kleiner Teil — die sogenannte sichtbare Spitze, „Tip-of-Iceberg" — im öffentlichen Order-Book angezeigt wird. Wird dieser Teil gefüllt, schiebt das System automatisch die nächste Tranche nach, bis die Gesamtorder abgearbeitet ist. Der Sinn: ein Fonds, der 500.000 Aktien kaufen will, würde mit einer vollständig sichtbaren Order den Preis sofort gegen sich laufen lassen. Mit einer Iceberg-Order — etwa 10.000 sichtbar, 490.000 versteckt — bleibt der Market-Impact deutlich niedriger.
An NYSE, Nasdaq und EUREX ist das Konzept seit Langem etabliert, an den meisten Crypto- Börsen ebenfalls. Die Details unterscheiden sich: an einigen Plätzen ist die Refresh- Größe konstant, an anderen randomisiert, um die Detektion zu erschweren.
Reserve-Order vs. Iceberg-Order: feine, wichtige Unterschiede.
Die Begriffe werden im Sprachgebrauch oft synonym verwendet, sind es aber nicht ganz. Eine Reserve-Order ist die NYSE-Variante: sichtbarer Anteil plus „Reserve", die nachgeladen wird. Iceberg-Orders bei EUREX funktionieren ähnlich, erlauben aber teils randomisierte Tranchen-Größen. Auf Nasdaq existieren zusätzlich vollständig versteckte Orders (Hidden Orders) — die haben gar keine sichtbare Spitze und treten nur in der Trade-Tape auf, nicht im Quote.
Für die Detektion heißt das: Iceberg- und Reserve-Orders hinterlassen ein typisches Muster im Order-Book; Hidden Orders sehen Sie ausschließlich, wenn sie ausgeführt werden. Beide sind für Sie als systematischen Trader nützliche Signale, aber Sie brauchen unterschiedliche Detection-Strategien.
Erkennen via Time-and-Sales: das Wiederholungsmuster.
Der einfachste Indikator: in der Trade-Tape erscheinen kurz hintereinander mehrere Fills auf demselben Preis, in sehr ähnlicher Lot-Größe. Beispiel:
14:32:01.214 100 @ 187.45 BID-Side 14:32:01.387 100 @ 187.45 BID-Side 14:32:01.554 100 @ 187.45 BID-Side 14:32:02.011 100 @ 187.45 BID-Side 14:32:02.299 100 @ 187.45 BID-Side ... ... ... ...
Wenn das Order-Book auf 187.45 nur 100 Stück anzeigt, aber diese 100 Stück sekündlich neu nachgeladen werden — dann liegt mit hoher Wahrscheinlichkeit eine Iceberg-Order dahinter. Ein Marktteilnehmer mit echter 100-Aktien-Limit-Order würde nach dem Fill verschwinden, nicht regenerieren.
Order-Book-Pattern: der „regenerierende" Level.
Im Level-2-Order-Book ist das Bild noch deutlicher. Ein Iceberg-Level zeigt folgende Charakteristik:
- Sichtbare Größe bleibt über längere Zeit nahezu konstant — trotz wiederholter Fills.
- Die Order-ID ändert sich nach jedem Refresh (das ist die typische Signatur an Plätzen mit Public Order-IDs).
- Das Verhältnis Trade-Volume zu Quote-Volume auf diesem Level wird sehr hoch — viele Ausführungen, aber wenig sichtbarer Bestand.
Ein einfaches Maß dafür ist die Refresh-Frequenz: wie oft pro Minute wird der Level nachgefüllt? Bei normalen Limit-Orders ist diese Zahl nahe null. Bei Icebergs schießt sie hoch.
Detection-Algorithmus mit Python.
Eine simple, aber robuste Detektion auf Basis von Time-and-Sales und Quote-Updates:
from collections import defaultdict, deque
import time
class IcebergDetector:
def __init__(self, window_sec=60, min_refresh=5, lot_tolerance=0.1):
self.window = window_sec
self.min_refresh = min_refresh
self.tol = lot_tolerance
self.trades = defaultdict(deque) # price -> deque of (ts, size)
def on_trade(self, ts, price, size, side):
q = self.trades[(price, side)]
q.append((ts, size))
# Window-Cleanup
while q and ts - q[0][0] > self.window:
q.popleft()
if len(q) < self.min_refresh:
return False
sizes = [s for _, s in q]
mean = sum(sizes) / len(sizes)
# Lot-Größen-Konsistenz prüfen
consistent = all(abs(s - mean) / mean < self.tol for s in sizes)
return consistent
def signal_strength(self, price, side):
q = self.trades.get((price, side), [])
return len(q)
Dieses Skelett identifiziert Icebergs, wenn auf einem Preislevel mindestens fünf Trades innerhalb von 60 Sekunden mit ähnlicher Lot-Größe (±10 %) gefüllt werden. In der Praxis kombiniere ich es zusätzlich mit der Order-Book-Persistenz: regeneriert der Level nach jedem Fill, ist die Iceberg-Hypothese deutlich stärker.
Was Iceberg-Detektion praktisch verrät.
Ein erkannter Iceberg ist fast nie ein Retail-Trader. Hinter solchen Orders stehen Asset-Manager, die VWAP-nahe Ausführung anstreben, oder Market-Maker, die Inventar aufbauen. Das hat zwei Implikationen:
- Direktionales Signal: ein großer Iceberg-Buyer auf einem Level deutet auf institutionelle Akkumulation. Steigt der Markt durch dieses Level, fällt eine starke Support-Schwelle.
- Liquiditäts-Signal: solange der Iceberg aktiv ist, gibt es echte Tiefe auf diesem Preis — auch wenn das Order-Book es nicht zeigt. Wer mit Marktorders durchgeht, bekommt unerwartet gute Fills.
Caveats, die ich gelernt habe.
Bei sehr aktiven Symbolen — etwa SPY, AAPL, NVDA — ist die Iceberg-Detektion anspruchsvoll. Mehrere unabhängige Limit-Orders mit zufällig ähnlicher Größe können denselben Pattern erzeugen. Ich filtere daher nach Mindest-Persistenz (≥ 30 Sekunden auf demselben Level) und Mindest-Volumen (≥ 10× durchschnittliches Quote-Volume), um False-Positives zu vermeiden.
Zudem: an Plätzen mit randomisierten Refresh-Größen — und das werden immer mehr — funktioniert die Lot-Konsistenz-Heuristik nicht mehr. Hier muss man auf Order-Book- Cancellation-Patterns ausweichen, was deutlich rechenintensiver ist.
Meine Praxis: Iceberg-Detection als Confidence-Layer.
Ich nutze Iceberg-Signale nicht als alleinige Trade-Trigger — dafür sind sie zu verrauscht. Aber sie sind ein hervorragender Confidence-Layer: wenn ein Setup auf anderen Gründen lange wäre und gleichzeitig ein Iceberg-Buyer auf dem nächsten Support-Level erkannt wird, erhöhe ich Position-Size leicht. Umgekehrt: ist ein Iceberg-Seller auf dem nächsten Widerstand aktiv, halte ich Profite früher.
Iceberg-Orders sind das beste Beispiel dafür, dass Mikrostruktur nicht abstrakt ist. Die Information liegt im Datenstrom — man muss nur wissen, wie man hinhört.
Sie wollen Mikrostruktur-Signale in Ihre Strategie integrieren? Erstgespräch buchen — wir bauen die Detection-Pipeline für Ihren Use-Case.