Das Buch
Jedes Instrument hat sein eigenes Buch, im Arbeitsspeicher gehalten als drei zusammenwirkende Strukturen:Slab Arena – vorab reservierter Bereich mit Order-Slots
Preisebenengeordnet, Preis → Ebenedie Spitze findet man am Ende, nicht durch Suchen
Order-IndexOrder-ID → SlotStornieren, Ändern: konstante Zeit
Order
Order
Order
Order
Order
Doppelt verkettet in Eintreffreihenfolge – die Priorität in einer Ebene ergibt sich aus der Position, nicht aus einer Rechnung.
Warum feste WiederverwendungFreigegebene Slots werden in fester Reihenfolge wiederverwendet, der Index hat festen Seed. Keine Performance-Frage: Zwei Validatoren mit anderer Reihenfolge forken.
Kopf jeder Ebene
direkter Zugriff
Orders liegen in einer Slab Arena – einem vorab reservierten Bereich mit Allokation und Freigabe in konstanter Zeit. Orderbuchoperationen allokieren deshalb nicht auf dem heißen Pfad, und freigegebene Slots werden in einer festen Reihenfolge wiederverwendet und nicht dort, wo der Allokator sie zufällig ablegt. Dieses letzte Detail ist keine Performance-Entscheidung: Würden zwei Validatoren Slots in unterschiedlicher Reihenfolge wiederverwenden, liefe alles auseinander, was das Slot-Layout beobachtet.
Dieselbe Disziplin gilt für den Order-Index, dessen Seed fest und nicht zufällig ist. Eine Hash-Map mit prozessindividuellem Seed ist ein üblicher Schutz gegen Kollisionsangriffe; auf einem Konsens-Ausführungspfad ist sie ein Fork.
Preise sind durchgehend ganze Zahlen – Subtick-Einheiten, keine Dezimalzahlen. Wie sich das auf das abbildet, was Sie absenden, steht unter Präzision.
Priorität
Priorität ist zuerst der Preis, dann die Position in der Kette zu diesem Preis. „Zeit“ ist die kanonische Position der Order in der festgeschriebenen Blockreihenfolge, nicht der Moment, in dem sie bei einer Node ankam. Das beseitigt das Latenzrennen innerhalb eines Blocks. Zwei Orders im selben Block haben einen definierten Vorrang, den jeder Validator identisch berechnet, und keine noch so große Nähe zu einer bestimmten Node ändert daran etwas. Zwischen Blöcken zählt das Eintreffen weiterhin – aber die Einheit des Wettbewerbs ist der Block, nicht die Mikrosekunde. Die Stufenreihenfolge des Kernels verstärkt das: Stornierungen werden innerhalb eines Blocks vor aggressiven Platzierungen ausgeführt, sodass eine liegende Quotierung nicht von einer Order genommen werden kann, die im selben Block eintraf wie ihre Stornierung.Eine Order matchen
Eingehende Order
Kreuzt das Buch?
Beste Gegenebene abarbeiten
Ausführung erzeugen
Fertig
Liegen bleiben oder ablehnen, je GültigkeitsdauerGTC bleibt liegen · IOC storniert · FOK führt nur vollständig aus · Post-only wird abgelehnt statt zu kreuzen
Restmenge – nächste Ebene
nichts übrig
- GTC – die Restmenge bleibt im Buch liegen.
- IOC – die Restmenge wird storniert.
- FOK – kann die Order nicht vollständig ausgeführt werden, wird überhaupt nichts ausgeführt.
- ALO – Post-only: Würde die Order Liquidität nehmen, wird sie abgelehnt, statt zu kreuzen.
Selbstausführungsschutz
Trifft eine eingehende Order auf liegende Liquidität desselben Inhabers, wird das Match unterdrückt statt ausgeführt. Welche Seite weicht, ist konfigurierbar:
Auf diese Weise stornierte Maker-Orders werden während des Matchings gesammelt und im selben Block entfernt, sodass das Buch keine Order führt, die bereits unterdrückt wurde.
Für diese Prüfung gilt die Kontoebene, die das Buch mitführt. Die Sicht aus der Handelsperspektive steht unter Selbstausführungsschutz.
Was das Matching nicht tut
Es berechnet keine Gebühren, realisiert keine Gewinne und Verluste, passt keine Positionen an und prüft keine Margin. Das geschieht nach dem Matching in der Clearingstelle, angetrieben von den Ausführungen, die das Matching erzeugt hat. Es entscheidet auch nicht, ob eine Order überhaupt existieren durfte. Margin-Deckung, Limits für offene Orders, Reduce-only-Bedingungen und die Umwandlung von Market in Limit sind geklärt, bevor eine Order das Buch erreicht. Wenn der Matcher eine Order sieht, ist die einzige Frage, wohin sie im Buch gehört.Wie es weitergeht
Clearingstelle
Was mit Guthaben und Positionen geschieht, sobald Ausführungen vorliegen.
Ordertypen
Die Sicht aus der Handelsperspektive: was Sie absenden können und wie sich das jeweils verhält.
Orderbuch
Markttiefe, Ebenen und das Buch als Trader lesen.
IntentionKernel
Wo das Matching in der Blockausführung sitzt.