23. August 2026 · research

Dein Backtest hat ein Timing-Problem – auch wenn jeder Zeitstempel stimmt

Dein Backtest hat ein Timing-Problem – auch wenn jeder Zeitstempel stimmt

Der gefährlichste Timing-Fehler in einem Backtest kann selbst eine perfekte Prüfung der Zeitstempel überstehen. Zwei Ereignisse können beide mit 10:00:00.000 markiert sein und trotzdem in einer Reihenfolge stattgefunden haben, die dein Simulator nur geraten hat.

Das ist immer dann relevant, wenn eine Strategie auf mehr als abgeschlossene Bars reagiert: auf ein Quote-Update, einen Trade, eine Funding-Mitteilung, eine Statusänderung der Börse oder die Bestätigung der eigenen Order. Ein Zeitstempel sagt dir, wann ein Ereignis markiert wurde. Er sagt dir möglicherweise nicht, wann deine Strategie darauf reagieren konnte.

Was ändert die Ereignisreihenfolge?

Stell dir eine Strategie vor, die kauft, sobald der beste Ask unter $100.00 fällt. In derselben Millisekunde erfasst der Feed ein Ask-Update auf $99.99 und einen Trade zu $99.99. Verarbeitet dein Backtest zuerst den Trade und dann das Quote, sieht die Strategie den neuen Ask und gibt eine Order auf. Verarbeitet er zuerst das Quote, kann das ebenfalls passen, sofern das Ereignis tatsächlich verfügbar war. Wurde die angezeigte Liquidität aber vom Trade aufgebraucht, bevor die Order eintraf, ist ein Fill zu $99.99 reine Fiktion.

Wer Zeilen nur nach Zeitstempel sortiert, überlässt es dem Simulator, bei Ereignissen mit gleichem Zeitstempel eine Reihenfolge festzulegen. Dateireihenfolge, Symbolreihenfolge oder ein Datenbank-Abfrageplan können so unbeabsichtigt zur Ausführungsregel werden. Die Equity-Kurve kann sich ändern, obwohl die zugrunde liegenden Daten gleich geblieben sind.

So lässt sich gut erkennen, wie willkürlich das werden kann: Sortiere Ereignisse mit gleicher Zeit nach Symbolnamen statt nach Eingangsreihenfolge. Eine Multi-Asset-Strategie kann sich dann allein deshalb anders verhalten, weil ein Ticker alphabetisch vor einem anderen steht.

Welche Zeitstempel sollte ein Backtest erfassen?

Bei Marktdaten und der Orderverarbeitung spielen oft mehrere unterschiedliche Zeitpunkte eine Rolle. Bewahre die Felder auf, die deine Quelle bereitstellt, und benenne genau, was sie bedeuten. Bei vielen Feeds sind sowohl der Börsenzeitstempel als auch der lokale Empfangszeitstempel nützlich; keiner davon sagt uneingeschränkt aus, was alle Marktteilnehmer gesehen haben.

ZeitpunktWas er erfasstWas er allein nicht belegen kann
BörsenereigniszeitWann das Handelsplatzsystem angibt, dass ein Ereignis stattfandIn welcher Reihenfolge ein anderer Feed oder dein Prozess es beobachtet hat
EmpfangszeitWann dein Collector die Nachricht empfangen hatWann deine Strategie die Verarbeitung abgeschlossen hat
EntscheidungszeitWann dein Code das Signal ausgewertet hatDass der angegebene Preis weiterhin verfügbar war
Order-EingangszeitWann der Handelsplatz die Order ausführen konnteEinen Fill, sofern Matching-Regeln und Liquidität ihn nicht stützen

Bei historischen Daten ohne Empfangszeiten solltest du deine Annahmen offenlegen. Ein Backtest könnte Börsenereignisse in der erfassten Reihenfolge verarbeiten und eine feste Verzögerung von 5 ms zwischen Entscheidung und Order-Eingang ansetzen. Das ist ein Modell, keine rekonstruierte Historie. Fehlen Sequenznummern für Börsenzeitstempel mit gleichem Wert, ist auch deine Regel zur Auflösung solcher Gleichstände eine Annahme.

Wie modelliere ich Ereignisse mit gleichem Zeitstempel?

Bewahre zuerst die Sequenznummern der Quelle auf, sofern vorhanden. Innerhalb eines Feeds gibt eine Sequenznummer eine verlässlichere Reihenfolge vor als ein Zeitstempel. Die Sequenznummern können sich jedoch zwischen Kanälen oder Produkten unterscheiden.

Lege dann die Verarbeitungsregeln des Simulators ausdrücklich fest. Entscheide für jedes Ereignis, ob es den Informationsstand der Strategie aktualisieren, die verfügbare Liquidität verändern, eine Order auslösen oder eine Order bestätigen kann. Das sind unterschiedliche Vorgänge. Fasst man sie zu „Zeile verarbeiten“ zusammen, schleichen sich unmögliche Fills ein.

  1. Berücksichtige nur Marktinformationen, die bis zum Entscheidungszeitpunkt der Strategie eingetroffen sind.
  2. Erzeuge die Order und schreibe sie dann bis zu ihrer modellierten Ankunft am Handelsplatz fort.
  3. Erlaube eine Ausführung erst nach dem Eintreffen und nur gegen geeignete Liquidität, gemäß den Fill-Annahmen für diesen Ordertyp.
  4. Halte für jeden simulierten Fill die Eingaben, die Ereignisreihenfolge und die verwendete Verzögerung fest.

Bei einer barbasierten Strategie kann das mehr Aufwand sein, als die Fragestellung erfordert. Verwendet das Signal abgeschlossene 1-Minuten-Bars und werden Orders zum Eröffnungskurs der nächsten Bar mit einem konservativen Kostenmodell ausgeführt, dürfte die Reihenfolge im Submillisekundenbereich die Forschungsergebnisse kaum verändern. Entscheidend ist, dass die zeitliche Genauigkeit zur Aussage des Backtests passt.

Kann ich einem Backtest ohne Daten zur Ankunftszeit vertrauen?

Du kannst ihn trotzdem verwenden, solltest seine Grenzen aber klar benennen. Handelt die Strategie langsam und hat sie großzügige Risikolimits, können einige Millisekunden belanglos sein. Reagiert sie auf flüchtige Quotes, konkurriert sie um die Position in der Warteschlange oder hängt sie von einem Lead-Lag-Signal zwischen Handelsplätzen ab, können fehlende Ankunftszeiten für das Ergebnis entscheidend sein.

Kritiker haben recht, dass präzise Ereigniszeiten zu Scheingenauigkeit führen können. Historische Feeds sind lückenhaft, Uhren laufen auseinander und Zeitstempel der Handelsplätze zeigen nicht jeden Netzwerksprung. Auch ein Simulator mit Nanosekundenfeldern kann mit groben Fill-Annahmen arbeiten.

Prüfe deshalb die Empfindlichkeit, statt Gewissheit zu behaupten: Spiele plausible Reihenfolgen für Ereignisse mit gleichem Zeitstempel und unterschiedliche Orderverzögerungen durch und vergleiche dann die Zahl der Trades, die Fill-Preise und welche Signale bestehen bleiben. Hängt das Ergebnis von einer Reihenfolge ab, die sich mit den Daten nicht belegen lässt, gehört diese Abhängigkeit in den Forschungsbericht. Ein Backtest kann auch mit einer unvollkommenen Uhr nützlich sein. Er muss nur offenlegen, welche Zeit er tatsächlich kennt.

ereignisgesteuertes BacktestingAusführungsmodellierungMarktdatenStrategieforschung
← Alle Beiträge