Ein Backtest kann deine Limit-Order ausführen, obwohl es keine handelbare Gelegenheit gab. Wenn das Tief einer Kerze dein Buy-Limit unterschreitet, verbuchen viele Engines einen Fill. Das Tief sagt aber nur aus, dass mindestens ein gemeldeter Trade zu diesem Preis oder darunter stattfand. Es sagt nichts darüber aus, wie viel gehandelt wurde, was vor dir in der Warteschlange stand oder ob deine Order rechtzeitig aktiv war.
Dieser Unterschied ist besonders wichtig, wenn der Edge der Strategie von häufigen passiven Fills abhängt. Ein Modell, das jede Preisberührung als vollständigen Fill behandelt, kann aus einem geduldigen Einstieg eine imaginäre Alphaquelle machen.
Bedeutet eine Berührung meines Limitpreises durch die Kerze, dass meine Order ausgeführt wurde?
Nein. Es bedeutet, dass die aufgezeichnete Preisspanne der Kerze deinen Limitpreis einschloss. Ob deine Order hätte ausgeführt werden können, hängt vom Orderbuch, dem Handelsfluss, deiner Position in der Warteschlange und dem Zeitpunkt ab, zu dem die Order einging.
Stell dir ein Buy-Limit bei $100.00 vor. Die Kerze eröffnet bei $100.20, erreicht ein Tief von $99.98 und schließt bei $100.10. Möglicherweise wurde ein Trade zwei Cent unter deinem Preis ausgeführt. Wenn bei $100.00 aber eine große Warteschlange vor dir lag und dort nur eine kleine Menge gehandelt wurde, könnte deine Order unberührt geblieben sein. Mit OHLCV-Daten allein kannst du diese Warteschlange nicht sehen.
Hinzu kommt: Eine Kerze fasst Ereignisse über einen Zeitraum zusammen. Wenn dein Signal anhand des Schlusskurses dieser Kerze berechnet wird, kannst du nicht davon ausgehen, dass deine Order bereits zu Beginn der Kerze im Orderbuch lag, als deren Tief erreicht wurde. Die Kerze komprimiert genau die Abfolge, die diese Frage beantworten würde.
Was sagen mir OHLCV-Daten tatsächlich über einen Limit-Fill?
Mit OHLCV-Daten lassen sich manche Fills ausschließen und andere als plausibel einstufen. Sie belegen weder den Vorrang in der Warteschlange noch garantieren sie, welche Menge für deine Order verfügbar war.
| Beobachtung | Was sich daraus ableiten lässt | Was sich damit nicht beweisen lässt |
|---|---|---|
| Kerzentief blieb über einem Buy-Limit | In dieser Kerze erreichte kein gemeldeter Trade den Preis | Dass die Order ausgeführt worden wäre |
| Kerzentief berührte das Buy-Limit | Der Preis wurde am Limit gemeldet | Dass nach Eingang deiner Order überhaupt Volumen gehandelt wurde |
| Kerzentief fiel unter das Buy-Limit | Trades fanden zum Preis oder darunter statt | Dass genug Volumen deine Position in der Warteschlange erreichte |
| Gesamtvolumen der Kerze überstieg deine Ordergröße | Der Markt handelte während der Kerze mindestens diese Menge | Dass das Volumen nach Eingang deiner Order zu deinem Preis gehandelt wurde |
Eine barbasierte Engine braucht also eine Fill-Annahme. Betrachte sie als Modell mit einem bekannten blinden Fleck und nicht als eine aus der Kerze abgelesene Tatsache.
Wie sollte ich Limit-Order-Fills im Backtest modellieren?
Beginne mit dem Order-Timing. Lege fest, wann das Signal verfügbar ist, wann die Order den Handelsplatz erreicht und welche nachfolgenden Marktbewegungen mit ihr interagieren können. Bei einem Signal, das zum Kerzenschluss bekannt wird, gilt eine konservative barbasierte Regel: Die Order wird erst ab der nächsten Kerze berücksichtigt.
Trenne anschließend die Preisberechtigung von der Fill-Menge. Dass ein Limit handelbar wird, bedeutet nicht, dass die ganze Order ausgeführt wird. Wenn dir Trades, aber keine historischen Orderbuchdaten vorliegen, kannst du verlangen, dass das gehandelte Volumen am Limit oder besser ein Vielfaches deiner Ordergröße übersteigt. Dieses Vielfache ist ein grober Puffer für die Warteschlange, keine universelle Konstante. Teste mehrere Werte und zeige, wie sich das Ergebnis verändert.
Angenommen, die Strategie platziert ein Buy-Limit über 2 BTC und nach Freigabe der Order werden zum gewählten Preis 3 BTC gehandelt. Ein Modell, das ein qualifizierendes Volumen von 5 BTC verlangt, würde die Order unausgeführt lassen; ein Modell mit einem Volumenmultiplikator von 1.0 würde sie ausführen. Keines der beiden Ergebnisse bildet die Warteschlange nach. Der Vergleich zeigt, wie stark die Strategie von einer Annahme abhängt, die du nicht beobachten kannst.
Lass nicht ausgeführte Orders in der Simulation. Storniere sie, wenn die Strategie sie stornieren würde, und akzeptiere, dass dir der verpasste Trade entgeht. Einer Strategie jedes Mal einen Fill zu geben, wenn ihr Limit berührt wird, während Orders ignoriert werden, die unberührt auslaufen, verzerrt sowohl die Ausführung als auch die Zahl der Gelegenheiten.
Wann brauche ich Orderbuchdaten?
Verwende Orderbuch-Updates und Trades, wenn die Position in der Warteschlange oder Teil-Fills für die Strategie entscheidend sind: beim Market Making, bei kurzlebigen passiven Quotes oder bei Einstiegen, die davon abhängen, weit vorne in einer stark besetzten Preisstufe zu stehen. Selbst dann verraten historische öffentliche Daten möglicherweise nicht deine genaue Position in der Warteschlange. Du musst den Order-Eingang, Stornierungen vor dir, Matching-Regeln und deinen eigenen Markteinfluss modellieren.
Bei langsameren Strategien können detaillierte Orderbücher zusätzliche Komplexität schaffen, ohne die zentrale Unsicherheit auszuräumen. Eine sinnvolle barbasierte Analyse kann weiterhin eine obere Grenze mit Fills bei Preisberührung mit strengeren, volumenabhängigen Szenarien vergleichen. Verschwindet der vermeintliche Edge, sobald du plausible Fills verlangst, ist das eine wertvolle Erkenntnis für die Forschung.
Wie erkenne ich, ob mein Ergebnis von optimistischen Fills abhängt?
Lass dieselbe Strategie mit einer kleinen Auswahl expliziter Fill-Regeln laufen und vergleiche mehr als nur die Gesamtrendite. Erfasse die Zahl ausgeführter Orders, die Teil-Fill-Rate, die Verweildauer im Orderbuch, stornierte Mengen, verpasste Kursbewegungen nach ausgebliebenen Fills und den Umsatz. Eine Strategie kann ihre ausgewiesene Rendite beibehalten und sich dabei auf deutlich weniger, dafür bequemere Trades stützen.
Der nächste sinnvolle Schritt ist Paper-Trading: Reiche die tatsächliche Orderlogik ein und protokolliere Bestätigungen, Fills und Stornierungen. Auch Paper-Fills hängen von den Regeln des Handelsplatzes oder Simulators ab, doch so prüfst du Timing und Orderabwicklung, die eine Kerze nicht zeigen kann.
Ein berührtes Limit ist ein Hinweis auf den Preis. Ein Fill ist eine Aussage über die Ausführung. Dein Backtest sollte den Unterschied zwischen diesen Aussagen sichtbar machen.
← Alle Beiträge


