📝

Draft article

This draft is visible to admins and superusers only. Sign in with an authorized account.

← Zurück zu den Artikeln
July 22, 2026
5 min read

Smart Order Routing in Crypto: Eine Order, zwölf Handelsplätze, kein NBBO

Smart Order Routing in Crypto: Eine Order, zwölf Handelsplätze, kein NBBO
#Execution
#Smart Order Routing
#Marktmikrostruktur
#Liquiditätsfragmentierung
#Crypto
#Quant
#Python
#TCA

Sie müssen 400 BTC kaufen. Binance hat die meiste Tiefe. OKX und Bybit zeigen jeweils ordentliche Größe einen Tick weiter draußen. Coinbase quotiert einen besseren Headline-Preis, allerdings in USD, nicht in USDT. Krakens Top of Book sieht fantastisch aus und ist 400 Millisekunden alt. Upbit ist noch besser, aber Ihre Compliance-Freigabe für Korea existiert nicht, und Ihr KRW auch nicht. Ein Aktienhändler, der auf dieses Durcheinander blickt, würde zu einem Smart Order Router greifen und aufhören nachzudenken, denn im Aktienhandel wurden die schwierigen Teile des Routings vor zwei Jahrzehnten regulatorisch in die Infrastruktur eingebaut. In Crypto sind Sie die Infrastruktur. Es gibt kein konsolidiertes Tape, keine Order-Protection-Regel, keine Gebührenobergrenze, kein verrechnetes Settlement — und, am grundlegendsten, keine Möglichkeit, dort zu handeln, wo Ihr Kapital nicht bereits liegt.

Dieser Artikel handelt davon, den Router trotzdem zu bauen: das konsolidierte Orderbuch und warum naives Best-Price-Routing dagegen Geld verliert, das Allokationsproblem als konvexes Programm, das sich innerhalb eines Child-Order-Zeitlimits tatsächlich lösen lässt, die Kapitalrestriktion, die Crypto-SOR untrennbar mit Treasury-Management verbindet, Maker-bewusstes Routing über Handelsplätze hinweg, sowie die TCA-Feedback-Schleife, die verrät, ob irgendetwas davon funktioniert. Er ist das ingenieurtechnische Geschwisterstück zu Complex Arbitrage Execution in Rust — jener Artikel behandelt die Nanosekunden, dieser hier die Entscheidungen.

Was Aktien-SOR geschenkt bekommt

Es lohnt sich, präzise zu benennen, was das US-Aktien-Routing der Regulierung verdankt, denn jeder Punkt auf dieser Liste ist etwas, das Sie nachbauen oder bewusst entbehren müssen.

Regulation NMS (SEC, 2005) hat hier drei relevante Dinge bewirkt. Rule 611, die Order Protection Rule, verbietet die Ausführung zu einem schlechteren Preis als ein geschütztes, an einer anderen Börse angezeigtes Quote — ein "Trade-Through" —, wodurch jeder Broker gezwungen ist, entweder zum besten angezeigten Preis zu routen oder ihn mit Intermarket Sweep Orders zu fegen. Rule 610 deckelt die Zugangsgebühr, die ein Handelsplatz für die Inanspruchnahme eines geschützten Quotes verlangen darf, bei 0,003 USD pro Aktie, sodass angezeigte Preise über Handelsplätze hinweg bis auf 30 Mils vergleichbar sind. Und das konsolidierte Tape (die SIPs) veröffentlicht ein National Best Bid and Offer — eine einzige offizielle Antwort auf die Frage "Was ist der Markt".

Das akademische Urteil über diese Architektur lautet, dass sie überraschend gut funktioniert. O'Hara and Ye (2011), "Is market fragmentation harming market quality?" (Journal of Financial Economics 100(3), 459–474), untersuchten US-Aktien über verschiedene Fragmentierungsgrade hinweg und fanden, dass stärker fragmentierte Aktien niedrigere Transaktionskosten und schnellere Ausführungen aufwiesen, mit Preisen, die näher an einem Random Walk lagen. Ihre Zusammenfassung liefert die Schlüsselformulierung: US-Aktien verhalten sich wie "ein einziger virtueller Markt mit mehreren Zugangspunkten". Fragmentierung ist harmlos, wenn Smart Router zusammen mit Trade-Through-Schutz die Fragmente wieder zusammenfügen. Foucault and Menkveld (2008), "Competition for Order Flow and Smart Order Routing Systems" (Journal of Finance 63(1), 119–158), zeigten den Mechanismus im niederländischen Markt: Als ein zweites Limit-Orderbuch (LSEs EuroSETS) gegen Euronext antrat, stieg die konsolidierte Tiefe, und das Liquiditätsangebot an einem Handelsplatz wurde direkt durch dessen Trade-Through-Rate gedämpft — Router, die einen Handelsplatz ignorieren, zerstören dessen Anreiz zu quotieren.

Selbst in dieser regulierten Welt ist die konsolidierte Sicht auf kurze Horizonte betrachtet eine Lüge. Ding, Hanna, and Hendershott (2014), "How Slow Is the NBBO? A Comparison with Direct Exchange Feeds" (Financial Review 49(2), 313–332), maßen den SIP-NBBO gegen ein aus direkten Börsen-Feeds im selben Rechenzentrum aufgebautes NBBO und fanden bei aktiven Werten mehrmals pro Sekunde Dislokationen, die typischerweise ein bis zwei Millisekunden andauerten — reine Aggregations- und Übertragungslatenz. Diese Zahl sollte man im Hinterkopf behalten: Es ist die Aktien-Version eines Problems, das in Crypto ein bis zwei Größenordnungen schlimmer ist.

Jetzt streichen Sie das alles. Crypto hat kein NBBO, weil es kein SIP gibt. Keine Trade-Through-Regel: Ein Handelsplatz wird Ihnen bereitwillig zu einem Preis fünf Ticks durch das Quote eines anderen Handelsplatzes hindurch ausführen, und niemand reicht dagegen etwas ein. Keine Gebührenobergrenze: Taker-Gebühren reichen von verhandelten Tiers im Sub-Basispunkt-Bereich bis zu Retail-Gebührenordnungen von 10 Bps, sodass angezeigte Preisreihenfolge und Netto-Preisreihenfolge regelmäßig auseinanderfallen. Und kein konsolidiertes Clearing: Jede Börse ist ihr eigenes Silo mit vorfinanzierten Guthaben. Sie sind gleichzeitig das SIP, der Router und das Clearinghaus.

Das konsolidierte Orderbuch bauen, und warum naives Best-Price-Routing scheitert

Die technische Grundlage ist unspektakulär: N WebSocket-L2-Feeds, venue-spezifisches Handling von Sequenznummer-Lücken, Symbol- und Tick-Size-Normalisierung sowie Quote-Währungs-Normalisierung (ein BTC-USD-Orderbuch und ein BTC-USDT-Orderbuch unterscheiden sich um den USDT/USD-Kurs, der nicht identisch 1,0 ist und gelegentlich sehr deutlich nicht 1,0 ist). Führen Sie die normalisierten Orderbücher zu einer preissortierten Ladder zusammen und markieren Sie jedes Level mit seinem Handelsplatz und — entscheidend — dem Alter des Snapshots, aus dem es stammt. Wenn Ihr zusammengeführtes Orderbuch das venue-spezifische Quote-Alter nicht als erstklassiges Feld führt, haben Sie einen Bildschirmschoner gebaut, keinen Router.

Konsolidiertes Orderbuch über Handelsplätze hinweg mit hervorgehobener veralteter und Phantom-Liquidität

Der naive Router läuft diese zusammengeführte Ladder gierig ab: bester Nettopreis zuerst. Er scheitert aus drei unterschiedlichen Gründen, und es lohnt sich, diese auseinanderzuhalten, weil die Korrekturen unterschiedlich sind.

Veraltete Quotes und Latenz-Skew. Ihre Handelsplätze liefern Daten nicht mit derselben Latenz. Ein kolokierter Feed kann 3 ms alt sein, wenn Sie darauf reagieren; ein öffentlicher WebSocket eines Handelsplatzes auf einem anderen Kontinent kann 300 ms alt sein. Das zusammengeführte Top of Book ist daher ein Komposit unterschiedlicher Vergangenheiten. Wenn sich BTC in 200 ms um 10 Bps bewegt — Routine —, sehen die Quotes des veralteten Handelsplatzes systematisch attraktiv auf genau der falschen Seite aus. Dorthin zu routen kauft Ihnen ein Rennen, das Sie bereits verloren haben: Das Quote ist weg, Ihre IOC kommt leer oder teilausgeführt zurück, und bis Sie neu routen, haben sich die frischen Handelsplätze bereits neu bepreist. Das ist das 1–2-ms-SIP-Dislokationsproblem von Ding–Hanna–Hendershott, nur dass Ihre Dislokationen Hunderte von Millisekunden dauern und niemand verpflichtet ist, irgendetwas einzuhalten.

Phantom-Liquidität. Die Summierung der angezeigten Größe über Handelsplätze hinweg zählt zu hoch, weil dasselbe Market-Maker-Inventar gleichzeitig an mehreren Stellen quotiert wird. Van Kervel (2015), "Competition for Order Flow with Fast and Slow Traders" (Review of Financial Studies 28(7), 2094–2127), dokumentierte dies in fragmentierten Aktienmärkten: Auf einen Trade an einem Handelsplatz folgen innerhalb von Millisekunden erhebliche Stornierungen von Limit-Orders an konkurrierenden Handelsplätzen — genau wie von einem Modell vorhergesagt, in dem schnelle Liquiditätsanbieter überall duplizierte Größe quotieren und die Kopien zurückziehen, sobald eine getroffen wird. Crypto-Market-Maker fahren dasselbe Spielbuch über Binance/OKX/Bybit, sodass die zugängliche konsolidierte Tiefe wesentlich geringer ist als die angezeigte konsolidierte Tiefe, und der Fehlbetrag wächst mit dem Grad, in dem Sie die Handelsplätze sequenziell (statt simultan) treffen. Wenn Ihr Router Child-Orders nacheinander an jeweils einen Handelsplatz sendet und auf jede Fill-Bestätigung wartet, betreiben Sie Selbstausbeutung: Jeder Fill signalisiert dem Rest der Straße, zu stornieren.

Gebühren ordnen die Ladder neu. Ein Handelsplatz, der den besten Rohpreis mit einer Taker-Gebühr von 7,5 Bps zeigt, ist oft der schlechteste Nettopreis im Buch. Das klingt zu offensichtlich, um es auszusprechen, und doch ist "bester angezeigter Preis"-Routing genau das, was die meisten Crypto-Router der ersten Generation (und mehrere Anbieterprodukte) implementieren. Netto-nach-Gebühr-Vergleich ist die Mindestanforderung; der Schwesterartikel zu Maker-Taker-Gebühren und Rebates behandelt die venue-spezifische Gebührenmathematik, die VIP-Tier-Dynamik und warum Ihr marginaler Gebühren-Tier — nicht das Preisschild — in den Router gehört.

Die Routing-Optimierung

Formalisieren wir das Child-Order-Problem. Sie müssen jetzt die Menge QQ kaufen, marktfähig, über Handelsplätze v=1,,Vv = 1,\dots,V. Sei Av(x)A_v(x) der marginale Ask-Preis von Handelsplatz vv nach dem Aufessen von xx Einheiten seines Buchs (eine nicht fallende Stufenfunktion aus dem L2-Snapshot), fvf_v dessen Taker-Gebühr und λv\lambda_v eine Pro-Einheit-Strafe für Staleness und adverse Selektion am Handelsplatz vv (unten kalibriert, aus Ihren eigenen Markouts). Die Allokation q=(q1,,qV)q = (q_1, \dots, q_V) löst

minq0,  vqv=Q    v=1VCv(qv),Cv(qv)=(1+fv)0qvAv(x)dx  +  λvqv.\min_{q \ge 0,\; \sum_v q_v = Q} \;\; \sum_{v=1}^{V} C_v(q_v), \qquad C_v(q_v) = (1+f_v)\int_0^{q_v} A_v(x)\,dx \;+\; \lambda_v\, q_v .

Jedes CvC_v ist konvex (Integral einer nicht fallenden Funktion, plus ein linearer Term), das Problem ist also konvex, und die KKT-Bedingungen liefern die ganze Geschichte: Es existiert ein Schwellenwert μ\mu, sodass

Cv(qv)=(1+fv)Av(qv)+λv=μfu¨r jeden Handelsplatz mit qv>0,C_v'(q_v^*) = (1+f_v)\,A_v(q_v^*) + \lambda_v = \mu \quad \text{für jeden Handelsplatz mit } q_v^* > 0,

und Cv(0)μC_v'(0) \ge \mu für Handelsplätze, die nichts erhalten. In Worten: Verteilen Sie die Order wie Wasser über die Handelsplätze und gleichen Sie überall, wo Sie handeln, die marginalen All-in-Kosten aus. Ein Handelsplatz wird genau dann ausgeschlossen, wenn seine erste Einheit — bester Preis plus Gebühr plus Staleness-Strafe — schlechter ist als die marginale Einheit anderswo.

Water-Filling-Allokation, die marginale Kosten über Kostenkurven verschiedener Handelsplätze hinweg ausgleicht

Für Stufenfunktions-Orderbücher wird die Water-Filling-Lösung durch einen gierigen Durchlauf über die gebühren- und straf-adjustierte zusammengeführte Ladder berechnet — der gierige Tiefendurchlauf ist also nicht per se falsch; er ist die exakte Lösung, vorausgesetzt, Sie durchlaufen gierig die marginalen Nettokosten mit Haircut-Größen, nicht die rohen angezeigten Preise. Diese Unterscheidung ist der gesamte Unterschied zwischen einem Router und einem Bildschirmschoner.

Die kanonische Behandlung des allgemeinen Problems stammt von Cont and Kukanov, "Optimal order placement in limit order markets" (Quantitative Finance 17(1), 21–39, 2017; arXiv:1210.1625). Sie formulieren die Orderplatzierung über Handelsplätze hinweg — einschließlich der Aufteilung zwischen Limit- und Market-Orders, Gebühren und Rebates, sowie einer Strafe für Ausführungsrisiko — als konvexe Optimierung, leiten eine explizite geschlossene Form für die Single-Venue-Limit/Market-Aufteilung her und liefern einen Stochastic-Approximation-Algorithmus für den Multi-Venue-Fall, der eine Allokation über zwölf Börsen in unter 200 ms berechnet. Das Framework stammt aus der Vor-Crypto-Zeit, lässt sich aber nahezu unverändert übertragen, weil es nie ein NBBO vorausgesetzt hat — es setzte lediglich venue-spezifische Orderbücher, venue-spezifische Gebühren und Unsicherheit über Fills voraus, genau die Crypto-Situation.

Eine minimale, ehrliche Skizze der marktfähigen Seite (das konvexe Water-Filling mit Staleness-Haircuts):

import math
from dataclasses import dataclass

@dataclass
class Venue:
    name: str
    asks: list[tuple[float, float]]  # (price, displayed size), sorted
    taker_fee: float                 # fractional, e.g. 0.0002 = 2 bps
    quote_age_ms: float
    kappa: float                     # phantom-liquidity decay rate, 1/ms
    lam: float                       # staleness/toxicity penalty, $ per unit

def allocate(venues: list[Venue], Q: float):
    ladder = []  # (marginal all-in cost, accessible qty, venue)
    for v in venues:
        surv = math.exp(-v.kappa * v.quote_age_ms)  # P(level still there)
        for price, size in v.asks:
            cost = price * (1.0 + v.taker_fee) + v.lam
            ladder.append((cost, size * surv, v.name))
    ladder.sort()

    fills, remaining = {}, Q
    for cost, qty, name in ladder:
        take = min(qty, remaining)
        fills[name] = fills.get(name, 0.0) + take
        remaining -= take
        if remaining <= 1e-12:
            break
    return fills, remaining  # remaining > 0 => book too thin: slice parent

Sechzehn Zeilen Logik; die gesamte Intelligenz steckt in den Eingaben. κ\kappa (wie schnell angezeigte Größe mit dem Quote-Alter verdunstet) wird aus Ihren eigenen IOC-Fill-Ratios als Funktion des Quote-Alters zum Sendezeitpunkt kalibriert. λv\lambda_v stammt aus venue-spezifischen Markouts (letzter Abschnitt). Beide werden gemessen, nicht geraten.

Ein durchgerechnetes Beispiel. Kauf von Q=10Q = 10 BTC über drei Handelsplätze:

Handelsplatz Taker-Gebühr Quote-Alter Asks (Preis × Größe)
A (tief, frisch) 2,0 Bps 10 ms 87.000 × 3,0; 87.010 × 4,0; 87.025 × 6,0
B (günstige Gebühr, veraltet) 1,0 Bps 250 ms 86.995 × 1,5; 87.015 × 2,0
C (bester Headline-Preis, fette Gebühr) 7,5 Bps 20 ms 86.990 × 2,0; 87.000 × 3,0

Das Roh-Tape sagt, C hat den besten Ask (86.990), dann B. Gebührenadjustiert ordnet sich die Ladder komplett neu: C's Top-Level netto 86.990×1,00075=87.05586{.}990 \times 1{,}00075 = 87{.}055, die schlechteste Liquidität auf dem Screen. B's Top nettet 87.004, A's nettet 87.017. Wenden Sie einen 30-%-Staleness-Haircut auf B's angezeigte Größe an (eκ250ms0,7e^{-\kappa \cdot 250\text{ms}} \approx 0{,}7) und water-fillen Sie: 1,05 BTC von B's erstem Level, 3,0 von A's erstem, 1,4 von B's zweitem, 4,0 von A's zweitem, 0,55 von A's drittem. All-in-Durchschnitt: 87.022,2 USD pro BTC. Der naive Best-Displayed-Price-Router — zuerst C, dann B zu Nennwert-Größe, dann C's zweites Level — zahlt 87.038,8 USD: 1,9 Bps schlechter, etwa 166 USD bei einer einzigen 10-BTC-Child-Order, was sich über jede Child-Order jeder Parent-Order den ganzen Tag summiert. Und beachten Sie die Pointe: Der Handelsplatz mit dem besten angezeigten Preis auf dem Tape erhielt null Flow vom optimierten Router. In Crypto zwingt Sie niemand, dort zu handeln — Routing durch ein "geschütztes Quote" ist kein existierendes Konzept —, und die korrekte Allokation ignoriert häufig den scheinbar besten Preis vollständig.

Was das konvexe Programm noch ignoriert: Simultanität (feuern Sie alle Venue-Children in derselben Millisekunde ab, sonst werden van Kervels Stornierungen die Handelsplätze während der Ausführung neu bepreisen), diskrete Lot-Größen und Mindest-Notionals (runden Sie die kontinuierliche Lösung, korrigieren Sie gierig nach), sowie die Option, den Spread überhaupt nicht zu überqueren — das Thema von Abschnitt 5. Für die tiefere Frage, wie große Parent-Orders zeitlich zerlegt werden sollten, bevor überhaupt diese Venue-Logik läuft, siehe Almgren–Chriss Optimal Execution; SOR entscheidet, wohin eine Child-Order geht, nicht wann Children entstehen.

Die Kapitalrestriktion: SOR ist Treasury-Management

Alles oben Genannte hat stillschweigend vorausgesetzt, dass Sie qvq_v am Handelsplatz vv handeln können. Im Aktienhandel ist diese Annahme kostenlos: ein Prime Broker, verrechnetes Settlement, jetzt handeln und später Geld bewegen. In Crypto ist sie die bindende Restriktion des gesamten Systems. Börsen verlangen vorfinanzierte Guthaben — Sie können Krakens Ask nicht mit USDT heben, das auf Binance liegt. Das wahre Problem lautet also

minq0,  qv=QvCv(qv)u.d.N.qvBv    v,\min_{q \ge 0,\; \sum q_v = Q} \sum_v C_v(q_v) \quad \text{u.d.N.} \quad q_v \le B_v \;\; \forall v,

wobei BvB_v Ihr verfügbares Guthaben am Handelsplatz vv ist (in der Quote-Assetklasse für Käufe, Base für Verkäufe). Die KKT-Bedingungen lauten nun Cv(qv)=μηvC_v'(q_v^*) = \mu - \eta_v mit ηv0\eta_v \ge 0 als Multiplikator für die Guthabenobergrenze. Bei gedeckelten Handelsplätzen gilt ηv=μCv(Bv)>0\eta_v = \mu - C_v'(B_v) > 0: Der marginale Dollar dort wird günstiger ausgeführt als das marktweite Wasserniveau, und Sie sind gezwungen, Flow zu teureren Handelsplätzen zu drängen. Dieser Multiplikator ist keine Abstraktion — ηv\eta_v sind buchstäblich die Dollar pro Einheit, die Sie sparen würden, wenn jetzt sofort eine weitere Einheit Guthaben am Handelsplatz vv existierte. Summiert über Ihren prognostizierten Flow ist er Ihre Zahlungsbereitschaft für einen Rebalancing-Transfer, und die Rebalance-Entscheidung wird zu einem Vergleich, den jedes Treasury-System ausführen kann: Bewegen Sie Inventar, wenn

E ⁣[zuku¨nftige Childrenηv]  >  Transfergebu¨hr+erwartete Gegenbewegung wa¨hrend der Transferlatenz.\mathbb{E}\!\left[\textstyle\sum_{\text{zukünftige Children}} \eta_v \right] \;>\; \text{Transfergebühr} + \text{erwartete Gegenbewegung während der Transferlatenz}.

Die rechte Seite ist weder klein noch konstant. On-Chain-BTC benötigt 2–6 Bestätigungen (20–60 Minuten), bevor Börsen es gutschreiben; ERC-20-Transfers dauern Minuten plus Gas, das genau dann in die Höhe schießt, wenn die Märkte beschäftigt sind; TRC-20- und Solana-Schienen sind schneller und günstiger, aber nicht universell unterstützt; und jede Börse fügt ihre eigene Auszahlungs-Warteschlange hinzu, die sich präzise während Volatilitätsereignissen von Minuten auf Stunden dehnt — genau dann, wenn Ihr Router das Inventar am dringendsten bewegt haben will. Die vollständige Transferkosten-Arithmetik — Gebühren, Latenzverteilungen und das Preisrisiko, das Sie während des Transports tragen — wird in dem Artikel zur Funding-Rate-Arbitrage durchgerechnet, und sie überträgt sich wortwörtlich: Ein SOR-Rebalance ist dasselbe Objekt wie ein Arbitrage-Bein-Transfer, Kostenseite inklusive.

Deshalb ist das hier zu verinnerlichende akademische Ergebnis kein Execution-Paper, sondern Makarov and Schoar (2020), "Trading and Arbitrage in Cryptocurrency Markets" (Journal of Financial Economics 135(2), 293–319). Sie dokumentierten grenzüberschreitende Preisabweichungen, die Tage bis Wochen anhalten — einschließlich der koreanischen "Kimchi-Prämie", die Anfang 2018 40 % überstieg — und zeigten, dass Transaktionskosten dies nicht erklären können; langsam bewegliches, kapitalkontrolliertes Arbitragekapital hingegen schon. Crypto-Handelsplätze sind nicht O'Hara–Yes "einziger virtueller Markt mit mehreren Zugangspunkten". Sie sind teilweise segmentierte Pools, verbunden durch langsame, kostspielige Leitungen, und Ihr Router lebt innerhalb dieser Segmentierung. Ein Crypto-SOR ohne Treasury-Modell ist ein Aktien-SOR im Kostüm.

Schneller Routing-Loop, der innerhalb der Guthaben allokiert, langsamer Treasury-Loop, der Inventar neu positioniert

In der Praxis wird das zu einem Zwei-Zeitskalen-Controller. Der schnelle Loop (Millisekunden) löst das restringierte Water-Filling innerhalb der aktuellen Guthaben, für jede Child-Order. Der langsame Loop (Minuten bis Stunden) beobachtet die Zeitreihe der Schattenpreise ηv\eta_v und des prognostizierten Flows und plant Transfers, wenn die persistente Komponente von ηv\eta_v die Transferkosten-Hürde überwindet — mit Hysterese, denn Inventar auf Rauschen zwischen Handelsplätzen hin- und herzuschieben ist die Art, wie man seinen Edge an das Tron-Netzwerk verschenkt. Institutionelle Desks komprimieren das Problem mit Off-Exchange-Settlement (Copper ClearLoop, Ceffu MirrorX): Sicherheiten liegen bei einem Verwahrer und werden zu Handelsplätzen gespiegelt, was die Transferlatenz für unterstützte Handelsplätze drastisch verkürzt — es verengt die Restriktion, löscht sie aber nicht, und es führt eine eigene Gegenparteirisiko-Position ein.

Maker-bewusstes Routing und Cross-Venue-Queue-Spiele

Ein Router, der nur Spreads überquert, lässt die günstigste Liquidität ungekauft liegen: Ihre eigene. Das Cont–Kukanov-Framework enthält die Antwort bereits — ihre geschlossene Single-Venue-Form teilt eine Order zwischen Posten und Nehmen auf Basis von Gebühren, Warteschlangenposition und Ausführungsrisikoaversion auf — und die Multi-Venue-Version verallgemeinert dies: passiv posten an Handelsplätzen, wo (Maker-Gebühr, Warteschlangenlänge, Fill-Wahrscheinlichkeit innerhalb der Child-Deadline) dominieren, nehmen an Handelsplätzen, wo Sofortigkeit günstig ist, und den ungefüllten passiven Rest als Flow behandeln, der zur Deadline wieder in die Taker-Optimierung eintritt.

Zwei crypto-spezifische Besonderheiten machen dies reichhaltiger als die Aktien-Version.

Fee-Chasing ist eine nachgewiesene Falle. Battalio, Corwin, and Jennings (2016), "Can Brokers Have It All? On the Relation between Make-Take Fees and Limit Order Execution Quality" (Journal of Finance 71(5)), zeigten, dass US-Broker, die Limit-Orders zu den Handelsplätzen mit dem höchsten Rebate routeten, messbar schlechtere Ausführungen lieferten — niedrigere Fill-Raten, schlechtere realisierte Qualität —, weil der Rebate-Handelsplatz genau dort ist, wo auch die Order jedes anderen Rebate-Suchenden liegt: die längste Warteschlange, die adversesten Fills. Das Crypto-Analogon ist exakt. Der Handelsplatz mit dem besten Maker-Rebate zieht die passiven Quotes jedes Market-Makers an; Ihre Order reiht sich in eine tiefe Warteschlange ein und füllt sich überwiegend genau dann, wenn der Preis dabei ist, durch Sie hindurchzuhandeln. Venue-spezifische Netto-nach-Markout-Maker-Ökonomie (nächster Abschnitt) rankt Handelsplätze regelmäßig entgegengesetzt zu ihren Gebührenordnungen.

Latenz-Skew ist ein zweiseitiges Spiel. Derselbe venue-übergreifende Informationsfluss, den van Kervel als defensive Stornierungen dokumentierte, ist von der anderen Seite betrachtet ein offensives Signal: Ein Trade am Top of Book von Binance prognostiziert Trades und Stornierungen am entsprechenden Level von OKX innerhalb von Millisekunden. Ein maker-bewusster Router muss daher (a) seine ruhenden Orders auf Basis von Events anderer Handelsplätze neu bepreisen — anhand eines venue-übergreifenden Mikropreises pegged, nicht des lokalen Mid —, sonst wird er zur langsamen Gegenpartei, die venue-übergreifende Arbitrageure abschöpfen; und (b) er kann das Spiel bewusst spielen: posten am Handelsplatz, der hinterherhinkt, hedgen am Handelsplatz, der im Moment des Fills vorausläuft. Das ist venue-übergreifende Queue-Arbitrage, und es ist dieselbe Latenzstruktur, die in Cross-Exchange Arbitrage Execution ausgenutzt wird — nur eingebettet in ein Execution-Mandat statt in ein Stat-Arb-Buch. Die operative Anforderung ist identisch: Das Fill-Event an Handelsplatz A und die Hedge-Order zu Handelsplatz B müssen im selben einstelligen Millisekunden-Codepfad leben, sonst gehört der Edge jemand anderem.

Routing-Qualität messen: Markouts und Ranglisten

Aktien-Router werden durch die Rule-605/606-Offenlegung diszipliniert. Nichts diszipliniert Ihren außer Ihrer eigenen TCA — das Framework aus Implementation Shortfall und TCA ist die Anzeigetafel; hier ist der router-spezifische Ausschnitt davon.

Die atomare Messung ist der venue-spezifische Markout: Für jeden Fill wird der (konsolidierte, latenzkorrigierte) Mid zu t+Δt + \Delta für Δ{100ms,1s,10s,1min}\Delta \in \{100\text{ms}, 1\text{s}, 10\text{s}, 1\text{min}\} erfasst, vorzeichenbehaftet, sodass negativ bedeutet, dass sich der Markt gegen Ihren Fill bewegt hat. Aggregieren Sie zu einer All-in-Rangliste:

Handelsplatz Taker-Fill-Anteil Eff. Spread (Bps) Gebühr (Bps) Markout 1s (Bps) All-in-Kosten (Bps)
A 46 % 1,4 2,0 −0,6 4,0
B 31 % 1,9 1,0 −2,1 5,0
C 23 % 1,2 7,5 −0,4 9,1

Die Gebührenspalte sagt, B sei der günstige Handelsplatz. Die All-in-Spalte sagt, B sei der teure Handelsplatz: Seine veralteten Quotes füllen Sie selektiv genau dann, wenn der Markt bereits durch sie hindurchläuft, und der 1-Sekunden-Markout kassiert die Rechnung. Diese Umkehrung — Gebühren-Ranking versus Effektivkosten-Ranking — ist der mit Abstand konsistenteste Befund, wenn Desks diese Tabelle zum ersten Mal bauen, und es ist genau die Zahl, die zurück in den Router gehört: Die λv\lambda_v-Strafe des konvexen Programms ist das persistente venue-spezifische Markout-Defizit, gemessen, geglättet und aktualisiert. Router und TCA bilden einen geschlossenen Regelkreis, oder keines von beiden funktioniert.

Eine methodische Falle: Ranglisten, die aus einem Live-Router aufgebaut werden, sind durch Selektionsverzerrung kontaminiert. Wenn der Router bereits den schwierigen, informierten Flow an den tiefen Handelsplatz und den einfachen Flow an den günstigen sendet, sehen die Markouts des tiefen Handelsplatzes unfair schlecht aus. Die saubere Lösung ist bewusste Randomisierung — routen Sie einige Prozent der Children uniform zufällig (ein ε\varepsilon-greedy Router, den Quants als Bandit mit einem konvex-optimierungsbasierten Prior erkennen werden) —, sodass ein Gegenfaktisches existiert. Es kostet Basispunkte auf dem randomisierten Anteil, und es ist der einzige Weg, auf dem nachweislich sichergestellt wird, dass die übrigen 95 % des Flows gut geroutet werden.

Der Stack lautet also: ein latenzehrliches konsolidiertes Orderbuch; ein konvexes Water-Filling über Netto-Marginalkosten mit gemessenen Verdunstungs- und Toxizitätsparametern; ein guthabenrestringierter schneller Loop, dessen Schattenpreise einen transferkostenbewussten langsamen Loop antreiben; passive Platzierung, die Warteschlangen und venue-übergreifenden Informationsfluss respektiert; und randomisierte, markout-basierte TCA, die jeden Parameter zurückspeist. Keine dieser Komponenten ist für sich genommen tiefgründig. Das System ist es — denn in Crypto hat, anders als im Aktienhandel, kein Regulator irgendeine Schicht davon für Sie gebaut, und der Markt berechnet 2 Bps pro Child-Order, für immer, bis Sie es selbst tun.

blog.disclaimer

Authors

Eugen Soloviov
Eugen Soloviov

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.

Newsletter

Dem Markt einen Schritt voraus

Abonniere unseren Newsletter für exklusive KI-Trading-Einblicke, Marktanalysen und Plattform-Updates.

Wir respektieren deine Privatsphäre. Jederzeit abbestellbar.