Backtest-Experte
Systematischer Ansatz zum Backtesting von Handelsstrategien, basierend auf professioneller Methodik, die Robustheit über optimistische Ergebnisse stellt.
Kernphilosophie
Ziel: Finde Strategien, die "am wenigsten kaputt gehen", nicht Strategien, die auf dem Papier "am meisten profitieren".
Prinzip: Füge Reibung hinzu, stressteste Annahmen und beobachte, was überlebt. Wenn eine Strategie unter pessimistischen Bedingungen Bestand hat, ist sie im Live-Handel wahrscheinlicher erfolgreich.
Wann dieser Skill verwendet werden sollte
Verwende diesen Skill, wenn:
- Systematische Handelsstrategien entwickelt oder validiert werden
- Bewertet wird, ob eine Handelsidee robust genug für die Live-Implementierung ist
- Probleme behoben werden, warum ein Backtest irreführend sein könnte
- Die richtige Backtesting-Methodik erlernt wird
- Häufige Fallstricke vermieden werden sollen (Kurvenanpassung, Look-Ahead-Bias, Survivorship-Bias)
- Parametersensitivität und Regimeabhängigkeit bewertet werden
- Realistische Erwartungen an Slippage und Ausführungskosten gesetzt werden
Voraussetzungen
- Python 3.9+ (für das Auswertungsskript)
- Keine API-Schlüssel erforderlich
- Keine externen Datenabhängigkeiten – Metriken werden vom Benutzer bereitgestellt
Arbeitsablauf
1. Formuliere die Hypothese
Definiere den Vorteil in einem Satz.
Beispiel: "Aktien, die über 3% bei Gewinnmitteilungen gappen und innerhalb der ersten Stunde auf den Schlusskurs des Vortages zurückfallen, bieten eine Mean-Reversion-Möglichkeit."
Wenn du den Vorteil nicht klar formulieren kannst, fahre nicht mit dem Testen fort.
2. Kodifiziere Regeln ohne Ermessensspielraum
Definiere mit vollständiger Spezifikation:
- Einstieg: Exakte Bedingungen, Zeitpunkt, Preisart
- Ausstieg: Stop-Loss, Gewinnziel, zeitbasierter Ausstieg
- Positionsgröße: Fester €-Betrag, % des Portfolios, volatilitätsbereinigt
- Filter: Marktkapitalisierung, Volumen, Sektor, Volatilitätsbedingungen
- Universum: Welche Instrumente sind teilnahmeberechtigt
Kritisch: Keine subjektiven Beurteilungen erlaubt. Jede Entscheidung muss regelbasiert und eindeutig sein.
3. Führe den ersten Backtest durch
Teste über:
- Mindestens 5 Jahre (vorzugsweise 10+)
- Mehrere Marktregime (Bullenmarkt, Bärenmarkt, hohe/niedrige Volatilität)
- Realistische Kosten: Kommissionen + konservative Slippage
Prüfe erste Ergebnisse auf grundlegende Rentabilität. Wenn grundlegend fehlerhaft, iteriere die Hypothese.
4. Stressteste die Strategie
Hier sollten 80 % der Testzeit verbracht werden.
Parametersensitivität:
- Teste Stop-Loss bei 50 %, 75 %, 100 %, 125 %, 150 % des Basiswerts
- Teste Gewinnziel bei 80 %, 90 %, 100 %, 110 %, 120 % des Basiswerts
- Variiere Einstiegs-/Ausstiegszeitpunkte um ±15–30 Minuten
- Suche nach "Plateaus" stabiler Performance, nicht nach engen Spitzen
Ausführungsreibung:
- Erhöhe Slippage auf das 1,5–2-Fache der typischen Schätzungen
- Modelliere Worst-Case-Fills (Kauf zum Ask+1 Tick, Verkauf zum Bid-1 Tick)
- Füge realistische Auftragsablehnungsszenarien hinzu
- Teste mit pessimistischen Kommissionsstrukturen
Zeitliche Robustheit:
- Analysiere die Performance Jahr für Jahr
- Fordere positive Erwartungshaltung in der Mehrheit der Jahre
- Stelle sicher, dass die Strategie nicht auf 1–2 außergewöhnliche Perioden angewiesen ist
- Teste separat in verschiedenen Marktregimen
Stichprobengröße:
- Absolute Untergrenze: 30 Trades
- Bevorzugt: 100+ Trades
- Hohe Konfidenz: 200+ Trades
5. Out-of-Sample-Validierung
Walk-Forward-Analyse:
- Optimiere auf dem Trainingszeitraum (z. B. Jahr 1–3)
- Teste auf dem Validierungszeitraum (Jahr 4)
- Rolle vorwärts und wiederhole
- Vergleiche die In-Sample- mit der Out-of-Sample-Performance
Warnsignale:
- Out-of-Sample < 50 % der In-Sample-Performance
- Häufige Neuoptimierung von Parametern erforderlich
- Parameter ändern sich dramatisch zwischen den Perioden
6. Bewerte die Ergebnisse
Fragen, die beantwortet werden müssen:
- Überlebt der Vorteil pessimistische Annahmen?
- Ist die Performance stabil über Parametervariationen?
- Funktioniert die Strategie in mehreren Marktregimen?
- Ist die Stichprobengröße für statistische Konfidenz ausreichend?
- Sind die Ergebnisse realistisch, nicht "zu gut, um wahr zu sein"?
Entscheidungskriterien:
- ✅ Einsetzen: Überlebt alle Stresstests mit akzeptabler Performance
- 🔄 Verfeinern: Kernlogik ist solide, benötigt aber Parameteranpassung
- ❌ Aufgeben: Fällt bei Stresstests durch oder basiert auf fragilen Annahmen
Verwende das Auswertungsskript für eine strukturierte, quantitative Bewertung:
python3 skills/backtest-expert/scripts/evaluate_backtest.py \
--total-trades 150 \
--win-rate 62 \
--avg-win-pct 1.8 \
--avg-loss-pct 1.2 \
--max-drawdown-pct 15 \
--years-tested 8 \
--num-parameters 3 \
--slippage-tested \
--output-dir reports/
Das Skript bewertet in fünf Dimensionen (Stichprobengröße, Erwartungswert, Risikomanagement, Robustheit, Ausführungsrealismus), erkennt rote Flaggen und gibt ein Einsetzen/Verfeinern/Aufgeben-Urteil aus.
Wichtige Testprinzipien
Bestrafe die Strategie
Füge überall Reibung hinzu:
- Höhere Kommissionen als in der Realität
- Slippage 1,5–2-fach typisch
- Worst-Case-Fills
- Auftragsablehnungen
- Teilausführungen
Begründung: Strategien, die pessimistische Annahmen überleben, sind im Live-Handel oft überlegen.
Suche Plateaus, nicht Spitzen
Suche nach Parameterbereichen, in denen die Performance stabil ist, nicht nach optimalen Werten, die Leistungsspitzen erzeugen.
Gut: Strategie profitabel mit Stop-Loss irgendwo zwischen 1,5 % und 3,0 % Schlecht: Strategie funktioniert nur mit Stop-Loss bei genau 2,13 %
Stabile Performance deutet auf einen echten Vorteil hin; enge Optima deuten auf Kurvenanpassung hin.
Teste alle Fälle, nicht nur ausgewählte Beispiele
Falscher Ansatz: Untersuche handverlesene "Marktführer", die funktioniert haben Richtiger Ansatz: Teste jede Aktie, die die Kriterien erfüllt, einschließlich derer, die versagt haben
Selektive Beispiele erzeugen Survivorship-Bias und überschätzen die Strategiequalität.
Trenne Ideengenerierung von Validierung
Intuition: Nützlich zum Generieren von Hypothesen Validierung: Muss rein datengetrieben sein
Lass niemals zu, dass die Bindung an eine Idee die Interpretation von Testergebnissen beeinflusst.
Häufige Fehlermuster
Erkenne diese Muster frühzeitig, um Zeit zu sparen:
- Parametersensitivität: Funktioniert nur mit exakten Parameterwerten
- Regimespezifisch: In manchen Jahren großartig, in anderen schrecklich
- Slippage-Sensitivität: Unprofitabel bei realistischen Kosten
- Kleine Stichprobe: Zu wenige Trades für statistische Konfidenz
- Look-Ahead-Bias: "Zu gut, um wahr zu sein"-Ergebnisse
- Überoptimierung: Viele Parameter, schlechte Out-of-Sample-Ergebnisse
Siehe references/failed_tests.md für detaillierte Beispiele und einen Diagnoseansatz.
Ausgabe
reports/backtest_eval_<timestamp>.json— strukturierte Bewertung mit dimensionenspezifischen Bewertungen, roten Flaggen und Urteilreports/backtest_eval_<timestamp>.md— menschenlesbarer Bericht mit Dimensionstabelle, wichtigsten Metriken und Details zu roten Flaggen
Ressourcen
Methodik-Referenz
Datei: references/methodology.md
Wann lesen: Für detaillierte Anleitungen zu spezifischen Testtechniken.
Inhalte:
- Stresstestmethoden
- Parametersensitivitätsanalyse
- Slippage- und Reibungsmodellierung
- Anforderungen an die Stichprobengröße
- Klassifizierung von Marktregimen
- Häufige Verzerrungen und Fallstricke (Survivorship, Look-Ahead, Kurvenanpassung usw.)
Referenz zu fehlgeschlagenen Tests
Datei: references/failed_tests.md
Wann lesen: Wenn eine Strategie Tests nicht besteht, oder um aus vergangenen Fehlern zu lernen.
Inhalte:
- Warum Fehler wertvoll sind
- Häufige Fehlermuster mit Beispielen
- Rahmen für die Dokumentation von Fallstudien
- Checkliste für rote Flaggen zur Bewertung von Backtests
Kritische Erinnerungen
Zeitliche Aufteilung: Verbringe 20 % mit dem Generieren von Ideen, 80 % damit, sie zu brechen.
Kontextfreiheitsanforderung: Wenn eine Strategie "perfekten Kontext" benötigt, um zu funktionieren, ist sie nicht robust genug für systematischen Handel.
Rote Flagge: Wenn Backtest-Ergebnisse zu gut aussehen (>90 % Gewinnquote, minimale Drawdowns, perfektes Timing), überprüfe sorgfältig auf Look-Ahead-Bias oder Datenprobleme.
Einschränkungen des Tools: Verstehe die Fähigkeiten und Grenzen deiner Backtesting-Plattform:
- Kann sie Walking-Forward-Optimierung durchführen?
- Kann sie realistische Slippage-Modelle verarbeiten?
- Erlaubt sie komplexe regelbasierte Logik ohne Einschränkungen?
Dokumentation als Pflicht: Dokumentiere jeden Testlauf mit Parametern, Zeitraum und Ergebnissen. Gute Dokumentation verhindert das Wiederholen fehlgeschlagener Ansätze.