Trading Strategie in Python backtesten: so geht's

RatgeberEnglish

Trading Strategie in Python backtesten: so geht's

Eine Trading Strategie in Python backtesten heißt, die Regeln für Einstieg, Ausstieg und Positionsgröße als Code zu schreiben und über historische Kurse mit einem simulierten Broker laufen zu lassen. Ein guter Python Backtest sieht bei jedem Schritt nur die Vergangenheit, füllt Orders zu Bid oder Ask, verrechnet Spread, Kommission und Swap und zeigt jeden Trade.

Aktualisiert · Orion Quant Technologies

Wie backtestet man eine Trading Strategie in Python?

Für einen Backtest in Python brauchst du drei Teile: historische Kursdaten, die Regeln der Strategie als Code und eine Schleife, die der Strategie die Daten in zeitlicher Reihenfolge gibt, während ein simulierter Broker die Orders füllt. Heraus kommen eine Tradeliste, eine Equity Kurve und Kennzahlen wie Drawdown und Profit Factor.

Die Schleife kannst du selbst schreiben, eine der verbreiteten Open Source Bibliotheken für Python nehmen oder eine Backtesting Engine nutzen, die Daten und Brokermodell mitbringt. Die Regeln sind der leichte Teil. Ob das Ergebnis ehrlich ist, entscheiden Daten, Fills und Kosten.

Lohnt sich ein eigener Backtester in Python?

Ein eigener Python Backtester ist ein guter Weg, um zu verstehen, wie Backtests funktionieren. Ein verlässlicher braucht aber mehr als eine for Schleife: Jeder Teil unten muss gebaut, getestet und korrekt gehalten werden, und jeder kann das Ergebnis still schönen, wenn er falsch ist.

Teil des BacktestsSelbst geschriebenIn der Orion Quant Technologies Engine
MarktdatenDu suchst, bereinigst und speicherst sieEingebautes Archiv: Minutenbars und jeder Tick mit institutionellem Bid und Ask
FillsDu legst fest, wie ein Bar aufgelöst wirdDrei Stufen: OHLC, Minutenbars oder Ticks, mit jedem Lauf gespeichert
KostenDu baust sie selbst einSpread, Kommission pro Lot und Seite, Swap mit dreifachem Rollover am Mittwoch
MarginDu modellierst sie selbstEine Order ohne ausreichende Margin wird abgelehnt und gezählt
RobustheitEigene SkripteGrid und genetische Suche, Out of Sample, Walk Forward, Monte Carlo
Code prüfenFehler zeigen sich mitten im LaufValidate prüft die Klasse vor dem Lauf und zeigt abgelehnte Importe

Welche Schritte hat ein Backtest in Python?

Ein Python Backtest hat sechs Schritte, egal ob er in deinem eigenen Skript oder in einer Engine läuft:

  1. Regeln als Code schreiben: Einstieg, Ausstieg, Stop, Ziel und Positionsgröße, jeweils nur mit Daten bis zum aktuellen Bar.
  2. Daten laden für Markt und Zeitraum, in der Auflösung, die die Strategie braucht. Enge Stops brauchen Minutenbars oder Ticks.
  3. Kosten setzen: Spread, Kommission pro Lot und Seite und Swap über Nacht, so wie dein Broker sie verlangt.
  4. Backtest starten und die Tradeliste lesen, nicht nur den Endgewinn.
  5. Vorsichtig optimieren und einen Teil der Daten aus der Optimierung heraushalten.
  6. Robustheit prüfen mit Walk Forward Fenstern und einer Monte Carlo Neumischung der Trades.

Welche Fehler passieren beim Backtesting in Python?

Python Backtests scheitern am häufigsten an Lookahead Bias, fehlenden Kosten und Overfitting. In Python rechnest du schnell eine ganze Spalte Signale auf einmal aus, und genau das lässt einen zukünftigen Wert in die heutige Entscheidung rutschen, ohne dass eine Fehlermeldung kommt.

  • Nicht verschobene Signale: Ein Signal auf der ganzen Kursreihe, das nicht um einen Bar verschoben ist, handelt auf einem Schlusskurs, den es noch nicht kennen konnte. Siehe Overfitting und Lookahead Bias.
  • Fills zum Schlusskurs: Liegen Stop und Ziel im selben Bar, wissen Bardaten nicht, was zuerst kam. Tickdaten klären das.
  • Keine Kosten: Eine Strategie mit vielen kleinen Trades kann allein an Spread und Kommission vom Gewinn in den Verlust kippen. Siehe Spread, Kommission und Swap.
  • Zu viele Parameter: Werte, die so lange justiert wurden, bis sie einen Zeitraum treffen. Siehe Strategie optimieren und Walk Forward Analyse.

Welche Trading Plattformen können Python Strategien ausführen?

cTrader kann seit Version 5.4 cBots, Indikatoren und Plugins in Python ausführen. MetaTrader 5 bietet Python für Daten und Handel, sein Strategietester rechnet aber nur MQL5. TradingView nutzt nur Pine Script. Die Orion Quant Technologies Engine nimmt eine Strategie als Python Klasse und prüft sie vor dem Lauf.

PlattformPython für Strategien
cTraderPython cBots, Indikatoren und Plugins seit 5.4
MetaTrader 5Python für Daten und Handel, Tester nur MQL5
TradingViewNur Pine Script, kein Python
Orion Quant Technologies EngineEine Python Klasse, vor dem Lauf geprüft

Eine Python Strategie, die in das Strategieformat der Engine übersetzt wird, kannst du als cTrader cBot, als MT5 Expert Advisor (.mq5) oder als Pine Script exportieren, mit einer Liste von allem, was übersetzt wurde. Exakt oder gar nicht, nie geraten. Mehr dazu unter Alternative zum MT5 Strategietester und cTrader Backtesting.

Wie backtestest du Python Strategien in der Orion Quant Technologies Engine?

In der Orion Quant Technologies Engine ist eine Strategie eine Python Klasse. Validate prüft sie vor dem Lauf und zeigt jeden Import, den die Sandbox ablehnt, damit kein Test auf halber Strecke abbricht. Du schreibst sie in der App, oder du öffnest sie in VS Code oder PyCharm und schreibst dort weiter: Die App übernimmt die Datei, wenn du speicherst.

Der Lauf nutzt das eingebaute Archiv oder deine eigenen CSV Bars, mit Kosten und Genauigkeitsstufe als Einstellungen und ohne Lookahead von der Konstruktion her. Danach optimierst du mit Grid oder genetischer Suche, prüfst das Ergebnis mit Walk Forward und Monte Carlo und machst den Prop Firm Check. Plugins für Datenquellen, Indikatoren und Exporter sind ebenfalls kleine Python Module, siehe die Plugin Bibliothek. Die Engine ist im Frühzugang über die Warteliste.

Häufige Fragen

Ist Python gut zum Backtesten von Trading Strategien?

Ja. Python ist in der Strategieforschung weit verbreitet, weil sich der Code fast wie die Regeln liest und Kursdaten leicht zu verarbeiten sind. Der Haken: Python macht auch Lookahead leicht, und die Geschwindigkeit hängt davon ab, wie die Schleife geschrieben ist. Ein Python Backtest ist nur so ehrlich wie seine Daten, sein Fill Modell und seine Kosten.

Was ist eine Alternative zu einer Open Source Backtesting Bibliothek in Python?

Verbreitete Open Source Bibliotheken für Python liefern dir die Backtest Schleife und überlassen dir Daten, Kosten und Robustheitstests. Eine Backtesting Engine wie die Orion Quant Technologies Engine bringt Tickdaten mit Bid und Ask, ein Kostenmodell, Margin, Optimierung, Walk Forward, Monte Carlo und einen Prop Firm Check mit und führt deine Strategie als Python Klasse aus.

Kann ich Python Strategien in meinem eigenen Editor schreiben?

Ja. Öffne eine Strategie in VS Code oder PyCharm und schreib dort weiter. Die App übernimmt die Datei, wenn du speicherst, und Validate prüft die Klasse vor dem nächsten Lauf. KI Apps wie Claude Code oder Cursor auf deinem Rechner können deine Strategien außerdem lesen und Code prüfen, ohne ihn auszuführen.

Muss ich etwas installieren, um Python Strategien zu backtesten?

Nicht unbedingt. Die Browser Version hat dieselbe Oberfläche ohne Installation und schickt Läufe auf unsere Server, gezählt in Minuten. Die Desktop App hält Engine, Datencache und Plugins auf deinem eigenen Rechner und hat die Werkzeuge für Optimierung und Audit, die deinen Rechner brauchen.

Nur für Forschung und Tests. Ein Backtest zeigt, wie Regeln sich in der Vergangenheit verhalten haben, nicht was sie verdienen werden. Nichts hier ist eine Anlageberatung.

Orion Quant Technologies