Skip to main content

Chart-Parameter-Optimierung mit genetischen Algorithmen

Ziel

Die Genetische Algorithmen sollen als heuristische Optimierungsverfahren und evolutionäre Algorithmen die triviale und einfache lineare Suche nach globalen Optimums für Einstellungen im Money-Management und Indikatorenwerten erleichert und teilweise überhaupt erst möglich machen.

Quick-Guide

(1) Chart aufrufen und einen Indikator auswählen

(2) Indikatorsignalgebung einstellungen und für den Hauptchart übernehmen

(3) Handelssystem für den aktuellen Indikator aufrufen

(4) Ergebnisse des Handelssystems prüfen und über die genetischen Algorithmen schrittweise optimieren

image-1655729165362.png

Hintergrundwissen

Wie kann man sich das Prinzip vorstellen bzw. welche Schritte werden im GA umgesetzt:

    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. 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. 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. 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 Individuen außerhalb der eigenen Population Mutation: Zufällige Veränderung der neuen Individuen. Hierzu dient sowohl die Einstellung für die Mutationswahrscheinlichkeit. 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.

    Arbeitsschritte

    Konfiguration

    image-1655729183784.png

    Wenn Sie wollen starten Sie einfach mit "Starten", da die Standardeinstellungen in vielen Fällen sehr gut funktionieren.

    Titel

    Beschreibung

    Population

    Anzahl von Individuen pro Population

    Generation

    Anzahl von Generationen zur Findung eines Optimums

    Chromosom-Mutation

    Modifikationsparameter bei Mutation eines Genoms

    Crossover-Wahrscheinlichkeit

    Wahrscheinlichkeit zur Durchführung von Crossover -Mutationen, d.h. zwei Chromosome tauschen Ihre Positionen an verschiedenen Genen, womit zwei neue Chromosomen erzeugt werden.

        Crossover Punkte zwischen 1 und 4:
        1 234 567890 --> 1 999 567890
        8 999 888888 --> 8 234 888888

        Crossover Punkte zwischen 9 und 10):
        123456789 0 --> 123456789 0
        888888888 9 --> 888888888 9

    Alles zwischen den zwei Punkten wird in den Eltern-Chromosomen geswapped und es werden so zwei neue Kinder erzeugt. Das Verfahren wird daher auch als Two-Point-Crossover benannt.

    image-1655729189322.png

    Zufällige Selektion in %

    Elementar ist ein Selektionsmechanismus in der Evolution der Individuen. Diese orientiert sich grundsätzlich an der Fitness dieser. Mit der zufälligen Selektions-Wahrscheinlichkeit werden Individuen in die nächste Generation übernommen unabhängig von Ihrer "Performance" bzw. Fitness. Es soll so ein ausreichend breiter Individien-Stand gesichert werden.

    Optimale Indikatorenoptimierungen speichern

    Nur mit aktivierter Checkbox, werden die gefundenen optimierte Parameter nach abgeschlossener Berechnung gespeichert in den Indikatoren-Parameter-Einstellungen. Verwendet wird aktuell die zugrundeliegende Indikatoren-Gruppe, die auch im Chart eingestellt war.

    Optimale Handelssystem-Einstellungen speichern

    Nur mit aktivierter Checkbox, werden die gefundenen optimierte Parameter nach abgeschlossener Berechnung gespeichert in den aktuellen Handelssystem-Einstellungen.

    Anlageform

    Long=Optimierung für steigende Kurse
    Short=Optimierung auf fallende Kurse

    Auswertungstabelle

    image-1655729226240.png

    Die Tabelle zeigt fortlaufend die "Elite" der Individien an, die eine neue optimale Performance aufzuweisen haben.

    Titel

    Bedeutung

    Titel

    Bedeutung

    Generation

    X. Generation in der Evolution. Praktisch gleichzusetzen mit dem Anzahl der Durchläufe. Gestartet wird bei 0.

    Gen/Population

    X. Population innerhalb einer Generation. Gestartet wird bei 0.

    Fitness

    Aktuelle Performance es Handelssystems mit den nachfolgenden Einstellungen / Spaltenwerten

    MaxKapRisk

    Money-Management: Maximale Kapital Risiko pro Trade

    InitStopp

    Money-Management:Initialer Risk-Stopp, d.h. Abstand zwischen Stopp-Kurse und Einstiegskurs

    TrailingStopp

    Money-Management:Trailing-Stopp

    Up-Tage

    Indikator: 1. Parameterwert. Praktisch damit nur ein Beispiel und unterscheidet sich je nach verwendeten Indikator.

    Down-Tage

    Indikator: 2. Parameterwert. Praktisch damit nur ein Beispiel und unterscheidet sich je nach verwendeten Indikator.

    Fortschritts-Charts

    image-1655729230959.png

      Durchschnittliche Fitness pro Generation: Durchschnittswerte aller Individuen in einer Generation. Der Wert läuft im Normalfall den "Eliten" hinterher, da der Durchschnittswert und nicht das Maximum in einer Generation herangezogen wird. Die Fitness ist natürlich gleichzusetzen mit der Performance des Handelssystems. Durchschnittliche Konvergenz pro Generation: Wie stark unterscheiden sich die Individuen pro Generation. Durch initiale zufällige Befüllungen und einer schrittweisen Optimierung zeigt die Kurve oft eine konkave Kurve.