Frage zu Genetic Build mit Ausgangspopulation
12 Antworten
mikeyc
vor 7 Jahren #115211
Hallo SQ-Team,
Wenn ich SQ verwende, um eine genetische Evolution von Strategien durchzuführen, mit einer Anfangspopulation == Populationsgröße, tut es jemals etwas anderes als die Verwendung der bestehenden Entry/Exit/Stop-Trailing-Regeln, die bereits in der Anfangspopulation enthalten sind, oder verwendet es irgendwelche zufällig ausgewählten Bausteine, die nicht in der Anfangspopulation der Strategien enthalten sind?
Danke,
Mike
Schwellenwert
vor 7 Jahren #137548
-Mutation = neue Regeln
-Crossover = Mischstrategien
unabhängig davon, ob Sie eine Ausgangspopulation laden oder eine im Rahmen von genetic erzeugen.
mikeyc
vor 7 Jahren #137558
-Mutation = neue Regeln
-Crossover = Mischstrategien
unabhängig davon, ob Sie eine Ausgangspopulation laden oder eine im Rahmen von genetic erzeugen.
Okay, danke. Wenn ich also die Mutation hochfahre, werden höchstwahrscheinlich mehr zufällige Bausteine ausgewählt. Ich werde es versuchen.
Schwellenwert
vor 7 Jahren #137566
Okay, danke. Wenn ich also die Mutation hochfahre, werden höchstwahrscheinlich mehr zufällige Bausteine ausgewählt. Ich werde es versuchen.
Definitiv verwende ich die Standardeinstellungen, weil ich in der Regel viel Zeit damit verbringe, eine gute Ausgangspopulation zu erhalten und sie einfach zu mischen und genetisch den besten Kandidaten finden zu lassen und ihn im Wesentlichen durch viele genetische Schleifen für mich zu optimieren, aber wenn Sie nur eine durchschnittliche oder qualitativ schlechte Ausgangspopulation haben, schalten Sie die Mutation hoch.
mikeyc
vor 7 Jahren #137571
Ich verwende es, weil ich einige externe Datenfeeds in SQ als benutzerdefinierte Indikatoren eingerichtet habe. Ich möchte sehen, ob diese die Leistung einiger bestehender und guter Strategien, die ich habe, verbessern.
Ich kann Improve nicht verwenden, weil es einen langjährigen Fehler in SQ gibt, der bedeutet, dass benutzerdefinierte Indikatoren niemals in Improve verwendet werden, sondern immer einen Fehler im SQ-Log erzeugen.
Ich hoffe also, dass SQ mit Hilfe der Mutation diese neuen benutzerdefinierten Indikatoren abholen wird, wenn sie die Strategien überhaupt verbessern.
mikeyc
vor 7 Jahren #137604
Die Einstellung der Mutation auf einer beliebigen Ebene scheint keine neuen/zufälligen Regeln in die Strategie einzuführen.
Mir scheint, dass das nicht funktioniert. Jede Generation ist nur eine Kombination bestehender Regeln, es werden keine neuen Bausteine in eine neue Generation eingebaut.
Es sieht so aus, als würde der genetische Teil von SQ3 nicht so funktionieren, wie ihr denkt.....
Können Sie bestätigen, dass die Mutation neue Regeln von ausgewählten Bausteinen, einschließlich benutzerdefinierter Indikatoren, einziehen sollte?
Schwellenwert
vor 7 Jahren #137617
Laden Sie dieselbe Strategie 50 Mal in die Ausgangspopulation hoch (klonen Sie sie einfach per Kopieren und Einfügen in den Ordner), setzen Sie die Ausgangspopulation auf 50, setzen Sie die Mutation auf 100% und lassen Sie sie laufen. Alle Strategien in der Datenbank mit geänderten Regeln bedeuten, dass die Mutation funktioniert.
Mach das mit einer durchschnittlichen oder schlechten Strategie. Wenn du es mit einer guten Strategie machst, werden die Mutationen nicht in der Datenbank auftauchen, weil sie herausgefiltert werden. Gib dem Ganzen Zeit.
tomas262
vor 7 Jahren #137623
Ja, die Mutation sollte richtig funktionieren. Nach einiger Zeit sollten Sie geänderte Regeln sehen
mikeyc
vor 7 Jahren #137624
mikeyc
vor 7 Jahren #137633
Ich glaube, dass es einen Fehler im Genetic Build gibt, wenn man eine hohe Mutation (100%) und benutzerdefinierte Indikatoren verwendet.
Alle Strategien, die auf der Registerkarte "Letzte Generation" generiert werden, verwenden entweder die vorhandenen Regeln oder die gesamte Liste der Strategien auf der Registerkarte flackert sehr schnell, und der Quellcode der Strategie zeigt:
IndicatorParameters - die Namen der Indikatorparameter sind nicht identisch mit der Anzahl der Parameter in den Konstanten! 0 1
Im Fehlerprotokoll wird nichts protokolliert, dies erscheint im Pseudocode, während die Strategienamen wie verrückt in der Registerkarte list.... blinken.
Es sieht also so aus, als ob die benutzerdefinierten Indikatoren im genetischen Build über mutation..... nicht funktionieren.
mm07
vor 7 Jahren #139951
tomas262
vor 7 Jahren #139961
Hallo,
Die Mitglieder der Population werden auf der Grundlage ihrer Fitness (d. h. Net Profit oder andere Optimierungskriterien) miteinander verglichen. Die fitteren Mitglieder werden als "Eltern" ausgewählt, um ein neues Mitglied der Population zu erzeugen, das die schwächeren (weniger fitten) Mitglieder ersetzt.
Mark Fric
vor 7 Jahren #141519
Ich füge lediglich hinzu, dass die Auswahl nach dem Zufallsprinzip unter Verwendung von Wahrscheinlichkeiten erfolgt. Wenn die Strategie eine höhere Fitness hat, ist es auch wahrscheinlicher, dass sie als Elternteil für eine neue Strategie ausgewählt wird.
Mike - danke für den Fehlerbericht. Es ist möglich, dass es einen Fehler in den benutzerdefinierten Indikatoren gibt, die in der Mutation oder Evolution verwendet werden. Oder vielleicht ist das Problem, dass benutzerdefinierte Indikator kann nicht mutieren und es nur auf das Kopieren der gleichen benutzerdefinierten Indikator in jede Strategie zu halten.
Mark
StrategyQuant Architekt
Ansicht von 12 Antworten - 1 bis 12 (von insgesamt 12)