Wenn das Orderbuch auf Trading-Bildschirmen in einem hektischen Markt einfriert oder springt, liegt der Fehler meist im Marktdaten-Feed. Er verliert Updates beim Eingang, setzt das Orderbuch falsch zusammen oder sendet es zu langsam an Hunderte Bildschirme. Messen Sie zuerst Ihre Spitzenstunde und testen Sie dann jede Firma mit einer Aufzeichnung dieses Tages.
Wenn das Orderbuch auf Ihren Trading-Bildschirmen in einem hektischen Markt einfriert, springt oder unmögliche Preise zeigt, liegt der Fehler meist an einer von drei Stellen. Updates gehen dort verloren, wo der Börsen-Feed hereinkommt, das Orderbuch wird falsch zusammengesetzt, oder es erreicht Hunderte Bildschirme zu langsam. Messen Sie Ihre Spitzenstunde, bevor Sie jemanden beauftragen, und testen Sie dann jede Firma, die Sie in Betracht ziehen, mit einer Aufzeichnung dieses Tages.
Die kurze Antwort: Eine Börse nummeriert jedes Update, das sie sendet. Ein gut gebautes System bemerkt eine fehlende Nummer sofort, markiert das Orderbuch als veraltet und baut es neu auf. Probleme beginnen, wenn die Lücke unbemerkt bleibt oder der Neuaufbau Sekunden dauert oder wenn eine einzige langsame Verbindung alle Trader aufhält. Zeichnen Sie den Feed Ihres Tages mit der höchsten Last auf und machen Sie ein Replay davon zu dem Test, den jede Firma bestehen muss: bevor Sie ein Produkt kaufen, und als Abnahmekriterium der ersten Phase, wenn ein Team für Sie baut.
Lesen Sie auch
Es zeigt sich in den hektischsten Momenten, etwa bei einer Ankündigung der Zentralbank oder zur Markteröffnung. Das Orderbuch auf dem Bildschirm bleibt ein, zwei Sekunden stehen und springt dann. Stornierte Orders bleiben sichtbar. Manchmal liegt der höchste Preis, den ein Käufer bietet, über dem niedrigsten Preis, den ein Verkäufer verlangt; das nennt man ein gekreuztes Orderbuch. An einer einzelnen Börse würden solche Orders außerhalb der Eröffnungs- und Schlussauktion sofort gegeneinander ausgeführt. Ein gekreuztes Orderbuch für eine einzelne Börse auf Ihrem Bildschirm bedeutet also, dass Ihre Kopie dieses Orderbuchs falsch ist.
Dann bekommt der Support Screenshots von zwei Tradern, die für dasselbe Instrument unterschiedliche Orderbücher sehen. Oder ein Trader bestreitet den Preis, zu dem eine Order ausgeführt wurde, weil der Bildschirm einen anderen gezeigt hat.
Der Orderbuch-Feed einer Börse ist ein Strom kleiner Änderungen: Eine Order kommt hinzu, eine Order wird storniert, ein Trade findet statt. Ihr System startet mit einer vollständigen Kopie des Orderbuchs, einem sogenannten Snapshot, und wendet die Änderungen der Reihe nach an. Jede Änderung ist nummeriert, sodass sich eine fehlende erkennen lässt. In der Spezifikation von Nasdaq für den Feed TotalView-ITCH 5.0 heißt es, der Feed „besteht aus einer Reihe sequenzierter Nachrichten“, also aus fortlaufend nummerierten.
In einem hektischen Markt steigt der Strom der Änderungen stark an. Manche gehen unterwegs oder in Ihren eigenen Servern verloren, manche treffen in falscher Reihenfolge ein. Übersieht das System die Lücke, wendet es an, was gerade ankommt, und zeigt ein Orderbuch, das nicht mehr mit dem der Börse übereinstimmt. Bemerkt es die Lücke, braucht aber Sekunden, um sich zu erholen, steht der Bildschirm still.
Börsen rechnen damit, dass ihre Kunden Updates verlieren. In der Dokumentation der CME Group zu ihrem Feed MDP 3.0 heißt es, nach einer Lücke sei „davon auszugehen, dass alle im System des Kunden geführten Orderbücher möglicherweise nicht mehr den korrekten, aktuellen Stand haben“.
Es gibt drei Stellen, und jede braucht ihre eigene Lösung. Die dritte nennen Engineers Fan-out, weil sich ein einziger Strom von Updates fächerförmig auf viele Bildschirme verteilt. Der oben verlinkte technische Artikel behandelt alle drei im Detail.
Die erste Stelle ist der Eingang, an dem der Börsen-Feed ankommt. Manche Börsen bieten Wege, verlorene Daten zurückzubekommen. Eines der Übertragungsprotokolle von Nasdaq, MoldUDP64, ermöglicht es Empfängern, „verpasste Pakete zu erkennen und erneut anzufordern“. Die CME sendet ihren Stream doppelt, auf Leitungen namens A und B, und betreibt einen separaten Feed mit Snapshots, um Orderbücher auf den aktuellen Stand zu bringen. Nichts davon hilft, wenn Ihr System die Lücke nicht bemerkt.
Dann wird das Orderbuch zusammengesetzt, und hier besteht die Gefahr, dass eine Änderung doppelt, in falscher Reihenfolge oder auf den falschen Snapshot angewendet wird. Binance, eine Krypto-Börse, beschreibt in ihrem Leitfaden die genauen Schritte, mit denen ein Snapshot an den Live-Stream angeschlossen wird. Ein Orderbuch, das ohne sie aufgebaut wird, zeigt trotzdem Preise und sieht gut aus, aber die Preise sind falsch.
Zuletzt kommt der Fan-out, bei dem das Orderbuch an Hunderte Trader-Sessions geht, eine für jeden verbundenen Bildschirm. Ein Trader mit schwacher Mobilverbindung oder ein Terminal, das hängt, liest Updates langsam. Wartet der Server auf diese Session, warten alle anderen Sessions mit. Den Rückstau an Updates für diese Session unbegrenzt wachsen zu lassen, ist nicht besser, denn dann geht dem Server der Speicher aus, und er versagt für alle.
In einem gut gebauten System bringt der Server die Updates einmal in die richtige Reihenfolge und sendet dasselbe Ergebnis an jede Session. Eine Session, die zurückfällt, bekommt entweder das aktuelle Bild des Orderbuchs und überspringt die Zwischenschritte, oder der Server trennt sie unter Angabe eines Grundes, und der Bildschirm verbindet sich mit einer frischen Kopie neu. Ein Feed kann an mehr als einer Stelle gleichzeitig versagen.
Nehmen Sie die Stunde mit der höchsten Last im letzten Monat und erfassen Sie für sie diese Zahlen:
Zeichnen Sie dann den Roh-Feed eines Tages mit hoher Last genau so auf, wie er ankam, mit der Ankunftszeit jedes Pakets. Ein Replay dieser Aufzeichnung in Originalgeschwindigkeit und schneller ist der Test, den Sie jeder Firma auf Ihrer Liste stellen und nach jeder Reparatur wiederholen.
Die Software, die einen Börsen-Feed aufnimmt und das Orderbuch führt, heißt Feed-Handler. Sie haben drei Wege, und Ihre Messungen sollten auf einen davon hindeuten. Die letzten beiden lassen sich kombinieren.
Reparieren Sie Ihren vorhandenen Feed-Handler, wenn die Messungen auf einen klaren Fehler hindeuten, etwa unbemerkte Lücken oder einen langsamen Neuaufbau, und die Leute, die den Code kennen, noch da sind.
Ein fertiger Feed-Handler ist lizenzierte Software, die sich mit einer Börse verbindet, Lücken erkennt und Ihrem System ein korrektes, aktuelles Orderbuch übergibt. Ein Managed Feed geht weiter: Ein Marktdatenanbieter bindet die Börsen an, und Sie beziehen von ihm einen einzigen Stream in einem einheitlichen Format.
Bauen Sie die Schicht neu, die Daten an die Trader sendet, wenn der Eingang funktioniert, die Probleme aber bleiben. Trader sehen weiterhin unterschiedliche Orderbücher, eine langsame Session bremst die übrigen aus, oder Sie planen, deutlich mehr Sessions zu bedienen als heute.
Unterziehen Sie jede Firma auf Ihrer Liste denselben fünf Tests:
amBrain baut Infrastruktur für den algorithmischen Handel: Orderausführung, Marktdaten und Pre-Trade-Risikokontrollen.
Eine Zeile auf der Website von amBrain lautet: „Entwicklung von Trading-Terminals, Order-Management-Systemen und FIX-Protokoll-Anbindung an Börsen.“
amBrain diagnostiziert langsame Trading- und AdTech-Systeme: Die laufende Plattform wird durchgängig vermessen, und der Bericht benennt, wohin die Zeit geht.
amBrain entwickelt seit 2019 Software. Sein Team beschreibt es in einer Zeile: „Ein Team von bis zu 40 Personen, davon etwa 75% Senior.“ Es arbeitet in drei Formaten: vollständige Umsetzung, ein dediziertes Team oder in Ihr Team eingebettete Entwickler. Der Kunde behält das volle Eigentum an Produkt und Code, ausgenommen die wiederverwendbaren Komponenten von amBrain.
Dieser Artikel ist keine Case Study und beschreibt keine Arbeit für Kunden. Er nennt keinen Latenzwert für irgendein System, das amBrain gebaut hat, und weder Preise noch Zeitpläne.
Wenn amBrain auf Ihrer Shortlist steht, stellen Sie ihm dieselben fünf Fragen wie jeder anderen Firma, und machen Sie Ihre Aufzeichnung zum Abnahmekriterium für jede Arbeit, die Sie vereinbaren.
Bringen Sie Ihre aktuelle Architektur und den Fehlerfall mit, der Sie beunruhigt - wir gehen ihn in einer halben Stunde gemeinsam durch.