Unser Backtest zählte 91 Ausführungen bei 100 aufgegebenen Orders. Im Paper-Trading erhielt dieselbe Strategie 63. Die mediane Zeit vom Signal bis zur Orderbestätigung betrug 84 Millisekunden, und bei 12 der im Paper-Trading nicht ausgeführten Orders handelte es sich um Limit-Orders, die der Backtest bereits bei einer bloßen Kursberührung als ausgeführt verbucht hatte.
Diese Differenz von 28 Prozentpunkten sah zunächst nach einem Strategieproblem aus, bis wir die Orderentscheidungen von den Ausführungsentscheidungen trennten. Die Strategie wählte in beiden Durchläufen nahezu dieselbe Seite, Größe und denselben Preis. Der Ausführungspfad unterschied sich: Einige Orders kamen verspätet an, andere blieben offen, und wieder andere trafen auf einen Markt, der sich bereits bewegt hatte.
Was bedeutet Order-Parität zwischen Backtest und Paper-Trading?
Parität bedeutet, dass Backtest und Paper-System anhand derselben verfügbaren Informationen vergleichbare Entscheidungen treffen und ihre unterschiedlichen Ausführungsmodelle anschließend ausdrücklich berücksichtigen. Es bedeutet nicht, dass jede simulierte Ausführung einer Paper-Ausführung entsprechen muss. Aus historischen Kerzen lässt sich die Position in der Warteschlange nicht rekonstruieren, und ein Paper-Handelsplatz kann ein anderes Matching-Modell verwenden als eine Live-Börse.
Die nützlichere Frage ist enger gefasst: Kannst du für jede Order, die die Strategie aufgeben wollte, erklären, was danach geschah? Die Anzahl der Trades und die Endrendite verschleiern zu viel. Führe für jede Entscheidung einen verknüpften Datensatz mit einer stabilen Entscheidungs-ID der Strategie, die Signal-, Order-, Bestätigungs-, Stornierungs- und Ausführungsereignisse miteinander verbindet.
| Vergleich | Was dadurch auffällt | Beispiel |
|---|---|---|
| Entscheidungszeitpunkt und Seite | Abweichende Eingaben oder Zeitplanung | Das Paper-Signal wird eine Kerze später ausgelöst |
| Angeforderte Größe und Preis | Rundung, Risiko- oder Handelsplatzregeln | Der Backtest gibt 0.013 BTC auf; im Paper-System wird auf 0.01 gerundet |
| Übergänge des Orderstatus | Lücken bei Aufgabe, Ablehnung und Stornierung | Der Backtest behandelt eine Stornierungsanfrage als abgeschlossene Stornierung |
| Ausgeführte Menge und Preis | Zu optimistisches Ausführungsmodell oder Marktbewegung | Ein berührtes Limit wird im Backtest vollständig ausgeführt, im Paper-Trading aber gar nicht |
Warum entfiel so ein großer Teil der verpassten Ausführungen auf berührte Limits?
Unser Backtest verwendete 1-Minuten-Kerzen. Lag der Limitpreis innerhalb der Spanne zwischen Hoch und Tief einer Kerze, wurde die Order als ausgeführt markiert. Diese Regel beantwortet, ob der Markt irgendwann während der Minute zu diesem Preis gehandelt wurde. Sie beantwortet nicht, ob unsere Order zu diesem Zeitpunkt aktiv war, ob sie in der Warteschlange an erster Stelle stand oder ob nach ihrem Eingang eine ausreichende Menge gehandelt wurde.
Die Paper-Logs machten das Timing-Problem sichtbar. Die Strategie berechnete um 12:03:00.000 ein Signal, doch das Marktdatenereignis erreichte den Orderprozess erst 31 Millisekunden später. Die Risikoprüfungen dauerten weitere 22 Millisekunden, und der Handelssimulator bestätigte die Order nochmals 31 Millisekunden danach. Bei einer schnellen Bewegung kann eine historische Kerze einen Preis erreichbar erscheinen lassen, obwohl das Limit erst einging, nachdem sich der Markt bereits davon entfernt hatte.
Hinzu kam: Zwölf Paper-Orders waren noch offen, als der Backtest bereits weitergerechnet hatte. Der Simulator akzeptierte eine Stornierungsanfrage, als wäre die Order sofort verschwunden. Im Paper-System kam die Stornierungsbestätigung später; drei Orders wurden in der Zwischenzeit ausgeführt. Dadurch änderte sich die Position, die das nächste Signal vorfand.
Wie messe ich die Abweichung, ohne mich selbst zu täuschen?
Beginne mit einem kleinen Abgleichsbericht, gruppiert nach Orderabsicht. Lass den Nenner sichtbar. „Ausführungsrate“ kann Ausführungen pro aufgegebener Order, ausgeführte Menge geteilt durch angeforderte Menge oder ausgeführte Orders geteilt durch Orders bedeuten, die den Handelsplatz erreicht haben. Diese Kennzahlen beantworten unterschiedliche Fragen.
- Verknüpfe Ereignisse anhand einer Entscheidungs- oder Client-Order-ID, statt nachträglich einen Zeitstempel zu erraten.
- Vergleiche zuerst die Entscheidungen: Signalzeit, Seite, angeforderte Menge, Ordertyp und Limitpreis.
- Vergleiche bei übereinstimmenden Entscheidungen die Bestätigungsverzögerung, Ablehnungen, Öffnungszeit, Stornierungszeit, ausgeführte Menge und den volumengewichteten Ausführungspreis.
- Berichte die Raten nach Ordertyp und Marktbedingung. Eine Gesamtausführungsrate von 63 % kann 90 % bei Market-Orders und 35 % bei passiven Limits verbergen.
Halte die Kategorien klar voneinander getrennt. Eine abgelehnte Order ist keine nicht ausgeführte Order; eine teilweise ausgeführte Order ist keine vollständige Ausführung; und eine nach einer Teilausführung stornierte Order hat die Position trotzdem verändert. Zähle sowohl die Orders als auch die angeforderte Menge, damit eine Häufung winziger Orders das Ergebnis nicht besser aussehen lässt, als es ist.
Was sollte ich im Backtest ändern?
Verwende eine Ausführungsregel, die zur Datenauflösung und zum beabsichtigten Orderverhalten passt. Bei Kerzendaten ist ein berührtes Limit ein Hinweis auf eine mögliche Ausführung, aber kein Beweis dafür. Du kannst Teilausführungen konservativ modellieren, eine Kursüberschreitung verlangen oder passive Orders ausschließen, deren Position in der Warteschlange sich nicht schätzen lässt. Jede Wahl beantwortet eine andere Frage. Dokumentiere sie und vergleiche das Ergebnis anhand mehrerer plausibler Regeln.
Modelliere außerdem den Orderstatus. Eine Order bleibt aktiv, bis das System ein abschließendes Ereignis empfängt; eine Stornierungsanfrage beseitigt das Risiko nicht. Wenn die Strategie eine zweite Order aufgeben kann, während die erste noch aussteht, muss der Backtest diesen Wettlauf abbilden oder ihn konstruktionsbedingt verhindern.
Ein Ausführungsmodell ist eine Aussage darüber, was mit deiner Order hätte geschehen können. Lege eine nachvollziehbare Regel fest und prüfe sie anschließend anhand der Paper-Logs.
Bei unserer Abweichung von 28 Prozentpunkten war nicht die überraschendste Erkenntnis, dass ein Backtest mit 1-Minuten-Kerzen passive Ausführungen zu hoch ansetzte. Die Strategieposition wich schon vor der nächsten Entscheidung ab, weil wir das Timing von Stornierungen nicht berücksichtigt hatten. Nachdem wir das Orderstatusmodell korrigiert hatten und nicht mehr jedes berührte Limit als ausgeführt werteten, fiel der Vergleich mit dem Paper-Trading weniger schmeichelhaft, aber aussagekräftiger aus.
Das ist der praktische Maßstab für Parität: Jede relevante Abweichung zwischen simuliertem Verhalten und Paper-Verhalten hat eine dokumentierte Ursache, und der Backtest behauptet keine Sicherheit, die seine Daten nicht hergeben.
← Alle Beiträge


