Orderflow messen: Rücksetzungen, Einheiten und Datenzeitpunkte · 4 / 5
Orderflow-Vorlauf: Ereigniszeit und Empfangszeit sauber abstimmen
Ein Trade kann vor einer Kursbewegung stattfinden und erst danach bei deinem System ankommen. Ein nach Börsenzeit sortierter Datensatz kann dadurch einen vermeintlichen Vorlauf zeigen, der live nicht nutzbar war. Bewahre Ereignis- und Empfangszeit auf.
Athenum7 Min.Aktualisiert:
Drei unterschiedliche Zeitstempel erhalten
Die Ereigniszeit benennt die Ausführung laut Börse. Die Nachrichtenerzeugung benennt den Aufbau des Updates. Die lokale Empfangszeit benennt dessen Ankunft beim Collector. Bündelung, Netzlaufzeit, Wiederverbindung und Uhrenabweichungen können diese Zeitpunkte auseinanderziehen.
Lies die Felddefinition der Börse statt aus einem kurzen Namen zu raten. Bybit unterscheidet im öffentlichen Trade-Feed Ausführungszeit und Nachrichtenerzeugung. Keine davon ist automatisch deine Empfangszeit. Erfasse den lokalen Eingang beim Import einschließlich Zeitzone, Genauigkeit und Informationen zur Uhrensynchronisation.
Nur damals verfügbare Informationen nachspielen
Eine Entscheidung zur lokalen Zeit t darf nur Beobachtungen nutzen, die bis t empfangen wurden; anschließend gilt die normale Verarbeitungslatenz. Eine spätere Korrektur kann die historische Anzeige verbessern, aber nicht früheres Wissen verändern. Bewahre zuerst empfangene Werte und spätere Versionen getrennt auf.
Börsenübergreifende Vorlaufanalysen benötigen zusätzlich Grenzen für Uhrenfehler. Ein gemessener Vorlauf von 20 Millisekunden überzeugt nicht bei möglicher Uhrenabweichung von 100 Millisekunden. Auch verlässliche zeitliche Reihenfolge beweist keine Ursache und keine nach Kosten, Latenz und Ausführung nutzbare Gelegenheit.
Rechenbeispiel: ein scheinbarer Vorlauf ist erst nach der Entscheidung verfügbar
Im konstruierten Ablauf findet Trade A um 12:00:00.100 statt und erreicht den Collector erst bei .400. Kursupdate B ereignet sich bei .200 und kommt bei .220 an. Nach Ereigniszeit liegt A 100 Millisekunden vor B. Tatsächlich empfängt die Anwendung B jedoch 180 Millisekunden vor A.
Eine Entscheidung bei .250 kennt B, aber nicht A. Ordnet ein Backtest A in die Ereigniszeile .100 ein und handelt damit bei .250, verwendet er Zukunftswissen. Frühestens ab .400 zuzüglich Verarbeitungs- und Orderlatenz ist A nutzbar. Dann können Gelegenheit und ausführbare Kurse bereits anders aussehen.
| Beobachtung | Ereigniszeit | Lokaler Empfang | Bei .250 verfügbar? |
|---|---|---|---|
| Trade A | 12:00:00.100 | 12:00:00.400 | Nein |
| Kurs B | 12:00:00.200 | 12:00:00.220 | Ja |
Diagramm vergrößern- .100: Trade A findet statt
- .220: Kurs B erreicht den Collector
- .250: Entscheidung kennt nur B
- .400: Trade A kommt an
Eine Wiederverbindung ist kein frischer Handelsschub
Gepufferte Nachrichten können nach einer Wiederverbindung gleichzeitig eintreffen, obwohl ihre Trades älter sind. Hohe Empfangsrate kann daher Netzwerkaufholung statt Marktaktivität bedeuten. Bewahre IDs, dedupliziere anhand korrekter Trade-Identität und prüfe Ereigniszeiten. Unterschiedliche Trades dürfen nicht verschwinden, nur weil sie dieselbe Nachricht oder Sequenznummer teilen.
Vor der Entscheidung
- Ereignis-, Nachrichten- und lokale Empfangszeit speichern.
- Entscheidungen anhand tatsächlich empfangener Informationen nachspielen.
- Verspätungen und Korrekturen nicht in früheres Wissen verschieben.
- Behaupteten Vorlauf mit Uhrenfehlern und Ausführungslatenz vergleichen.
Prüfe dein Verständnis
Trade X hat Ereigniszeit .120 und Empfang .310. Kurs Y hat Ereigniszeit .180 und Empfang .210. Darf eine Entscheidung bei .250 X zur Vorhersage von Y nutzen?
Lösung mit Erklärung anzeigen
Nein. X fand zwar 60 Millisekunden vor Y statt, kommt aber 100 Millisekunden nach Y und 60 Millisekunden nach der Entscheidung an. Bei .250 kennt die Strategie Y, nicht X. Eine Verwendung von X wäre unabhängig von der Ereignissortierung ein Verfügbarkeitsfehler.