Dokumentation

Backtest & Optimierung

Wie partiqon Strategien auf Historien testet, optimale Parameter findet und Robustheit validiert — Backtesting, PSO-Optimierung, Walk-Forward-Validierung und WFO.

Backtesting

Ein Backtest simuliert eine Strategie auf historischen Daten. Für jeden Bar wird geprüft, ob Ein- oder Ausstiegssignale ausgelöst werden, und alle Trades mit P&L werden aufgezeichnet. Es wird kein echtes Geld verwendet — es ist reine Simulation zur Messung vergangener Performance.

So funktioniert es

  1. Daten laden: Historische Bars (OHLCV) aus BAR6-Dateien
  2. Zustand zurücksetzen: Strategie-Parameter, Indikatoren und Positionen auf Start zurücksetzen
  3. Bars durchlaufen: Jeden Bar im Zeitraum an die Strategie übergeben
  4. Signale prüfen: Erzeugt die Strategie Ein- oder Ausstiegssignale?
  5. Trades ausführen: Einstieg öffnet eine Position; Ausstieg schließt sie. Einstiegs-/Ausstiegspreis und P&L aufzeichnen
  6. Kennzahlen berechnen: Win-Rate, Drawdown, Profit-Factor usw.
  7. Ergebnisse ausgeben: Trade-Liste, Equity-Kurve, Performance-Statistiken

Wichtige Kennzahlen

⚠ Wichtig: Backtest-Ergebnisse sind historisch. Sie zeigen, was in der Vergangenheit passiert ist, nicht was in der Zukunft passieren wird. Märkte ändern sich; Strategien, die gestern funktioniert haben, müssen das heute nicht mehr. Validiere immer auf Out-of-Sample-Daten (zukünftige Daten), bevor du live handelst.

PSO-Optimierung

PSO (Particle Swarm Optimization — Partikelschwarm-Optimierung) ist ein Suchalgorithmus, der automatisch gute Parameter-Werte findet. Statt zufällige Kombinationen auszuprobieren, „schwärmen" Partikel in Richtung der besten Bereiche des Parameterraums.

Wie PSO funktioniert

  1. Suchbare Parameter definieren: Welche Block-Parameter können angepasst werden? (z.B. EMA-Periode 10–100, RSI-Level 20–50)
  2. Schwarm initialisieren: N Partikel mit zufälligen Parameter-Werten erstellen (z.B. 30 Partikel)
  3. Jeden Partikel bewerten: Backtest mit diesen Parametern ausführen. Profit-Factor (oder gewählte Metrik) aufzeichnen
  4. Bestes verfolgen: Jeder Partikel merkt sich sein bestes Ergebnis. Der Schwarm merkt sich das globale Beste.
  5. Geschwindigkeiten aktualisieren: Jeder Partikel passt seine Parameter in Richtung seines persönlichen Besten und des globalen Besten an (mit Zufälligkeit)
  6. Wiederholen: Mehrere Generationen durchlaufen (z.B. 60 Iterationen). Der Schwarm konvergiert zu guten Parametern.
  7. Champion ausgeben: Die besten Parameter aus allen Generationen

Warum PSO?

Iteration 1: Partikel → Backtest → Bewertung Iteration 2: Partikel bewegen sich zum Besten → Backtest → Bewertung Iteration 3: Partikel bewegen sich erneut → Backtest → Bewertung ... Iteration 60: Endpositionen → Bestes zurückgeben

Walk-Forward-Validierung

Die Walk-Forward-Validierung verhindert Overfitting, indem die Daten in Blöcke aufgeteilt werden: Optimierung auf dem ersten Block (In-Sample), dann Test auf dem zweiten Block (Out-of-Sample) — aber niemals gemischt.

Das Problem: Overfitting

Wenn du auf allen deinen Daten optimierst, kannst du das Rauschen in dieser spezifischen Historie anpassen. Die Parameter sehen auf der Vergangenheit hervorragend aus, versagen aber in der Zukunft. Walk-Forward bricht die Daten auf, um dies zu erkennen.

Walk-Forward-Prozess

  1. Blöcke definieren: 5-Jahres-Historie in 3 Blöcke aufteilen (z.B. je ~1,5 Jahre)
  2. Block 1 (In-Sample): PSO-Optimierung auf diesem Zeitraum ausführen. Beste Parameter finden.
  3. Block 2 (Out-of-Sample): Diese besten Parameter auf den nächsten Block testen. Wie performen sie auf ungesehenen Daten?
  4. Block 3 (Out-of-Sample): Fenster verschieben. Block 2 zur Optimierung verwenden; auf Block 3 testen.
Zeitraum: [====== Block 1 ======] [====== Block 2 ======] [====== Block 3 ======] In-Sample-Optimierung ──────────→ dann ungesehene Daten auf Block 2 testen Optimierung ──────────→ dann ungesehene Daten auf Block 3 testen

Ergebnisse interpretieren

Walk-Forward-Optimierung (WFO)

WFO kombiniert Walk-Forward-Validierung mit Optimierung: Optimierung auf jedem In-Sample-Block, dann Test des Ergebnisses auf dem nächsten Out-of-Sample-Block. Dies simuliert echtes Trading, bei dem man regelmäßig re-optimiert.

WFO-Prozess

  1. Daten aufteilen: 3 Blöcke (oder mehr). Blöcke 1, 2, 3.
  2. Zyklus 1: Optimierung auf Block 1 (In-Sample) → optimierte Parameter auf Block 2 (Out-of-Sample) testen
  3. Zyklus 2: Optimierung auf Block 2 (In-Sample) → optimierte Parameter auf Block 3 (Out-of-Sample) testen
  4. Ergebnisse zusammenführen: Alle Out-of-Sample-Trades aus Zyklen 1, 2 usw. kombinieren
  5. Kennzahlen berechnen: Profit-Factor, Drawdown usw. auf dem vollständigen aggregierten Out-of-Sample-Ergebnis
💡 Kernaussage: WFO beantwortet die Frage: "Wie wäre meine realistische zukünftige Performance, wenn ich jeden Quartal re-optimiere?" Es entspricht am ehesten der tatsächlichen Praxis von Tradern: keine einmalige Anpassung, sondern kontinuierliches Re-Fitting an aktuelle Marktbedingungen.

WFO-Interpretation

Empfohlene Vorgehensweise

  1. Bauen: Strategie mit Blöcken im Graph-Editor entwerfen
  2. Testen: Einfachen Backtest mit Standard-Parametern ausführen (2020–2026)
  3. Optimieren: PSO auf einem sauberen In-Sample-Block ausführen (z.B. 2020–2023)
  4. Validieren: Optimierte Parameter auf Out-of-Sample testen (2023–2026). Profit-Factor >1,0?
  5. Walk-Forward: WFO mit 3 Blöcken ausführen. Profit-Factor >1,5 und konsistent? Bereit zum Trading.
  6. Paper-Trading: Strategie 1–2 Wochen auf Live-Daten testen, bevor echtes Geld eingesetzt wird
  7. Re-Deployment: Jeden Quartal WFO auf den neuesten Daten erneut ausführen, um Parameter zu re-optimieren

Häufige Fehler

Nächste Schritte

Bereit, eine Strategie zu bauen? Starte im Graph-Editor auf der /graph-Seite. Oder lies die Block-Referenz, um zu verstehen, was verfügbar ist.