Diskussion zum Artikel "Algorithmen zur Optimierung mit Populationen: Saplings Sowing and Growing up (SSG)" - Seite 6
Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Es ist klar, dass bei einem kompetenten Ansatz niemand nach demselben Gleichgewichtskriterium optimiert. Sie versuchen, das Fehlen von Überschreitungen, die statistisch signifikante Anzahl von Transaktionen usw. zu berücksichtigen.
Ich habe hier ein wenig über das Thema geschrieben.
Sie sollten in jedem Durchgang ein ähnliches Bild der Geschäfte erhalten. Hier sehen Sie die "Rogue Trades" und die TC Bricks.
Um das Optimierungskriterium zu bilden, ist es wünschenswert, die Geschäfte, die Ausreißer sind, herauszuwerfen.
Aber das ist das Thema der Bildung eines geeigneten FF. Selbst wenn sie völlig ohne Spitzen ist und einen hügeligen Charakter hat, werden diese Hügel nicht durch einen einzigen abgeschlossenen Durchgang gefunden werden. Deshalb mache ich es auf diese Weise.
Forum zum Thema Handel, automatisierte Handelssysteme und Testen von Handelsstrategien
Diskussion des Artikels "Populationsoptimierungsalgorithmen: Saplings Sowing and Growing up (SSG) Algorithmus"
fxsaber, 2023.03.22 00:32
Ich finde indirekt durch die erzwungene Unterbrechung der Optimierung, wenn eine große Anzahl von Kernen beteiligt ist. Grob gesagt, gibt es 20 Agenten im Tester, ich unterbreche die Optimierung nach 2000 Durchläufen.
Wenn man ein oder zwei Jahre lang jeden Tag eine vollständige Optimierung für eine TK mit zwei Parametern durchführt, um ein ähnliches Bild zu erhalten, und dann aus diesen Bildern ein Video erstellt, erhält man etwas wie dieses:
Es wäre naiv anzunehmen, dass die Oberfläche statisch bleibt.
Die Frage ist also:
Was ist der Sinn?
Ehrlich gesagt, ist dies kein spezieller Wunsch, sondern ein Werkzeug, das in einer seriösen Software für Algo-Trading - Tester - enthalten sein muss.
Aber es ist realistisch, es selbst zu tunen.
Forum zum Thema Handel, automatisierte Handelssysteme und Testen von Handelsstrategien.
Diskussion über den Artikel "Populationsoptimierungsalgorithmen: Saplings Sowing and Growing up (SSG) Algorithmus"
fxsaber, 2023.03.23 19:51
wenn man die Daten der zu schneidenden Fläche hat, kann man sehr leicht (auch im normalen Tester) die Optimierung ohne diese Flächenangabe machen.
Aber mir fehlt völlig die Kompetenz, wie man den Bereich um das gefundene globale Maximum in den GA-Ergebnissen definiert.
GA-Algorithmen sind ganz anders. Ich nehme an, dass, wenn ein Maximum in 1000 Durchläufen gefunden wird und der Algorithmus anhält, die letzten 100 Durchläufe Punkte um das gefundene Maximum sind. Dann nehmen wir einfach diese 100 Punkte und bilden sofort den Bereich, der bei zukünftigen Optimierungen weggeworfen wird.
Wenn derselbe reguläre GA nur einmal ausgeführt wird, sollten die letzten 100 Einträge in der opt-Datei im Prinzip diese Punkte sein. Ich bin mir jedoch nicht sicher, ob dies bei einem Multi-Core-Ansatz der Fall ist. Deshalb ist eine Art von Clustering erforderlich. Es gibt eine ganze Reihe von Artikeln zu diesem Thema, Sie sollten sie studieren.
Es wäre naiv anzunehmen, dass die Oberfläche statisch bleiben würde.
Ich brauche einen relativ statischen Punkt in dieser blubbernden Oberfläche. Die habe ich gefunden.
Und doch sollten wir das Thema nicht auf die Kunst und den Sinn des Kochens reduzieren. Man braucht einen Topf zum Kochen.
Reduzieren Sie das Thema jedoch nicht auf das Können und die Bedeutung des Kochens. Man braucht einen Topf zum Kochen.
+++
Ehrlich gesagt, ist dies kein spezieller Wunsch, sondern ein Tool, das in einer seriösen Algo-Trading-Software enthalten sein muss - der Tester.
Aber Sie können es wirklich selbst tunen
GA-Algorithmen sind ganz anders. Ich nehme an, dass, wenn ein Maximum für 1000 Durchläufe gefunden wird und der Algorithmus anhält, die letzten 100 Durchläufe Punkte um das gefundene Maximum sind. Dann nehmen wir einfach diese 100 Punkte und bilden sofort eine Region, die bei künftigen Optimierungen weggeworfen wird.
Wenn derselbe reguläre GA nur einmal ausgeführt wird, sollten die letzten 100 Einträge in der opt-Datei im Prinzip diese Punkte sein. Ich bin mir jedoch nicht sicher, ob dies bei einem Multi-Core-Ansatz der Fall ist. Deshalb ist eine Art von Clustering erforderlich. Es gibt eine ganze Reihe von Artikeln zu diesem Thema, ich muss recherchieren.
Ich glaube, dass die letzten 100 Datensätze für verschiedene Algorithmen auffallend unterschiedlich sein werden. Aus Erfahrung kann ich es mir leisten, das zu glauben, also ist es vernünftig zu bemerken, dass die Auswahl von Algos für Aufgaben Sinn macht, nicht einfach den besten aus der Tabelle zu nehmen...
Daher finde ich die Idee, eine solche Bewertungstabelle zu erstellen, sinnvoll.
Ein Hoch auf das Ranking! Mehr Objektivität. Aber ich bin immer noch ein bisschen verwirrt. Ich schaue mir immer noch die praktischen Probleme an, mit denen ich konfrontiert bin.
Im Tester würde ich ein Häkchen bei "Bereiche mit gefundenen Maxima früherer Optimierungen wegwerfen" hinzufügen.
Dann den ersten Lauf ohne dieses Häkchen, den Rest - mit aktiviertem Häkchen. Machen Sie 20 Optimierungen - erhalten Sie 20 Spitzenwerte.
Dann lade sie in OOS-check (20 einzelne Läufe) und werte sie aus, während du gleichzeitig den gesamten TS/FF auswertest.
Ich brauche einen relativ statischen Punkt auf dieser blubbernden Oberfläche. Ich habe diese gefunden...
aber dennoch denke ich, dass das Finden solcher Punkte einen probabilistischen Charakter hat.
Meine Botschaft ist, dass es keine Eingangsparameter geben sollte, die eine "Optimierung" am TS-Eingang erfordern. Solche Parameter machen den TS zu einer Münze.
Auch die interne Selbstoptimierung von internen Parametern ist Selbstbetrug.
Im Tester würde ich ein Kontrollkästchen "Bereiche der gefundenen Maxima früherer Optimierungen verwerfen" hinzufügen.
Unabhängige Implementierung: