← Alle Insights

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:

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:

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.