7. November 2026 · Mikrostruktur

Der Backtest las den richtigen Preis im falschen Markt

Der Backtest las den richtigen Preis im falschen Markt

Um 10:14 UTC kaufte eine einfache Breakout-Strategie einen Krypto-Perpetual, nachdem der Kurs sein 20-Minuten-Hoch überschritten hatte. Der Backtest wies einen Fill bei $64,210 aus. Diese Zahl stand in den Daten, das Signal trug den richtigen Zeitstempel, und die simulierte Order traf im nächsten Balken ein. Beinahe hätten wir das Ergebnis als sauber eingestuft.

Dann glichen wir die Instrument-IDs ab. Das Signal stammte vom BTCUSDT-Perpetual. Der Fill kam aus einem inversen BTCUSD-Kontrakt. Beide wurden nahe $64,210 gehandelt, und beide waren liquide Märkte. Trotzdem handelte es sich um unterschiedliche Orderbücher mit verschiedenen Preisen, Tick-Größen, Markttiefen und Gebührenmodellen. Der Backtest hatte einen Markt zusammengefügt, auf den kein Trader zugreifen konnte.

Die Strategie selbst war unspektakulär: Einstieg bei einem Schlusskurs über dem rollierenden Hoch, Ausstieg bei einem Schlusskurs unter dem rollierenden Tief, und jede Position auf ein festes Dollar-Risiko dimensionieren. Das Problem zeigte sich erst, als wir präziser fragten als „Wie viel war BTC wert?“ Wir fragten: „Was hätte diese Order zu diesem Zeitpunkt in genau diesem Kontrakt kaufen können?“

Der Chart war schon vor dem Strategiestart ein Komposit

Unser Research-Feed machte den Vergleich von Handelsplätzen einfach. Er vereinheitlichte Symbole und zeigte eine konsolidierte Kursreihe an. Für den Blick auf den Markt war das praktisch, als Ausführungsreferenz aber ungeeignet. Ein Komposit kann den besten Preis über mehrere Börsen hinweg zeigen, obwohl die Strategie ihre Order nur an einen Handelsplatz senden kann.

Beim Ausbruch lag das Hoch des konsolidierten Balkens bei $64,205. Der letzte Handel des ausgewählten Kontrakts hatte sich bereits auf $64,218 bewegt. Gleichzeitig zeigte ein zwischengespeicherter Quote für den inversen Kontrakt weiterhin einen Ask bei $64,210. Der Simulator verwendete den Ausbruch aus einer Kursreihe und den attraktiven Ask aus einer anderen. Jeder Wert für sich war echt. Zusammen waren sie fiktiv.

EingabeVerwendung im BacktestBenötigt für die Order
AusbruchshochKonsolidierter BTC-KursKursverlauf des ausgewählten Kontrakts
EinstiegsreferenzZwischengespeicherter Ask des inversen KontraktsAktueller Ask des gehandelten Instruments
Fill-MengeAngeforderte PositionsgrößeVerfügbare Menge auf jeder Preisstufe

Eine Zeile in einer Marktdatentabelle kann vollständig wirken, obwohl ihre Felder unterschiedliche Märkte beschreiben. Ein Symbolalias beweist nicht, dass zwei Instrumente dasselbe Orderbuch haben. Kontrakt-ID, Handelsplatz, Notierungswährung und Zeitstempel müssen Signalbildung und Ausführung gemeinsam durchlaufen.

Wir spielten die Order gegen das Orderbuch erneut ab

Wir berechneten den Einstieg erneut, diesmal mit dem besten Ask des ausgewählten Perpetuals und den Orderbuch-Updates, die zum Entscheidungszeitpunkt vorlagen. Der Quote war aktuell, doch auf der obersten Preisstufe lagen nur 0.18 BTC. Unsere simulierte Order umfasste 0.50 BTC. Die übrigen 0.32 BTC hätten höhere Asks abgeräumt.

$64,218Bester Ask bei Orderankunft
0.18 BTCVerfügbar zu diesem Ask
$64,231Volumengewichteter Replay-Preis

Der angepasste Einstieg lag vor Gebühren $21 pro BTC über dem ausgewiesenen Fill. Bei einem einzelnen Trade ist das ein kleiner Unterschied. Im gesamten Test erzielte die Strategie jedoch den Großteil ihres Bruttogewinns mit einer Handvoll schneller Ausbrüche. Die erneute Ausführung dieser Einstiege gegen die richtigen Orderbücher verringerte das Bruttoergebnis um 31%; Taker-Gebühren und Markteinfluss reduzierten es weiter.

Wir fanden außerdem zwei Fälle, in denen der Quote aus dem Top-of-Book erst nach dem Entscheidungszeitpunkt des Signals eintraf. Ein Backtest, der beim Join den nächstgelegenen Zeitstempel verwendet, kann unbemerkt ein zukünftiges Update auswählen. Wir joinen jetzt rückwärts: Der Quote muss bis zum Versand der Order beobachtet worden sein, und wir erfassen sein Alter. Ist der letzte verwendbare Quote zu alt, markiert der Simulator die Order als nicht ausführbar oder wendet eine explizite Regel für veraltete Daten an.

Was ein handelbarer Preis voraussetzt

Ein Balkenschlusskurs ist nützlich, um ein Signal zu berechnen. Er belegt nicht, dass eine bestimmte Order dort hätte ausgeführt werden können. Dafür muss der Preis zum exakten Instrument und Handelsplatz gehören, zum Ankunftszeitpunkt der Order verfügbar sein und für die angeforderte Größe genügend Gegenmenge aufweisen. Können die Daten diese Fragen nicht beantworten, ist eine Spanne oder ein fehlender Fill das ehrliche Ergebnis – kein erfundener exakter Preis.

Die konsolidierte Kursreihe behalten wir für den Marktkontext bei, haben sie aber aus dem Ausführungspfad entfernt. Signale beziehen sich jetzt auf den eigenen Kursverlauf des ausgewählten Kontrakts; Orders werden gegen dessen Orderbuch abgespielt, wobei Gebühren und Größe nach Berechnung des Fills berücksichtigt werden. Ein wenig mehr technische Arbeit und eine deutlich weniger schmeichelhafte Eigenkapitalkurve.

Diesen Ausbruch gab es tatsächlich. Der Backtest ließ die Strategie lediglich in einem besseren Markt handeln als dem, den sie ausgewählt hatte.

Krypto-FuturesOrderbücherMarktdatenBacktestingAusführung
← Alle Beiträge