Alle Beiträge

Tagebuch5 Min. Lesezeit

Ein Blick in unsere Backtest-Engine

Ein Simulator in einem Durchlauf, den wir komplett lesen können, 46 Indikatoren, jeder auf Look-ahead getestet, realistische Ausführung und Kosten, und Stresstests, bevor du einem Ergebnis vertraust.

Jede Zahl, die QuantPrompt zeigt, stammt aus einem Simulator, den wir selbst geschrieben haben und testen. Er läuft in einem Durchgang über die Kursbalken, in reinem NumPy und pandas, kurz genug, um ihn ganz zu lesen. Deshalb können wir genau sagen, was jedes Ergebnis voraussetzt.

Orders werden ausgeführt wie in einem echten Konto

  • Ein Signal wird auf dem Schlusskurs eines Balkens entschieden und zur Eröffnung des nächsten ausgeführt. Zum Schlusskurs auszuführen, auf dem man entschieden hat, ist Look-ahead.
  • Kommission und Slippage fallen auf beiden Seiten jedes Trades an, Slippage auch bei Stop-Loss- und Take-Profit-Ausstiegen. Ein Stop, der exakt zu seinem Kurs ausgeführt wird, ist eine Backtest-Fantasie.
  • Kommen Einstieg und Ausstieg auf demselben Balken, gewinnt das, was zur Position passt: einsteigen ohne Position, aussteigen mit Position.
  • Du kannst jeden Trade als Anteil des verfügbaren Cash dimensionieren; der Rest bleibt in Cash.
  • Eine am Ende noch offene Position wird zum letzten Schlusskurs bewertet und als offen gezeigt, nicht stillschweigend geschlossen.

Kennzahlen, die den Börsenkalender beachten

Sharpe, Sortino und Jahresrendite werden mit der tatsächlichen Balkendichte der Daten annualisiert: etwa 252 Balken pro Jahr bei täglichen Aktien, 365 bei Krypto, rund 1.764 bei stündlichen US-Aktien. 365 Tage für alles anzunehmen, würde die Sharpe einer Aktienstrategie um etwa 20 % überzeichnen.

46 Indikatoren, jeder auf Look-ahead getestet

Jeder Indikator ist in reinem NumPy und pandas geschrieben. Ein automatischer Test berechnet jeden auf einer Kurshistorie und dann auf derselben, gekürzten Historie und schlägt fehl, wenn sich ein vergangener Wert ändert, sobald spätere Balken hinzukommen. Balken, in denen ein Indikator noch anläuft, können nie einen Trade auslösen.

Mit einer Referenz abgeglichen

Bevor wir uns darauf verlassen haben, lief der Simulator neben einer weit verbreiteten Open-Source-Backtesting-Bibliothek auf 60 zufällig erzeugten Kursreihen und Signalsätzen; Ausführungen, Gebühren und Kapitalkurven wurden Balken für Balken verglichen. Sie stimmen überein, außer dort, wo wir bewusst strenger sind, etwa bei Slippage auf Stop-Ausstiegen.

Stresstests, bevor du einem Ergebnis vertraust

  • Jedes Ergebnis wird neben einfachem Kaufen und Halten desselben Werts gezeigt.
  • Die Plateau-Analyse rechnet die Strategie auf einem 9×9-Raster benachbarter Einstellungen neu, 81 Backtests auf denselben Daten, und zeigt, ob der Vorteil ein breites Plateau oder eine einzelne Spitze ist.
  • Sie verdoppelt außerdem die Kosten, testet jede Hälfte des Zeitraums für sich und misst, wie viel des Gewinns die drei besten Trades gebracht haben.
  • Die Regelanalyse entfernt jede Regel einzeln und beurteilt sie an den letzten 30 % der Historie, die der Vergleich nie zum Training genutzt hat.

Schnell genug für viele Durchläufe

Kursdaten werden pro Lauf einmal geladen und für jede Variante wiederverwendet; ein Raster aus 81 Backtests kostet einen Download. Jeder Lauf protokolliert, wie lange Parsing, Daten, Indikatoren und Simulation gedauert haben. So finden und beheben wir langsame Schritte.

Die Engine selbst zu besitzen heißt, dass wir genau sagen können, was sie voraussetzt. Ein Backtest, in den man nicht hineinsehen kann, ist eine Zahl, die man glauben muss.

Diese Strategie testen

Buy AAPL when the close crosses above its 50-day SMA, sell when it crosses below. 5% stop loss.

Öffnet einen neuen Backtest mit diesem Prompt.

Quellen

Teste deine eigene Idee

Beschreibe eine Strategie in einfachen Worten und sieh, wie sie abgeschnitten hätte, inklusive Kosten.

Backtest starten

Mehr aus dem Journal