Springe zum Inhalt

Hilfe-Center

Help Center articles

Wie vermeidet man Overfitting?

Overfitting (Überanpassung) ist eine häufige Herausforderung im algorithmischen Handel, bei der eine Strategie so fein abgestimmt wird, dass sie auf historischen Daten außergewöhnlich gut abschneidet, aber bei zukünftigen, unbekannten Marktbedingungen versagt. Die Vermeidung von Overfitting stellt sicher, dass Ihre Handelsstrategien in realen Szenarien robust und profitabel bleiben. Hier sind einige effektive Techniken, um Overfitting bei der Strategieentwicklung zu vermeiden, insbesondere wenn Sie Tools wie denExpress Generatorverwenden.

1.Verwenden Sie einen großen und vielfältigen Datensatz

Overfitting tritt häufig auf, wenn eine Strategie zu eng auf einen kleinen Satz historischer Daten zugeschnitten ist. Um dies zu vermeiden:

  • Verwenden Sie so viele Daten wie möglich: Stellen Sie sicher, dass die Strategie an Daten aus mehreren Jahren getestet wird, einschließlich Perioden mit unterschiedlichen Marktbedingungen (bullisch, bärisch, Seitwärtsphasen).
  • Beziehen Sie vielfältige Marktbedingungen ein: Verwenden Sie Daten aus verschiedenen Marktregimen (Volatilität, Trends, Krisen), um sicherzustellen, dass Ihre Strategie nicht nur für einen spezifischen Typ von Umfeld optimiert ist.
  • Vermeiden Sie Cherry-Picking bei den Daten: Verwenden Sie vollständige Datensätze, anstatt bestimmte Perioden auszuschließen, die Ihre Strategie schlechter aussehen lassen könnten.

2.Out-of-Sample-Testing

Out-of-Sample-Testing (Testen mit Daten außerhalb des Trainingsdatensatzes) ist eine entscheidende Technik, um zu beurteilen, wie gut Ihre Strategie auf Daten abschneidet, mit denen sie nicht trainiert wurde.

  • Teilen Sie Ihre Daten auf: Verwenden Sie einen Teil Ihrer historischen Daten für die Strategieoptimierung (In-Sample) und den Rest für das Testen (Out-of-Sample). Wenn Sie beispielsweise über 10 Jahre an Daten verfügen, nutzen Sie die ersten 7 Jahre für die Optimierung und die restlichen 3 Jahre für das Testen.
  • Überwachen Sie die Performance: Wenn Ihre Strategie In-Sample gut, aber Out-of-Sample schlecht abschneidet, ist sie wahrscheinlich überoptimiert (overfitted). Eine Strategie, die in beiden Perioden konsistent performt, kann sich eher gut verallgemeinern.

InExpress Generatorkönnen Sie Out-of-Sample-Testing mit diesen Parametern einstellen:

data_start_percent = 0
data_end_percent = 100

Passen Sie diese Werte an, um den Prozentsatz der Daten anzugeben, die für das Training und das Testen verwendet werden sollen.

3.Forward Testing

Nach dem Backtesting ist Forward Testing unerlässlich, um zu bewerten, wie sich die Strategie auf ungesehenen Echtzeitdaten verhält.

  • Paper Trading in Echtzeit durchführen: Forward Testing beinhaltet das Ausführen der Strategie in einer Demo- oder Paper-Trading-Umgebung mit Echtzeitdaten. Dies testet die Anpassungsfähigkeit der Strategie an reale Marktbedingungen.
  • Performance über Wochen oder Monate überwachen: Stellen Sie sicher, dass die Strategie über verschiedene Marktbedingungen hinweg eine konsistente Performance beibehält, und vermeiden Sie es, die Strategie basierend auf kurzfristigen Ergebnissen anzupassen.

InExpress Generatorkönnen Sie Forward Testing mit diesen Parametern aktivieren:

use_forward_testing = true
preload_data_bars = 0

4.Begrenzen Sie die Komplexität der Strategie

Zu komplexe Strategien sind anfälliger für Overfitting, da sie dazu neigen, sich zu eng an die historischen Daten anzupassen, einschließlich Rauschen oder zufälligen Marktschwankungen.

  • Begrenzen Sie die Anzahl der Indikatoren: Verwenden Sie nur wenige Schlüsselindikatoren, von denen bekannt ist, dass sie unter verschiedenen Bedingungen gut funktionieren, anstatt einer großen Kombination von Signalen.
  • Vermeiden Sie zu viele Parameter: Je mehr anpassbare Parameter eine Strategie hat, desto höher ist das Risiko von Overfitting. Halten Sie es einfach, indem Sie übermäßige Optimierungen von Stop-Loss, Take-Profit oder Indikator-Parametern vermeiden.

InExpress Generatorkönnen Sie die Anzahl der Indikatoren mit diesen Parametern begrenzen:

max_entry_slots = 3
max_exit_slots = 2

Dies schränkt die Anzahl der Ein- und Ausstiegsregeln ein und reduziert die Chance auf Overfitting.

5.Legen Sie strenge Akzeptanzkriterien fest

Das Festlegen aussagekräftiger Akzeptanzkriterien stellt sicher, dass Strategien nicht nur aufgrund von Zufлück beim Backtesting gut abschneiden, sondern über solide Risiko-Rendite-Merkmale verfügen.

  • Konzentrieren Sie sich auf wesentliche Performance-Metriken: Verwenden Sie Metriken wie denProfit Factor,Return to Drawdown,Gewinn/Verlust-Verhältnis, undStagnation. Strategien, die diese Schwellenwerte erfüllen, sind wahrscheinlich robuster.

Beispiel für die Kriterienkonfiguration:

min_count_of_trades    = 100
min_profit_factor = 1.5
min_return_to_drawdown = 2.0

Diese Werte stellen sicher, dass die Strategie eine angemessene Anzahl von Trades und ein gutes Gleichgewicht zwischen Risiko und Ertrag hat.

6.Monte-Carlo-Simulation

Monte-Carlo-Simulationen können verwendet werden, um Strategien unter verschiedenen Marktbedingungen, Ausführungsproblemen und Parameterabweichungen zu stresstesten.

  • Marktbedingungen randomisieren: Führen Sie zufällige Spreads, Slippage und übersprungene Trade-Einstiege ein, um reale Bedingungen zu simulieren und zu testen, ob die Strategie dagegen robust ist.
  • Parameterabweichungen simulieren: Führen Sie kleine zufällige Änderungen an den Parametern der Strategie ein (wie Indikatorperioden) und sehen Sie, ob die Strategie weiterhin gut funktioniert. Eine Strategie, die ihr Verhalten bei kleinen Parameteränderungen drastisch ändert, ist wahrscheinlich überoptimiert (overfitted).

Beispiel-Setup für Monte Carlo:

enable_monte_carlo            = true
count_of_tests = 20
spread_max = 30
slippage_max = 20
skip_entries_percent = 2
ind_params_max_change_percent = 20

Dieses Setup führt 20 Tests durch, führt Spread- und Slippage-Variationen ein und randomisiert Indikatorparameter, um die Resilienz der Strategie zu testen.

7.Konservative Backtest-Einstellungen verwenden

Stellen Sie sicher, dass die Backtesting-Annahmen realistisch sind, insbesondere in Bezug auf die Handelsausführung:

  • Slippage und Spread berücksichtigen: Stellen Sie sicher, dass Backtests die tatsächlichen Handelsbedingungen widerspiegeln, indem Sie Spreads und Slippage berücksichtigen.
  • Realistische Stop-Loss- und Take-Profit-Werte verwenden: Optimieren Sie diese Parameter nicht übermäßig. Verwenden Sie Bereiche, die auf angemessenen Markterwartungen basieren, anstatt sie auf historische Daten fein abzustimmen.

Beispiel inExpress Generator:

spread = 20
slippage_max = 10

Dies berücksichtigt reale Bedingungen, bei denen Trades mit einem leichten Nachteil gegenüber idealen Bedingungen ausgeführt werden.

8.Kreuzvalidierung

Kreuzvalidierung ist eine Technik aus dem maschinellen Lernen, bei der mehrere Teilmengen der Daten für Tests und Validierungen verwendet werden.

  • Daten in mehrere Teile aufteilen: Rotieren Sie die In-Sample- und Out-of-Sample-Zeiträume mehrmals. Jeder Split testet einen anderen Teil der Daten und stellt sicher, dass die Strategie nicht auf einen einzigen Satz von Bedingungen überoptimiert ist.

InExpress Generatorkönnen Sie mehrere Datendateien aus verschiedenen Zeiträumen oder Märkten erstellen und die Strategie auf jeder von ihnen testen.

9.Data Snooping und Überoptimierung vermeiden

Überoptimierung tritt auf, wenn eine Strategie übermäßig fein auf die historischen Daten abgestimmt ist. Dies kann zu einer Strategie führen, die perfekt zu vergangenen Daten passt, aber in echten Märkten versagt.

  • Angemessene Parameterbereiche festlegen: Anstatt eine Strategie auf exakte Werte fein abzustimmen, verwenden Sie breitere Bereiche für Indikatoren wie gleitende Durchschnitte oder RSI-Perioden.
  • Vermeiden Sie es, die Strategie nach jedem Fehlgeschlagene anzupassen: Jede Strategie wird Verluste haben, aber das Anpassen der Regeln nach jeder schlechten Performance führt wahrscheinlich zu Overfitting.

10.Regelmäßige Neubewertung

Märkte entwickeln sich weiter, und eine Strategie, die in der Vergangenheit gut funktioniert hat, benötigt möglicherweise im Laufe der Zeit Anpassungen oder sogar einen Ersatz. Bewerten Sie die Strategie regelmäßig neu:

  • Leistung kontinuierlich überwachen: Behalten Sie wichtige Kennzahlen wie Drawdown, Gewinn/Verlust-Verhältnis und Profit-Faktor im Auge und vergleichen Sie diese mit der historischen Performance.
  • Daten regelmäßig aktualisieren: Aktualisieren Sie Ihre Datensätze, um sicherzustellen, dass Ihre Strategie mit den aktuellsten Informationen arbeitet.

Fazit

Um Overfitting zu vermeiden, ist es wichtig, diverse Daten zu verwenden, realistische Akzeptanzkriterien festzulegen und Ihre Strategie mit Techniken wie der Monte-Carlo-Simulation und Forward-Testing auf Belastbarkeit zu prüfen. Halten Sie Strategien einfach, konzentrieren Sie sich auf Robustheit und bewerten Sie die Performance kontinuierlich im Zeitverlauf neu. Durch die Befolgung dieser Praktiken können Sie Handelsstrategien entwickeln, die sowohl in historischen als auch in realen Märkten gut funktionieren.

Bewerten und rezensieren
HilfreichNicht hilfreich