Liquidationskaskaden als Handelssignal: erzwungenen, vorab angekuendigten Flow lesen
Der meiste Marktflow bleibt geheim, bis er ausgefuehrt wird. Ein diskretionaerer Verkaeufer entscheidet selbst, wann er verkauft; seine Absicht erfaehrst du erst nachtraeglich aus dem Tape. Gehebelte Liquidationen sind die Ausnahme, und diese Ausnahme ist gewaltig. Eine Liquidation ist erzwungen — der Positionsinhaber hat kein Mitspracherecht, ob sie stattfindet — und sie ist vorab angekuendigt — der genaue Preis, bei dem sie ausgeloest wird, ist eine deterministische Funktion von Parametern, die On-Chain vollstaendig oeffentlich und Off-Chain statistisch schaetzbar sind. Jeder gehebelte Long ist eine stehende Market-Sell-Order, die zu einem Preis liegt, den sie jedem mitteilt, der ihn berechnen will.
Das stellt die gesamte Sache in einen neuen Rahmen. Der Begleitartikel zu den Liquidationsmechanismen von Aave und Compound betrachtet Liquidationen aus Sicht des Liquidators — den Infrastrukturwettlauf darum, derjenige zu sein, der die uneinbringliche Schuld zurueckzahlt und den Bonus kassiert. Dieser Artikel nimmt die Seite des Traders beim selben Objekt ein: nicht "wie gewinne ich die Liquidation?", sondern "das Aggregat der Liquidationspreise aller anderen ist eine Karte des kuenftigen erzwungenen Flows, und ich kann gegen diese Karte handeln". Wir bauen zwei Versionen dieser Karte — eine exakte On-Chain-Version, eine unscharfe fuer CEX-Perps — quantifizieren, wann eine Liquidationskette selbstverstaerkend wird, und formulieren sorgfaeltig, was der daraus entstehende Flow mit dem Preis macht.
Das On-Chain-Liquidationstiefenprofil
Auf einem Money Market wird der Liquidationspreis einer Position nicht geschaetzt. Er wird hergeleitet. Erinnern wir uns an den Health Factor aus dem Grundlagenartikel zu den Mechanismen: Eine Position kann liquidiert werden, wenn
dabei sind die Sicherheitenmengen, ihre Oracle-Preise, die Liquidationsschwellen und die Schuldwerte. Wir leiten das nicht erneut her, sondern stellen es um. Nehmen wir den haeufigen Fall — eine einzelne volatile Sicherheit (etwa WETH), die eine stabile Schuld (USDC) finanziert. Wenn man setzt und nach dem Sicherheitenpreis aufloest, erhaelt man den Ausloesepreis der Position:
Diese eine Zahl hat der Kreditnehmer bekannt gegeben. Sie sagt: Wenn WETH auf dem Oracle beruehrt, wird diese Position zu erzwungenem Angebot. Und auch die Groesse dieses Angebots ist bekannt — beim Ausloeser zahlt ein Liquidator der Schuld zurueck und beschlagnahmt Sicherheiten im Wert von , sodass ungefaehr
des Sicherheitenwerts auf den Markt trifft (oder abgesichert wird), wenn die Position ausgeloest wird.
Nehmen wir die konkrete Position aus dem Grundlagenartikel zu den Mechanismen: 10 WETH wurden zu $3{,}000 hinterlegt, 20{,}000 USDC geliehen, die Liquidationsschwelle betraegt , der Bonus 5 %. Ihr Ausloeser liegt bei , und bei einem Close-Factor von 50 % liegen zu diesem Preis an erzwungenem WETH-Angebot. Ein Kreditnehmer, ein Balken im Chart. Fuehre das fuer jeden Kreditnehmer im Protokoll durch, teile die Ergebnisse nach in Klassen ein, und du erhaeltst ein Histogramm: Nennwert der erzwungenen Verkaeufe als Funktion des Preises. Das ist das On-Chain-Liquidationstiefenprofil — das DEX-native Gegenstueck zu einem Orderbuch, nur dass die "Orders" unfreiwillig sind und ihre Preise berechnet statt quotiert werden.

Drei Ehrlichkeitsvorbehalte verhindern, dass daraus Fantasie wird:
- Multi-Asset-Positionen haben keinen einzelnen Ausloesepreis. Eine Position mit zwei volatilen Sicherheiten und zwei Schulden wird auf einer Flaeche im Preisraum liquidiert, nicht an einem Punkt. Die praktische Vereinfachung besteht darin, den Ausloeser entlang der Achse der dominanten volatilen Sicherheit zu berechnen und dabei jeden anderen Oracle-Preis auf seinem aktuellen Wert zu halten. Das ist fuer eine Bewegung in einem Asset korrekt und fuer eine Bewegung in einem korrelierten Basket falsch — was wichtig ist, denn korrelierte Crashs sind genau die Situationen, in denen sich viele Ausloeser gemeinsam bewegen. Betrachte das Einzel-Asset- als marginale Naeherung erster Ordnung, nicht als Garantie.
- Erzwungener Verkauf Market Dump an einem einzigen Venue. Kompetente Liquidatoren verkaufen beschlagnahmte Sicherheiten nicht blind in den duennsten verfuegbaren Pool; sie routen ueber DEX und CEX und halten oft die Sicherheit, waehrend sie sie auf einem Perp delta-hedgen, anstatt sie sofort zu realisieren (das Exit-Swap-Problem, bei dem der Grundlagenartikel zu den Mechanismen ins Detail geht). Daher ist eine Obergrenze fuer preiswirksamen Flow, keine Punktschaetzung. Ein Teil davon fliesst in Hedges, die den Spot-Markt nie beruehren.
- Die Ausloeser bewegen sich mit dem Oracle, nicht mit dem Markt. Auf Aave und Compound wird eine Position liquidierbar, wenn das Oracle ueberschreitet, und Oracles aktualisieren sich nach einem Rhythmus aus Abweichung und Heartbeat, wobei sie dem Markt hinterherlaufen. Das Tiefenprofil ist daher eine Karte, an welchen Stellen erzwungener Flow berechtigt wird, begrenzt durch die naechste Oracle-Uebertragung — eine Feinheit, die der Grundlagenartikel ausfuehrlich behandelt.
Eine dritte Quelle liegt zwischen dem Money-Market-Chart und der CEX-Heatmap: Perp-DEXs. Hyperliquid, GMX und dYdX v4 betreiben gehebelte Perpetuals wie eine zentrale Boerse, halten den Positionsstatus aber On-Chain oder in einer abfragbaren Clearinghouse-Struktur. Das bedeutet: Ihre Liquidationspreise folgen derselben Isolated-Margin-Formel wie CEX-Perps — werden aber aus tatsaechlichen Positionen (Groesse, Sicherheit, Einstieg) berechnet und nicht aus dem aggregierten OI geschaetzt. Der Clearinghouse-Status von Hyperliquid legt die Margin jedes Kontos und den Mark-Preis offen; GMX-Positionen liegen On-Chain und werden von Keepern zu aus Oracle abgeleiteten Preisen liquidiert. Der praktische Schluss: Fuer Perp-DEXs kannst du eine Liquidationskarte mit CEX-typischem Leverage, aber On-Chain-typischer Praezision bauen — viel naeher an der Exaktheit des Aave-Charts als an der Schaetzarbeit der Heatmap. Wo ein Venue Positionen veroeffentlicht, musst du nie raten.
Selbst mit diesen Vorbehalten ist das On-Chain-Chart die sauberste Karte erzwungenen Flows, die es irgendwo in den Maerkten gibt: keine Annahme ueber die Leverage-Verteilung, keine verborgene Groesse, jede Eingabe aus dem State lesbar.
Die CEX-Liquidations-Heatmap
Zentrale Perpetual-Boersen liefern dir die umgekehrte Situation — ein weitaus groesseres Open Interest und fast keine Details auf Positionsebene, die das On-Chain-Chart exakt machen. Du kannst einzelne Positionen nicht auslesen. Was du auslesen kannst, sind das aggregierte Open Interest und das gehandelte Volumen. Die Liquidations-Heatmap entsteht, wenn du versuchst, das Tiefenprofil aus diesen Aggregaten und zusaetzlichen Annahmen zu rekonstruieren; diese Annahmen tragen die ganze Last.
Die Rechnung pro Position ist einfach. Fuer einen linearen Long mit isolierter Margin (USDT-abgerechnet), der zum Preis mit dem Leverage und der Maintenance-Margin-Rate eroeffnet wurde, wird die Liquidation ausgeloest, wenn das Eigenkapital auf die Maintenance-Anforderung faellt:
und symmetrisch . Setze einen Einstieg bei mit fest und gehe die Leverage-Stufen durch:
| Leverage | Abstand unter dem Einstieg | |
|---|---|---|
| 5× | $2,415 | −19.5% |
| 10× | $2,715 | −9.5% |
| 25× | $2,895 | −3.5% |
| 50× | $2,955 | −1.5% |
| 100× | $2,985 | −0.5% |
Die Form dieser Spalte ist der gesamte Grund dafuer, dass Heatmaps direkt unter dem juengsten Preis aufleuchten: Positionen mit hohem Leverage werden nur einen Hauch vom Einstieg entfernt liquidiert. Wo auch immer kuerzlich Volumen gehandelt wurde, sitzt daher ein dichtes Band von 50–100×-Ausloesern einen Bruchteil eines Prozents entfernt. Der Ersteller der Heatmap geht so vor: Er behandelt das kuerzlich gehandelte Volumen als Naeherung dafuer, wo Positionen eroeffnet wurden (ihr ), verteilt dieses Volumen auf angenommene Leverage-Stufen — 5×, 10×, 25×, 50×, 100× mit bestimmten angenommenen Gewichtungen —, projiziert jeden Anteil auf sein und schattiert die Preisachse nach dem geschaetzten gehebelten Nennwert, der dort liquidiert wird. Helle Baender sind dichte geschaetzte Liquidationszonen.

Sei explizit, warum dies ein unscharfes Bild und kein Zwilling des On-Chain-Charts ist:
- Die Leverage-Verteilung ist unbekannt. Die gesamte Heatmap ist eine Faltung des Volumens mit einem angenommenen Leverage-Histogramm. Andere Annahmen verschieben die hellen Baender. Zwei angesehene Datenanbieter veroeffentlichen fuer denselben Markt am selben Tag sichtbar unterschiedliche Heatmaps, und beide sind entsprechend ihrer Priors "richtig".
- Cross-Margin bricht die Positionsformel. Das obige ist ein Ergebnis fuer isolierte Margin. Eine Cross-Margin-Position wird auf Basis des Eigenkapitals des gesamten Kontos liquidiert. Ihr effektiver Ausloeser haengt daher von den anderen Positionen des Traders, deren nicht realisiertem PnL und jeder Sicherheit ab, die waehrend der Bewegung nachgelegt wird — nichts davon ist beobachtbar. Die Cross-Margin-Groesse ist fuer den Schaetzer praktisch unsichtbar.
- Verborgene und dynamische Groesse. Open Interest ist ein Netto-plus-Brutto-Aggregat; es sagt dir nicht, wie OI einzelnen Einstiegen zugeordnet ist. Trader stocken laufend auf, reduzieren und hedgen. Gestaffelte Maintenance-Margin ( steigt mit dem Positionsnennwert) verschiebt die Ausloeser grosser Positionen relativ zu kleinen bei demselben Leverage.
- Liquidation ist gestueckelt, nicht sofort. Boersen liquidieren grosse Positionen schrittweise und leiten das verbleibende Risiko ueber einen Versicherungsfonds und Auto-Deleveraging. Selbst ein korrekt lokalisierter Cluster wird daher nicht als ein einziger Print abgeladen.
Die richtige Einordnung der Heatmap ist ein Prior dafuer, wo erzwungener Flow wahrscheinlich konzentriert ist, der durch tatsaechliche Liquidationsprints bestaetigt oder widerlegt werden muss (den forceOrder-Stream im folgenden Pipeline-Abschnitt), nicht ein Hauptbuch. Sie ist wirklich nuetzlich und wirklich unpraezise. Wer das Gegenteil vortaeuscht, wird von den Clustern ueberrollt, die er selbst beobachtet. Warum sich ueberhaupt so viel Leverage in Perps ansammelt — und warum Funding-Kosten diese Positionen immer wieder in Richtung ihrer Ausloeser schieben — erklaert Funding-Rate-Arbitrage ueber mehrere Boersen.
Kaskadendynamik, quantifiziert
Eine einzelne Liquidation ist ein Datenpunkt. Eine Kaskade ist die Rueckkopplungsschleife, und sie hat eine Schwelle, die sich aufschreiben laesst. Die Schleife ist mechanisch: Ein erzwungener Verkauf trifft das Orderbuch → der Preiseffekt bewegt den Markt → die Bewegung drueckt die naechste Positionsstufe ueber ihren Ausloeser → diese Positionen werden liquidiert → noch mehr erzwungene Verkaeufe → Wiederholung. Ob das versandet oder ausser Kontrolle geraet, ist keine Frage der Stimmung, sondern ein Verhaeltnis zweier Groessen, die du bereits aufgebaut hast.
Arbeite mit fraktionalen Preisrueckgaengen . Es gibt zwei Bestandteile:
- Liquidationsdichte — Nennwert erzwungener Verkaeufe pro Einheit des fraktionalen Preisrueckgangs, direkt aus dem Tiefenprofil / der Heatmap abgelesen: . Sie misst, wie viel Treibstoff in einem Preisband gestapelt ist.
- Markttiefe — der Nennwert an Marktverkaeufen, der noetig ist, um den Preis um eine Einheit von zu bewegen. In einem linearen (Kyle-)Impact-Modell bewegt ein Verkaufsnennwert den Preis um . Das ist die Kapazitaet des Orderbuchs, erzwungenen Flow aufzunehmen, und genau darum geht es bei der Analyse von Orderbuch-Waenden und Positionen in der Warteschlange — eine "Wand" ist ein lokaler Sprung in .
Iterieren wir nun. Ein exogener Schock senkt den Preis um und loest an erzwungenen Verkaeufen aus. Diese Verkaeufe verursachen einen weiteren Rueckgang von . Definiere den Kaskadenmultiplikator
und die Rekursion lautet einfach . Der gesamte Rueckgang ist eine geometrische Reihe:
Alles haengt vom Wert von ab:
- — unterkritisch. Jede Liquidationsrunde loest weniger Verkaeufe aus als die vorherige. Die Kaskade erlischt von selbst; die Gesamtbewegung ist ein begrenztes Vielfaches des urspruenglichen Schocks. Die meisten Liquidationsereignisse liegen hier.
- — ueberkritisch. Jede Runde loest mindestens so viele Verkaeufe aus wie die letzte. Die geometrische Reihe divergiert; die Bewegung wird nur durch das Ausschoepfen liquidierbarer Positionen, die zunehmende Tiefe des Orderbuchs bei niedrigeren Preisen oder einen Circuit Breaker der Boerse begrenzt. Das ist das Regime des "Flash Crash / Long Squeeze".
ist eine Reproduktionszahl — das einer Liquidationsepidemie. Sie sagt aus, dass die Kaskade genau dann ausser Kontrolle geraet, wenn die in einem Preisband konzentrierte Liquiditaet aus erzwungenen Verkaeufen die dort verfuegbare Orderbuchliquiditaet zu ihrer Aufnahme uebersteigt. Deshalb ist ein moderater Schock in einen dichten Cluster auf einem duennen Orderbuch weitaus gefaehrlicher als ein grosser Schock in leeren Preisraum: Die Gefahr ist , nicht die Schockgroesse. Diese selbstanregende Struktur — Ereignisse loesen mehr Ereignisse derselben Art aus — ist dieselbe, die zur Modellierung des Orderflows mit Hawkes-Prozessen motiviert, und sie erklaert, warum Liquidationen in Clustern statt gleichmaessig eintreffen.

Setzen wir Zahlen ein. Angenommen, im Orderbuch bewegen $10M an Marktverkaeufen ETH um 1 %, also Nennwert pro Einheit des fraktionalen Preises. Vergleichen wir nun zwei Regime fuer das 1 % breite Band direkt unter dem Spot-Preis:
- Dichtes Band, $30M konzentrierter Nennwert erzwungener Verkaeufe. Dann ist und . Ueberkritisch: Ein Schock, der die Oberkante des Bands streift, zuendet den gesamten Stapel, und die Untergrenze des Modells wird nicht durch bestimmt, sondern durch die Stelle, an der die Positionen ausgehen.
- Duennes Band, $6M konzentrierter Nennwert. Dann ist , , und die Gesamtbewegung betraegt — ein verstaerkter, aber begrenzter Rueckgang. Derselbe Schock, dasselbe Orderbuch, ein fuenfmal duennerer Cluster, und das Ergebnis kippt von Kollaps zu einem kaufbaren Docht.
Die diskrete Version ist eine kurze Simulation ueber die sortierten Cluster, und es lohnt sich, sie aufzuschreiben, weil sie die Schwelle greifbar macht:
def cascade(p0, clusters, kyle_lambda):
"""
p0: price after the exogenous shock
clusters: {trigger_price: forced_notional} for long positions
kyle_lambda: fractional price impact per $ of market sell (1/depth)
Returns the floor price and total liquidated notional.
"""
p, sold, fired = p0, 0.0, set()
while True:
new = [(tp, n) for tp, n in clusters.items()
if tp not in fired and tp >= p]
if not new:
break
q = sum(n for _, n in new) # this round's forced sell
fired.update(tp for tp, _ in new)
p *= (1 - kyle_lambda * q) # linear price impact of the round
sold += q
return p, sold
Zwei praktische Hinweise. Erstens ist lokal — es variiert entlang der Preisachse, weil sich sowohl (Cluster-Dichte) als auch (Orderbuch-Tiefe) veraendern. Die handelbare Frage lautet nicht "Ist der Markt fragil?", sondern "Bei welchem konkreten Preis ueberschreitet den Wert 1?" Zweitens wirkt derselbe Mechanismus bei Shorts auf dem Weg nach oben umgekehrt (ein Short Squeeze ist eine Kaskade mit umgekehrten Vorzeichen), sodass die Karte zwei Seiten hat: Treibstoff aus Long-Liquidationen unter dem Spot-Preis und Treibstoff aus Short-Liquidationen darueber. Die Schleife aus erzwungenem Verkauf, Preiseffekt und erneut erzwungenem Verkauf ist der in der Fire-Sale-Literatur (Cont & Wagalath) formalisierte Mechanismus des endogenen Risikos, bei dem eine Notliquidation ihre eigene Korrelation und ihren eigenen Impact erzeugt.
Signale: Cluster als Magnete und Umkehrzonen
Eine Karte des erzwungenen Flows erzeugt je nach Zeitpunkt relativ zur Kaskade zwei unterschiedliche, beinahe gegensaetzliche handelbare Lesarten.
Vorher: Cluster sind Preismagnete. Ein dichter Liquidationscluster ist ein Pool garantierten, preisunempfindlichen Flows. Das ist fuer zwei Arten von Akteuren attraktiv: Liquiditaet suchende Trader, die gegen erzwungene Gegenparteien grosse Positionen fuellen wollen, und raeuberische Trader, die den Preis gezielt in Richtung des Clusters druecken, um den Flow auszuloesen (der Stop-Hunt auf Protokollebene). Das Ergebnis ist eine gut dokumentierte Tendenz, dass der Preis zu grossen Clustern hingravitiert — das Niveau wirkt wie ein Magnet —, weil ein staendiger Anreiz besteht, die Distanz zu schliessen. Wenn du siehst, wie der Spot-Preis bei geringer Ueberzeugung auf ein helles Band zutreibt, ist das Band selbst Teil der Erklaerung. Die Reaktion des Orderbuchs beim Annaehern des Preises vorherzusagen — wird die Wand den Flow absorbieren oder einknicken — ist genau die Art von kurzfristigem Orderbuch-Prognoseproblem, die Modelle wie DeepLOB angehen.
Danach: Cluster sind Umkehrzonen. Das ist die wertvollere und haeufiger missbrauchte Lesart, daher formulieren wir sie sorgfaeltig. Erzwungener Liquidationsflow ist konstruktionsbedingt nicht-informativ — der Verkaeufer verkauft nicht, weil er glaubt, der Preis sei zu hoch, sondern weil eine Margin-Engine es ihm vorgibt. Nicht-informativer Flow bewegt den Preis voruebergehend. Sobald die gebuendelten Positionen erschoepft sind, stoppt der mechanische Verkauf abrupt, und wenn die Kaskade den fairen Wert auf dem Weg nach unten ueberschossen hat, tendiert der Preis zurueck — der "Liquidationsdocht". Der Mechanismus ist kein Aberglaube: Es ist das Standardergebnis, dass der Preiseffekt erzwungener, uninformativer Verkaeufe eine temporaere Komponente hat, die sich umkehrt, sobald der Flow endet — dieselbe Fire-Sale-Logik, die in der Literatur zu Notverkaeufen von Aktien eine temporaere Verwerfung und anschliessende teilweise Umkehr erzeugt.

Die daraus erforderliche Disziplin, so unmissverstaendlich wie moeglich formuliert:
- Mean Reversion nach einer Kaskade ist eine dokumentierte Tendenz, kein Gesetz und keine Zahl. Sie setzt voraus, dass der Flow tatsaechlich nicht-informativ war und waehrend der Kaskade keine neuen Informationen eingetroffen sind. Eine Liquidationskaskade, die zugleich eine Neubewertung des Marktes aufgrund echter Nachrichten ist (ein Depeg, ein Exploit, ein Makroschock), wird sich nicht umkehren — der erzwungene und der informative Flow liegen uebereinander, und nur ersterer ist temporaer. Es gibt keinen universellen Edge nach dem Muster "Docht kaufen", und jede konkrete Umkehrquote, die ohne Angabe von Stichprobe, Venue und Regime zitiert wird, sollte als Marketing behandelt werden.
- Das Signal ist die Erschoepfung, nicht der Rueckgang. Der handelbare Moment ist erreicht, wenn die realisierten Liquidationsprints duenn werden — wenn das
forceOrder-Tape nach einem Schub stiller wird —, denn dann ist der mechanische Verkaeufer verschwunden. In die Mitte einer ueberkritischen Kaskade () einzusteigen bedeutet, sich vor genau jene Rueckkopplungsschleife zu stellen, vor der der vorherige Abschnitt gewarnt hat. - Beide Lesarten brauchen dieselbe Karte. Magnet und Umkehr sind dieselben Cluster in unterschiedlichen Phasen; keine der beiden Strategien laesst sich handeln, ohne zuerst das Tiefenprofil und die Heatmap aufzubauen und sie laufend mit den tatsaechlichen Prints abzugleichen.
Es gibt ausserdem eine langsamere, direktionale Lesart in der Asymmetrie der zweiseitigen Karte. Treibstoff aus Long-Liquidationen liegt unter dem Spot-Preis, Treibstoff aus Short-Liquidationen darueber; wenn eine Seite deutlich schwerer beladen ist als die andere, hat der Markt eine mechanische Tendenz zur schweren Seite, weil ein Schock dort den meisten selbstverstaerkenden Flow vorfindet. Ein Markt mit einer Wand aus Long-Liquidationen 3 % tiefer und fast nichts darueber ist unabhaengig von der Erzaehlung strukturell anfaellig fuer die Unterseite — der Weg des geringsten Widerstands ist der Weg mit dem meisten Treibstoff. Anhaltendes, einseitiges Funding baut diese Asymmetrie oft erst auf: Ein Markt, der Longs dafuer bezahlt, short zu bleiben (stark negatives Funding), sammelt ueberfuellte Shorts an, deren Liquidationscluster dann ueber dem Preis als Squeeze-Treibstoff liegt, und umgekehrt. Das Funding-Tape und die Liquidationskarte sind zwei Ansichten desselben Leverage.
Die Datenpipeline
Das System ist eine Verbindung zweier Datenstroeme mit gegensaetzlichem Charakter: eines zukunftsgerichteten On-Chain-Positionsindex (wo erzwungener Flow kuenftig liquidierbar wird) und eines realisierten CEX-Liquidationsstreams (wo erzwungener Flow gerade jetzt ausgeloest wird). Der eine zeigt dir, wo der Treibstoff liegt; der andere, dass er gezuendet hat.
Die zukunftsgerichtete Karte — On-Chain-Positionsindex. Starte mit der Ereignishistorie von Aave/Compound (Supply, Borrow, Repay, Withdraw, LiquidationCall), entweder durch erneutes Abspielen der Logs oder durch Abfragen eines Subgraphs auf The Graph, und fuehre sie zu aktuellen Salden pro Nutzer zusammen — genau das Indexierungssystem, das der Grundlagenartikel zu den Mechanismen fuer Liquidationsbots beschreibt und das hier statt zur Ausfuehrung zur Aggregation wiederverwendet wird. Berechne aus den Salden und den aktuellen Risikoparametern fuer jede Position und und teile sie in Klassen fuer das Tiefenprofil ein. Aktualisiere bei neuen Bloecken; sobald die Salden live sind, laesst sich das Histogramm inkrementell guenstig pflegen.
Das realisierte Tape — Binance-forceOrder-Stream. Binance Futures veroeffentlicht tatsaechliche Liquidationen ueber einen Websocket, wss://fstream.binance.com/ws/!forceOrder@arr (Array fuer alle Symbole) oder <symbol>@forceOrder; jedes Ereignis enthaelt Seite, Preis und Menge einer Liquidationsorder. Eine dokumentierte Falle, und genau diese Art von Ungenauigkeit muss man ehrlich benennen: Der oeffentliche Stream ist auf hoechstens ein Liquidationsereignis pro Symbol und Sekunde begrenzt — waehrend einer heftigen Kaskade, wenn Liquidationen viel schneller als 1/s eintreffen, samplet der Stream statt jeden Fill zu melden. Das aus ihm rekonstruierte aggregierte Liquidationsvolumen unterschaetzt daher systematisch gerade dann, wenn es am wichtigsten ist. Verwende den Stream fuer Timing und Richtung der Kaskade (wird sie ausgeloest, welche Seite, beschleunigt sie oder wird sie duenn), nicht als praezises Volumenbuch.
Ein minimales Grundgeruest fuer die Aufnahme — zwei asynchrone Producer, die in einen normalisierten Bus schreiben:
import asyncio, json, websockets
async def binance_liquidations(bus):
url = "wss://fstream.binance.com/ws/!forceOrder@arr"
async with websockets.connect(url) as ws:
async for msg in ws:
o = json.loads(msg)["o"] # order payload
await bus.put({
"src": "binance", "kind": "realized",
"symbol": o["s"],
"side": o["S"], # SELL = long liquidation
"price": float(o["p"]),
"qty": float(o["q"]), # NB: stream is sampled at 1/s
})
async def onchain_positions(bus, subgraph, poll=12):
while True:
positions = subgraph.fetch_open_positions() # balances + risk params
chart = {}
for pos in positions:
p_liq = pos.debt / (pos.collateral * pos.liq_threshold)
q = pos.close_factor * pos.debt * (1 + pos.liq_bonus)
chart[round(p_liq, 2)] = chart.get(round(p_liq, 2), 0.0) + q
await bus.put({"src": "aave", "kind": "forward", "chart": chart})
await asyncio.sleep(poll) # ~1 block cadence
async def main(subgraph):
bus = asyncio.Queue()
await asyncio.gather(
binance_liquidations(bus),
onchain_positions(bus, subgraph),
consumer(bus), # reconcile forward map vs realized tape, emit signals
)
Der consumer ist der Ort, an dem die Strategie lebt: Halte die zukunftsgerichtete Karte (On-Chain-Chart plus geschaetzte CEX-Heatmap), schaetze den lokalen Kaskadenmultiplikator gegen die Live-Orderbuch-Tiefe und beobachte das realisierte forceOrder-Tape, um die Zuendung und — den handelbaren Teil — die Erschoepfung zu erkennen. Wenn das Tape aufbrandet und dann duenn wird, waehrend der Preis unter einem Cluster liegt, von dem die Karte sagte, dass er dort ist, hast du ein nicht-informatives Ueberschiessen bei verschwundenem erzwungenem Verkaeufer: das Umkehr-Setup. Wenn das Tape beschleunigt und vorausliegt, hast du eine ueberkritische Kaskade, von der du dich fernhalten solltest. Dieselbe Karte, entgegengesetzte Aktionen, und das Tape sorgt in Echtzeit fuer die Unterscheidung.
Was du mitnehmen solltest
Liquidationen kehren die uebliche Informationsasymmetrie der Maerkte um: Statt dass der Flow verborgen bleibt, bis er ausgefuehrt wird, lassen sich Preis und Groesse erzwungener Verkaeufe im Voraus berechnen — On-Chain exakt, bei CEX-Perps annaehernd. Baue die Karte (das On-Chain-Tiefenprofil ist abgesehen von Routing und Oracle-Lag exakt; die CEX-Heatmap ist ein Prior unter der Bedingung einer unbekannten Leverage-Verteilung und blind fuer Cross-Margin), und die Fragilitaet der Karte reduziert sich auf ein Verhaeltnis: den Kaskadenmultiplikator , die Dichte erzwungener Verkaeufe geteilt durch die Orderbuchtiefe, eine Reproduktionszahl, die unter 1 unterkritisch und darueber unkontrolliert ist. Das Signal teilt sich nach Phase — Cluster sind vorher Magnete, danach Umkehrzonen — und der Umkehr-Edge existiert nur, weil erzwungener Flow nicht-informativ und deshalb temporaer ist, eine dokumentierte Tendenz, die in dem Moment verschwindet, in dem eine Kaskade mit echten Nachrichten zusammenfaellt. Handle die Erschoepfung, nicht den Rueckgang; respektiere ; und verwechsle niemals eine unscharfe Heatmap mit einem Hauptbuch darueber, wo die Leichen begraben sind.
Quellen
- Qin, Zhou, Gamito, Jovanovic, Gervais (2021), An Empirical Study of DeFi Liquidations: Incentives, Risks, and Instabilities. arXiv:2106.06389.
- Kyle, A. S. (1985), Continuous Auctions and Insider Trading. Econometrica 53(6) — der lineare Preiseffektkoeffizient , der im Kaskadenmodell verwendet wird.
- Cont, R., & Wagalath, L. (2016), Fire Sales Forensics: Measuring Endogenous Risk. Mathematical Finance 26(4) — Preiseffekt erzwungener Liquidation und endogene Korrelation.
- Bacry, E., Mastromatteo, I., Muzy, J.-F. (2015), Hawkes Processes in Finance. Market Microstructure and Liquidity 1(1) — selbstanregende Clusterbildung von Order- und Liquidationsflow.
- Binance Futures API documentation — Liquidation Order Streams (
!forceOrder@arr,<symbol>@forceOrder), including the 1-event-per-second-per-symbol throttling note. - Aave v3 and Compound III subgraphs on The Graph; Aave
getUserAccountDataand reserve risk parameters.
Authors
Trading-systems engineer
Trading-systems engineer building bots since 2017: cross-exchange arbitrage (connected up to 30 venues), cointegration-based pairs arbitrage across spot and futures, scalping, news and sentiment-driven strategies, trend algorithms, and portfolio management and balancing algorithms. Also builds sub-millisecond order execution, big-data warehouses, backtesting engines, AI agents, and trading interfaces (incl. open-source profitmaker.cc). Stack: JS/TS, Python, Rust/Zig/Go, DevOps, backend, frontend, architecture.