Monte-Carlo-Simulation, die zufällige Parametervariationen – Auslassen von Trades und Preisanpassungen – über mehrere Backtests hinweg anwendet, um die Robustheit Ihrer Strategie gegenüber realen betrieblichen Instabilitäten zu bewerten.
In der realen Welt des Tradings entwickeln sich die Marktbedingungen ständig weiter. Die Volatilität ändert sich, die Liquidität schwankt und der Daten-Feed selbst kann von Tick zu Tick minimale Schwankungen aufweisen. Folglich verhält sich selbst eine gut optimierte Strategie möglicherweise nicht exakt so wie im Backtest prognostiziert, da ihre Kernparameter oder Indikatorenberechnungen unter Live-Bedingungen leichten „Jitter“ bzw. Instabilitäten aufweisen können. Diese Monte-Carlo-Simulation wurde entwickelt, um zu testen, wie widerstandsfähig Ihre Strategie gegenüber solchen geringfügigen, unvorhersehbaren Abweichungen von ihrem perfekten Backtest-Verhalten ist.
Wenn wir diesen Monte-Carlo-Test anwenden, führt die Simulation zwei potenzielle Effekte auf die Trades innerhalb jedes generierten Backtest-Laufs ein:
Condition Flicker (Verpasste Einstiege): Basierend auf der Skip Probability wird ein zufälliger Prozentsatz an Trades einfach aus dem Backtest entfernt. Dies simuliert Fälle, in denen ein leichter Parameter-Jitter dazu führen kann, dass eine Einstiegsbedingung, die im historischen Backtest erfüllt war, in einem leicht abweichenden Live-Szenario knapp verfehlt wird.
Exit-Level-Variation (G/V-Schwankung): Bei den nicht übersprungenen Trades wird das Endergebnis um einen weiteren zufälligen Prozentsatz (definiert durch Adjust Probability) leicht verändert. Dies geschieht durch Modifikation des Schlusspreises (Close Price) des Trades. Der Anpassungsbetrag wird als zufälliger Prozentsatz (bis zum Max Price Adjust Percent) der ursprünglichen Preisspanne dieses spezifischen Trades (Open bis Close) berechnet. Entscheidend ist, dass diese Anpassung positiv oder negativ sein kann. Das bedeutet, dass der Jitter-Effekt zufällig zu einem etwas besseren oder etwas schlechteren Ausstiegspreis führen kann, wodurch geringfügige Abweichungen bei der Ausführung von Stop-Loss-, Profit-Target- oder Trailing-Stop-Punkten simuliert werden.
Einfach ausgedrückt: Durch die Durchführung von 500 (oder einer anderen Anzahl) Simulations-Backtests, bei denen jeweils unterschiedliche zufällige Auslassungen und zufällige bidirektionale Preisanpassungen auf die Trade-Liste angewendet werden, erhalten Sie eine Monte-Carlo-Perspektive darüber, wie empfindlich die Performance Ihrer Strategie auf kleine, zufällige Instabilitäten in ihrer eigenen Ausführungslogik oder ihrer Reaktion auf Marktdaten reagiert.
Wenn Sie beispielsweise 100 Simulationen mit diesem Test durchführen, werden 100 verschiedene Kapitalkurven generiert, von denen jede einen plausiblen Ergebnisverlauf unter Berücksichtigung dieser geringfügigen zufälligen Abweichungen darstellt.
Dieser Test unterscheidet sich erheblich von der Anwendung einer festen Slippage oder der Simulation zufälliger Ausfallzeiten. Er verschlechtert die Ergebnisse nicht einfach nur konsistent; er führt eine probabilistische Störung ein, die direkt mit der potenziellen internen Parameterempfindlichkeit der Strategie zusammenhängt. Eine Simulation überspringt möglicherweise die Trades Nr. 3 und Nr. 25, verschlechtert Trade Nr. 10 leicht und verbessert Trade Nr. 42 geringfügig. Eine andere Simulation überspringt möglicherweise nur Trade Nr. 15, wendet jedoch größere Preisanpassungen (sowohl positive als auch negative) auf die Trades Nr. 8, Nr. 33 und Nr. 50 an. Durch die Auswertung der Ergebnisverteilung über viele Simulationen hinweg können Sie die tatsächliche Robustheit der Strategie gegenüber den subtilen operativen Abweichungen bewerten, die im Live-Handel häufig auftreten.
So importieren Sie benutzerdefinierte Snippets (wie diesen Monte-Carlo-Test) in SQX:
Sie kennen mich als clonex. Ich bin Ivan Hudec – ich habe die kostenlosen Bausteine entwickelt, die Sie hier nutzen, und ich schreibe über die Forschung dahinter auf algotrading.space. Benötigen Sie eine individuelle Entwicklung? Arbeiten Sie mit mir zusammen.