Release 2.10.2.2 - Einführung von Genetischen Algorithmen (GA): Auffinden von profitablen Handelssystemen innerhalb von Minuten mittels Techniken der Evolution.

Release 2.10.2.2
Neues oder Verbesserungen
  • [SHAREHOLDER-641] (Filtersystem und Handelssystem) Optimierungen nutzen Genetische Algorithmen, um die Suche nach optimalen Kombinationen mit biologischen Verfahren zu beschleunigen und eventl. vorher nicht berücksichtigte Veränderungsmöglichkeiten einfließen zu lassen (Mutation) [Weitere Dokumentation]
    undefined
  • Hier zu sehen sind die Optimierung der Money-Management-Parameter zusammen mit den Parameterindikatorenwerten. Konkret sind die Initial-Risk-Höhe, Max-Prozent pro Trade, Trailing-Risk-Höhe und die Indikatorenparameter vom AROON-Indikator in einer Optimierungsvariante für Long-Trading (setzen auf steigende Kurse) zu sehen. Die Charts auf der rechten Seite zeigen die durchschnittliche Konvergenz und die durchschnittliche Fitness pro Generation. Die Tabelle zeigt fortlaufend die "Elite" der Individien, die durch Selektion, Mutation und Rekombination gefunden werden konnten. Am Ende kann die optimale Konfiguration gespeichert werden. Der obige Durchlauf dauert ca. 4min* und ist damit den vollständigen !
  • Wie kann man sich das Prinzip vorstellen bzw. welche Schritte werden im GA umgesetzt:
      1. Initialisierung: Erzeugen einer ausreichend großen Menge unterschiedlicher „Individuen“ (Lösungskandidaten). Diese bilden die erste Generation. Die Menge wird durch die Festlegung der Populationsgröße (siehe Einstellung) bestimmt.
      2. Evaluation: Für jeden Lösungskandidaten der aktuellen Generation wird anhand einer Zielfunktion (auch Fitness-Funktion genannt) ein Wert bestimmt, der seine Güte angibt. Die Fitnessfunktion ist die Performance des Handelssystems unter den gegebenen aktuellen Genomen und damit aktuellen numerischen Parameterwerten.
      3. Selektion: Zufällige Auswahl von Lösungskandidaten aus der aktuellen Generation. Dabei werden Lösungskandidaten mit besseren Zielfunktionswerten mit einer höheren Wahrscheinlichkeit ausgewählt.
      4. Rekombination: die Daten (Genome) der ausgewählten Individuen werden gemischt und daraus neue Individuen erzeugt (Vermehrung). Durch Crossover-Möglichkeiten erfolgen dabei auch Rekombinationen auch mit Individien außerhalb der eigenen Population
      5. Mutation: Zufällige Veränderung der neuen Individuen. Hierzu dient der Einstellung der Mutationswahrscheinlichkeit.
      6. Aus den neuen Individuen und aus den Individuen der aktuellen Generation werden die Mitglieder der neuen Generation ausgewählt und mit Schritt 2 fortgefahren bis die maximale Anzahl von Generationen (siehe Einstellung) erreicht ist.
    • Die Grundidee genetischer Algorithmen ist, ähnlich der biologischen Evolution, eine Menge (Population) von Lösungskandidaten (Individuen) zufällig zu erzeugen und diejenigen auszuwählen, die einem bestimmten Gütekriterium am besten entsprechen (Auslese). Deren Eigenschaften (Parameterwerte) werden dann leicht verändert (Mutation) und miteinander kombiniert (Rekombination), um eine neue Population von Lösungskandidaten (eine neue Generation) zu erzeugen. Auf diese wird wiederum die Auslese und Rekombination angewandt. Das wird viele Male wiederholt.
  • (.1) Absofort kann die Fitnessfunktion modifiziert werden (Performance, Anzahl positiver Trades, Indikatorkaufsignale, Gewinnwahrscheinlichkeit), da sonst eine reine Performanceoptimierung zu einer Überoptimierung führen kann, die praktisch nicht handhabbar ist.
  • (.2) Optimierungen werden im Ausgangschart aktualisiert
Korrekturen - Effektive Nettoarbeitszeit: 34h
- Ein besonderes Dankeschön an alle Kunden für Ihre Fehler/Anforderungsrequest's, die mit diesem Release berücksichtigt werden konnten!

* Basis ist das Entwicklungs-PC von mir (E6850)