1. 8. 2025

5 2

Monte Carlo - MACHR-Block-Randomisierung

In der realen Welt des Handels folgen die Marktbedingungen nicht einer vorhersehbaren Abfolge. Bullenmärkte, Bärenmärkte, Phasen hoher Volatilität und Konsolidierungsphasen können in sehr unterschiedlicher Reihenfolge über verschiedene Zeiträume oder Instrumente hinweg auftreten. Eine Strategie, die während einer bestimmten Abfolge von Marktbedingungen gut abschneidet, könnte Schwierigkeiten haben, wenn dieselben Bedingungen in einer anderen Reihenfolge auftreten. Diese Monte-Carlo-Simulation wurde speziell entwickelt, um zu testen, wie robust Ihre Strategie gegenüber Veränderungen in den Marktbedingungen ist. Abfolge der Marktregelungenohne die internen Merkmale zu zerstören, die jede Regimeperiode definieren.

Der MACHR (Market Condition Historical Randomization)-Block-Randomisierungstest befasst sich mit einer grundlegenden Frage: "Was wäre, wenn die gleichen Marktbedingungen auftreten würden, aber in einer anderen Reihenfolge?"

Wenn wir diesen Monte-Carlo-Test anwenden, führt die Simulation eine ausgeklügelte Form der Randomisierung ein, die mit folgenden Faktoren arbeitet Blöcke von aufeinanderfolgenden Geschäften und nicht einzelne Geschäfte:

  1. Blockerstellung: Die ursprüngliche Handelssequenz wird in Blöcke von aufeinanderfolgenden Geschäften unterteilt (standardmäßig 5 Geschäfte pro Block, konfigurierbar von 2-50). Jeder Block stellt eine zusammenhängende Periode des Marktverhaltens dar, wobei die internen Beziehungen zwischen Abschlüssen, die während ähnlicher Marktbedingungen erfolgten, erhalten bleiben.
  2. Bootstrap-Blockstichproben: Anstatt einfach nur einzelne Geschäfte zu mischen, werden bei der Simulation Blöcke nach dem Zufallsprinzip mit Ersatz ausgewählt (bootstrap sampling). Dies bedeutet, dass einige Marktregimeperioden (Blöcke) mehrfach in einer Simulation auftreten können, während andere gar nicht erscheinen - so wird nachgeahmt, wie bestimmte Marktbedingungen in einigen Perioden dominieren können, während sie in anderen nicht vorkommen.
  3. Erhaltung der Regimestruktur: Innerhalb jedes ausgewählten Blocks werden die ursprüngliche Handelssequenz und die Timing-Beziehungen beibehalten. Dadurch bleiben die authentische Marktmikrostruktur, die Einstiegs-/Ausstiegsbeziehungen und die regimespezifischen Verhaltensmuster erhalten, die definieren, wie Ihre Strategie unter diesen Bedingungen tatsächlich funktioniert hat.
  4. Zeitstempel-Rekonstruktion: Nach der Blockrandomisierung rekonstruiert die Simulation optional chronologische Zeitstempel, um die korrekte Berechnung der Equity-Kurve und der Performance-Metriken beizubehalten und sicherzustellen, dass die randomisierte Sequenz als plausible alternative Marktgeschichte erscheint.

Stellen Sie sich zum Beispiel vor, Ihr ursprünglicher Backtest enthielt diese Handelsblöcke:

  • Block 1: 5 Trades während eines steigenden Bullenmarktes
  • Block 2: 5 Abschlüsse während einer Konsolidierung mit hoher Volatilität
  • Block 3: 5 Trades während eines Bärenmarktrückgangs
  • Block 4: 5 Abschlüsse während der Erholung bei niedriger Volatilität

Eine Simulation könnte zu einem Bootstrap führen: Block 2 → Block 1 → Block 2 → Block 4, wodurch ein Szenario entsteht, in dem Volatilitätsphasen dominieren, Trendphasen reduziert werden und Bärenmärkte völlig fehlen. Eine andere Simulation könnte Folgendes erzeugen: Block 3 → Block 3 → Block 1 → Block 4, wodurch ein Szenario mit einer starken Baisse und einer anschließenden Erholung entsteht.

Dieser Test unterscheidet sich grundlegend von der Randomisierung einzelner Geschäfte oder von Jitter-Tests für Parameter. Anstatt die Empfindlichkeit gegenüber Ausführungsschwankungen oder Parameterinstabilität zu testen, bewertet die MACHR-Blockrandomisierung speziell Abhängigkeit von der Regimesequenz. Sie gibt Aufschluss darüber, ob der Erfolg Ihrer Strategie auf eine glückliche Abfolge von Marktbedingungen zurückzuführen ist oder ob sie auch bei verschiedenen plausiblen Arrangements derselben Marktbedingungen Bestand hätte.

Durch die Durchführung von mehr als 500 Simulationen generieren Sie eine Verteilung der Leistungsergebnisse, die widerspiegelt, wie Ihre Strategie in verschiedenen möglichen "Marktgeschichten" abschneiden könnte - die jeweils dieselben Arten von Marktbedingungen enthalten, aber in neu gemischter Abfolge. Dies gibt Aufschluss darüber, ob der Vorteil Ihrer Strategie wirklich unabhängig vom Marktgeschehen ist oder ob sie von bestimmten Abfolgen von Marktbedingungen abhängt, die sich in der Zukunft möglicherweise nicht wiederholen.

Eine Strategie, die über alle MACHR-Simulationen hinweg eine konsistente Performance aufweist, zeigt echte Regimestabilität. Umgekehrt deutet eine hohe Varianz in den Simulationsergebnissen darauf hin, dass die Strategie möglicherweise zu stark von der jeweiligen historischen Abfolge der Marktregime in Ihren Backtest-Daten abhängig ist.

Wie importiert man benutzerdefinierte Snippets (wie diesen Monte Carlo-Test) in SQX? https://strategyquant.com/doc/programming-for-sq/import-export-custom-indicators-and-other-snippets/

Ihr kennt mich als clonex. Ich bin Ivan Hudec – ich habe die kostenlosen Blöcke entwickelt, die Sie hier nutzen, und ich schreibe über die Forschung, die dahintersteckt, unter algotrading.space. Brauchst du etwas bauen zu lassen? Arbeite mit mir zusammen.
2 Kommentare
Älteste
Neueste Meistbewertet
Pepe
4. 8. 2025 14:31 Uhr

Toll!!!

Patrick Vale
6. 9. 2025 7:26 Uhr

Ich kann die Datei nicht herunterladen. Es wird nur der Textbrowser Google Chrome angezeigt.