Dokumentation

Anwendungen

Zuletzt aktualisiert am 2. 6. 2021 von Mark Fric

Sequentielle Optimierung

Sequentielle Optimierung

Sequentielle Optimierung ist eine neue Optimierungsmethode, die sowohl als neuer Optimierungstyp als auch als neue Gegenprobe in StrategyQuant X 132 verfügbar ist.

 

Wie es funktioniert

Nehmen wir an, wir haben eine Strategie mit 5 Parametern: Param1, Param2, Param3, Param4, Param5.

Bei der Standardoptimierung werden mit Hilfe von Brute-Force- oder genetischen Optimierungsverfahren alle möglichen Kombinationen von Werten für diese fünf Parameter durchgespielt und die Variante mit der besten Fitness verwendet.

Probleme der Standardoptimierung

  1. Führt leicht zu einer Überanpassung
    Die beste Variante wird nach der Fitness ausgewählt, aber das könnte nur ein Ausreißerwert sein, der zu den gegebenen Daten passt, und keine stabile Region. Es ist auch unmöglich zu definieren, was ein stabiler Bereich ist, wenn man nach mehr als 2 Parametern gleichzeitig optimiert.
  2. Sie kann langsam sein oder nicht den gesamten Parameterbereich abdecken. wenn viele Parameter optimiert werden
    Wenn jeder Ihrer fünf Parameter 100 mögliche Werte hat, dann gibt es 100 x 100 x 100 x 100 x 100 mögliche Kombinationen.

 

So funktioniert die sequentielle Optimierung

Sequentiell. Es optimiert diese fünf Parameter in fünf Schritten, einen nach dem anderen.

Der sequenzielle Optimierungsprozess funktioniert also wie folgt:

Schritt 1 - wird der erste Parameter Param1 optimiert.
Die übrigen Parameter werden auf ihren ursprünglichen Werten belassen.
Das Ergebnis ist der optimale (stabilste) Wert von Param1

Schritt 2 - der zweite Parameter Param2 wird optimiert.
Es wird der optimale Wert für Param1 verwendet (der im vorherigen Schritt berechnet wurde), die übrigen Parameter werden auf ihren ursprünglichen Werten belassen.
Das Ergebnis ist der optimale (stabilste) Wert von Param2.

Schritt 3 ...
Schritt 4 ...

Stufe5 - der fünfte Parameter Param5 wird optimiert.
Er verwendet den optimalen Wert für Param1, Param2, Param3, Param4, der in den vorherigen Schritten berechnet wurde.
Das Ergebnis ist der optimale (stabilste) Wert von Param5, womit die Optimierung aller fünf Parameter abgeschlossen ist.

 

Wie wird der stabile Wert eines Parameters gewählt?

Ein weiterer wesentlicher Unterschied zur Standardoptimierung besteht darin, wie der Optimierungsprozess in jedem Schritt den optimalen Parameterwert auswählt.

Anstatt die Variante mit der besten Fitness zu wählen, wird die Variante gewählt, die in der Mitte des besten stabilen Bereichs liegt, wie in der Konfiguration definiert.

Ein stabiler Bereich ist der Bereich, in dem die festgelegte Anzahl von Ergebnissen nicht schlechter ist als etwa % der besten Fitness dieser Region.

Auf diese Weise wird nicht der beste, sondern der stabilste Wert ausgewählt.

 

Was ist, wenn der Stallbereich nicht gefunden wird?

Es kann vorkommen, dass für einen bestimmten Parameter kein stabiler Bereich gefunden wird. In diesem Fall wird der ursprüngliche Wert verwendet.

Dies ist auch etwas, das bei der neuen Gegenprobe verwendet wird - wenn für einen bestimmten Prozentsatz der Parameter kein stabiler Bereich gefunden wird, wird die Strategie abgelehnt.

 

Hinweis - Abhängigkeit von den ursprünglichen Parametern

Beachten Sie, dass der Optimierungsprozess immer nur einen Parameter auf einmal optimiert - zum Beispiel wird in Schritt 1 nur Parameter 1 optimiert und die restlichen Parameter verwenden die ursprünglichen Werte.

Das bedeutet, dass das Ergebnis dieser Art von Optimierungen auch von den ursprünglichen Werten abhängt.

Es ist möglich, dass das Ergebnis der Optimierung in jedem Schritt (und die sich daraus ergebende stabile Fläche und der gewählte Wert) anders ausfallen würde, wenn beim Start unterschiedliche Ausgangswerte verwendet würden.

 

War dieser Artikel hilfreich? Der Artikel war nützlich Der Artikel war nicht nützlich

Abonnieren
Benachrichtigen Sie mich bei
4 Kommentare
Älteste
Neuestes Meistgewählt
Inline-Rückmeldungen
Alle Kommentare anzeigen
Tim Leoritzson
Tim Leoritzson
5. 7. 2021 11:18 Uhr

Danke, dass Sie diese Funktion hinzugefügt haben, ich werde sie ausprobieren.

konkaran
konkaran
6. 7. 2021 8:11 Uhr

Es scheint eine interessante Optimierungsmethode zu sein. Obwohl es ein hohes Maß an persönlicher Einschätzung gibt, können Sie einige Wertebereiche empfehlen: 1. Prozentsatz der Parameter, die den Stabilitätstest bestehen, 2. Anzahl der Ergebnisse im stabilen Bereich und 3. Fitness-Stabilitätsbereich? Vielen Dank

Lorenzo
20. 2. 2023 1:44 am

Wenn ich eine sequentielle Optimierung in ein benutzerdefiniertes Projekt einfügen möchte, an welcher Stelle ist es besser, sie einzufügen? am Ende? nachdem ich die verschiedenen Grade der Robustheit der Strategie überprüft habe? oder am Anfang?
Dankeschön

tomas262
Verwaltung
Antwort an  Lorenzo
20. 2. 2023 9:46 pm

es spielt keine große Rolle .. es ist ein weiterer Robustheitstest, so dass Sie unter den letzten Schritten Ihres Arbeitsablaufs setzen können