26. Oktober 2026 · Daten

Warum ersetzt mein Backtest ständig seine Optionsdaten?

Warum ersetzt mein Backtest ständig seine Optionsdaten?

Ein Optionsbacktest kann sich ändern, ohne dass auch nur eine Zeile Strategicode angepasst wird. Ein Anbieter korrigiert eine fehlerhafte Quote, ergänzt einen verspäteten Trade, überarbeitet Kontraktmetadaten oder ändert seinen Filter für gekreuzte Märkte. Du lässt dieselben Zeiträume erneut durchlaufen und erhältst einen anderen Fill, eine andere Position, vielleicht einen anderen Sharpe. Das ist nicht unbedingt ein Fehler in der Strategie. Es bedeutet, dass sich die Datenbasis geändert hat, an der die Strategie getestet wurde.

Damit ein Optionsbacktest reproduzierbar ist, solltest du Marktdaten als versionierte Eingabe behandeln. Halte fest, welchen Snapshot du verwendet hast, bewahre die Rohdaten auf, die zu den einzelnen Entscheidungen geführt haben, und vergleiche geänderte Ergebnisse auf Kontrakt- und Zeitstempel-Ebene, bevor du dem neuen Gesamtergebnis vertraust.

Warum hat sich mein Optionsbacktest geändert, obwohl der Code gleich geblieben ist?

Optionsdaten reagieren besonders empfindlich auf Korrekturen, weil die scheinbare Handelbarkeit eines Kontrakts davon abhängt, dass mehrere Felder zusammenpassen: Geldkurs, Briefkurs, Größen, Basiswertkurs, Verfall, Strike und der Multiplikator oder Liefergegenstand des Kontrakts. Eine korrigierte Quote kann aus einer vermeintlichen Gelegenheit einen gekreuzten Markt machen. Eine Korrektur der Metadaten kann die Bedeutung des Multiplikators einer Position ändern.

Stell dir eine Strategie vor, die einen Call kauft, wenn der Briefkurs unter $2.00 liegt. Beim ersten Datenabruf liegt der Briefkurs der Quote um 10:14 bei $1.95, der Geldkurs bei $1.90 und die Größe bei 5. Eine spätere Überarbeitung durch den Anbieter setzt den Briefkurs nach Abgleich mit einer verspäteten Börsenmeldung auf $2.05. Eine einzige Beobachtung kippt das Signal. Wenn dieser Kontrakt an dem Tag der einzige Trade der Strategie war, kann eine kleine Datenkorrektur die Tagesrendite dominieren.

Auch die Filterung von Quotes ist relevant. Anbieter lassen möglicherweise veraltete Quotes weg, entfernen gekreuzte Märkte oder normalisieren Zeitstempel anders. Diese Regeln können sinnvoll sein, gehören aber zur Identität des Datensatzes. „SPY-Optionen von Januar bis März“ beschreibt keine reproduzierbare Historie.

Was ist ein Datenjahrgang bei Optionsdaten?

Ein Datenjahrgang ist die genaue Version der historischen Beobachtungen, die einem bestimmten Research-Lauf zur Verfügung stand. Halte Anbieter und Datensatzname, Abrufzeitpunkt, Datumsbereich, Schema-Version sowie alle Bereinigungs- und Filterregeln fest. Wenn der Anbieter Snapshot-IDs oder Änderungszeitstempel bereitstellt, speichere auch diese.

Bewahre für jede simulierte Entscheidung genügend Herkunftsinformationen auf, um folgende Fragen zu beantworten: Welcher Kontrakt wurde geprüft, welche Quote wurde ausgewählt, wann wurde diese Quote veröffentlicht oder empfangen und nach welcher Regel war sie zulässig? Sowohl der Rohdatensatz als auch der abgeleitete Datensatz sind wichtig. Ein bereinigter NBBO ohne die ursprünglichen Zeitstempel kann verschleiern, ob eine Quote veraltet war oder erst nach der simulierten Entscheidung eintraf.

Zu speichernder DatensatzWarum er wichtig istBeispiel
Quell-SnapshotIdentifiziert die vom Lauf verwendete HistorieRevisions-ID des Anbieters und Abrufzeitstempel
Quote-HerkunftErklärt den ausgewählten MarktBörse, Ereigniszeit, Empfangszeit, Geld-/Briefkurs und Größen
KontraktbedingungenDefinieren, was die Option repräsentierteStrike, Verfall, Multiplikator und Liefergegenstand
BereinigungsregelnZeigen, welche Beobachtungen ausgeschlossen wurdenSchwellenwert für veraltete Quotes und Umgang mit gekreuzten Quotes

Wie prüfe ich, ob eine Revision des Anbieters meine Ergebnisse verändert hat?

Lass dieselbe Strategie mit derselben Konfiguration auf beiden Snapshots laufen. Vergleiche zuerst die Zahl der zulässigen Beobachtungen und Kontrakte nach Datum. Vergleiche dann Entscheidungen und Fills: Welche Signale sind hinzugekommen oder weggefallen, welche Quote hat sich geändert und hat der neue Datensatz den modellierten Ausführungspreis verändert?

Betrachte nicht nur die Gesamtrendite. Verfolge Änderungen bei der Zahl der Trades, Einstiegs- und Ausstiegspreisen, verworfenen Signalen und dem Anteil des P&L aus Trades, die nur in einem Datenjahrgang vorkommen. Ein Lauf kann einen ähnlichen Sharpe behalten, während einzelne Trades ersetzt werden; die Kennzahl allein verrät nicht, dass sich die zugrunde liegende Historie verschoben hat.

2Datenjahrgänge zum Vergleichen
4Herkunftsfelder zum Aufbewahren
1Trade kann eine kleine Stichprobe verschieben

Für eine aussagekräftige Prüfung solltest du Strategie, Gebühren und Ausführungsannahmen unverändert lassen. Wenn sich mehrere Dinge gleichzeitig ändern, weißt du nicht, ob die Abweichung von der Anbieterkorrektur oder deinem eigenen Experiment stammt.

Sollte ich immer die neueste Optionshistorie verwenden?

Verwende die neueste Historie, wenn du mit der aktuell bestmöglichen Rekonstruktion des Anbieters arbeiten möchtest. Bewahre den alten Snapshot auf, wenn du ein früheres Ergebnis reproduzieren oder nachvollziehen musst, welche Informationen deinem Research-System damals vorlagen. Das sind unterschiedliche Fragen.

Bei Point-in-Time-Research kann ein korrigierter Datensatz heute genauer sein, aber der Strategie damals noch nicht zur Verfügung gestanden haben. Bewahre nach Möglichkeit Veröffentlichungs- und Empfangszeiten auf; andernfalls kennzeichne die Einschränkung klar. Eine moderne Rekonstruktion ist nicht automatisch ein historischer Informationsstand.

Wenn sich ein Optionsbacktest ändert, sollte die erste Frage lauten: „Welche Beobachtungen haben sich geändert?“ Die Frage „Welcher Lauf ist richtig?“ kommt erst danach, wenn du diese Frage beantworten kannst.

Was sollte ich bei jedem Backtest speichern?

Speichere neben den Ergebnissen ein kompaktes Manifest: Datenanbieter und Snapshot, Abrufzeitpunkt, Schema- und Bereinigungsversionen, Quelle der Kontraktmetadaten, Strategie-Commit, Ausführungsannahmen und Laufkonfiguration. Verknüpfe jeden Trade mit den Quote-Datensätzen, die ihn begründet haben.

Mit diesem kleinen Datensatz wird aus einem rätselhaften erneuten Lauf ein nachvollziehbarer Diff. Optionshistorien werden weiterhin korrigiert. Dein Research-Prozess sollte jede Korrektur sichtbar machen, damit ein besseres Archiv die Datenbasis verbessert, ohne das Experiment unbemerkt umzuschreiben.

OptionsdatenPoint-in-Time-DatenBacktestingData Engineering
← Alle Beiträge