Neuro-Prognose von Finanzreihen (auf der Grundlage eines Artikels) - Seite 9

 
nikelodeon:


Letztendlich können wir nach dem Sammeln von Statistiken zu dem Schluss kommen, dass ein Trainingsziel von maximalem Gleichgewicht nicht immer eine gute Sache ist. Aber es gibt eine etwas andere Frage, nämlich wie man das Ziel findet, dass NS in Zukunft gut funktioniert.

Ich habe verschiedene Varianten meines Expert Advisors mit NS ausprobiert, d.h. nach Saldo, Gewinnfaktor, erwarteter Auszahlung, Drawdown in Einzahlungswährung und Drawdown in %. Und ich habe mir die Vorwärtstests sowohl vor als auch nach der Optimierung angesehen.

Es scheint, dass, wenn wir nach dem minimalen Drawdown in der Einzahlungswährung optimieren und dann diesen minimalen Drawdown aus den Optimierungsergebnissen auswählen, beide Forwards erfolgreich sind. Wenn der minimale Drawdown-Wert bei mehreren Optimierungsergebnissen gleich ist, sollten Sie dasjenige auswählen, das die größte Ausgewogenheit aufweist.

Zusätzlich wurde festgestellt, dass, wenn man nach dem minimalen Drawdown in der Einzahlungswährung optimiert und dann das Ergebnis mit dem maximalen Gewinnfaktor auswählt, die Vorwärtstests ebenfalls erfolgreich sind, aber die Ergebnisse sind bereits schlechter als im vorherigen Fall.

Diese Methode liefert jedoch nur Ergebnisse für einen einzigen EA. Andere Expert Advisors mit demselben NS, aber anderen Eingaben, verfügen nicht über eine solche Funktion, und bisher konnten wir für sie keine Methoden zur Definition von Anzeichen von Optimierungsergebnissen für erfolgreiche Vorwärtstests herausfinden.

 
Reshetov:

Habe verschiedene Varianten meines EA mit NS ausprobiert, z.B. nach Saldo, Gewinnfaktor, erwarteter Auszahlung, Drawdown in Einzahlungswährung und Drawdown in %. Und ich habe mir die Vorwärtstests sowohl vor als auch nach der Optimierung angesehen.

Es scheint, dass, wenn wir nach dem minimalen Drawdown in der Einzahlungswährung optimieren und dann diesen minimalen Drawdown aus den Optimierungsergebnissen auswählen, beide Forwards erfolgreich sind. Wenn der minimale Drawdown-Wert bei mehreren Optimierungsergebnissen gleich ist, sollten Sie dasjenige auswählen, das die größte Ausgewogenheit aufweist.

Zusätzlich wurde herausgefunden, dass, wenn man nach dem minimalen Drawdown in der Einzahlungswährung optimiert und dann das Ergebnis mit dem maximalen Gewinnfaktor auswählt, die Vorwärtstests ebenfalls erfolgreich sind, aber die Ergebnisse sind schlechter als im vorherigen Fall.

Diese Methode liefert jedoch nur für einen EA Ergebnisse. Andere EAs mit demselben NS, aber anderen Eingaben, haben diese Funktion nicht, und bisher konnten wir für sie keine Methoden zur Bestimmung der Anzeichen von Optimierungsergebnissen für erfolgreiche Vorwärtstests finden.

Die Gewichtung in neuronalen Netzen erfordert Billionen von Variationen, und ha kann nur 10-18 Tausend herausgeben.

Es wäre also richtig, die Optimierung mehrmals (mindestens fünfmal) im ha-Modus durchzuführen und erst dann etwas Geeignetes auszuwählen.

 
Reshetov:

Es stellt sich heraus, dass, wenn man nach dem minimalen Drawdown in der Einzahlungswährung optimiert und dann genau diesen minimalen Drawdown aus den Optimierungsergebnissen auswählt, dann sind beide Forwards erfolgreich. Wenn der Wert des minimalen Drawdowns für mehrere Optimierungsergebnisse gleich ist, müssen Sie dasjenige auswählen, das das maximale Gleichgewicht aufweist.

Zusätzlich wurde herausgefunden, dass, wenn man durch einen minimalen Drawdown in der Einzahlungswährung optimiert und dann das Ergebnis mit dem maximalen Gewinnfaktor auswählt, die Vorwärtstests ebenfalls erfolgreich sind, aber die Ergebnisse sind schlechter als im vorherigen Fall.

Diese Methode liefert jedoch nur Ergebnisse für einen einzigen EA. Andere Expert Advisors mit demselben NS, aber anderen Eingaben, verfügen nicht über eine solche Funktion, und bisher ist es uns nicht gelungen, für sie Methoden zur Definition von Anzeichen von Optimierungsergebnissen für erfolgreiche Vorwärtstests herauszufinden.

Und die Anzahl der Geschäfte wird kontrolliert? NS ist flexibel, und wenn wir nur den minimalen Drawdown als Trainingszielfunktion festlegen, kann es leicht eine Option mit Null Drawdown finden. Wenn die Architektur und die Mathematik des konkreten NS es zulassen, kann er einfach einige Gewichte finden, so dass es nur wenige (statistisch unbedeutende) Abschlüsse, aber keine Inanspruchnahme geben wird... Vielleicht ist das der Grund, warum es mit anderen Eingängen und Netzen nicht funktioniert?

Ich verwende oft eine ähnliche Variante: Kriterium = maximaler Saldo - Drawdown, aber mit obligatorischer Kontrolle der Mindestanzahl von Geschäften. D.h. ich glaube, dass NS mindestens 100 Trades pro Jahr machen muss, und wenn es ein super Ergebnis anzeigt, aber mit 99 Trades - wird das Ergebnis automatisch verworfen...

 
mersi:

Die Gewichtung in neuronalen Netzen erfordert Billionen von Optionen, und ga kann nur 10-18 Tausend davon ausgeben.

Das Richtige wäre also, die Optimierung mehrmals (mindestens fünfmal) im ha-Modus durchzuführen und erst dann etwas Geeignetes auszuwählen.


Verwenden Sie einen GA-Tester, um den NS zu trainieren? Wie haben Sie das gemacht, und welche Art von NS sind das? Wie viele "Skalen" können Sie mit diesem Ansatz "anpassen"?
 
Figar0:

Verwenden Sie GA-Tester, um NS zu trainieren? Wie haben Sie das gemacht, und welche Art von NS sind das? Wie viele "Skalen" können Sie mit diesem Ansatz "anpassen"?

Während Yuri antwortet, erzähle ich Ihnen, was ich getan habe.

Insgesamt gibt es 21 Gewichte. Die Variablen nehmen Werte von -1 bis 1 an. Ich habe den Schritt der Variablenoptimierung auf 0,05 gesetzt.

Kleinere Schritte kann ich nicht machen, weil die Anzahl der Kombinationen am Limit des Optimierers liegt - 19 Ziffern, ich kenne solche Zahlen gar nicht.

Das heißt, es war das Limit für den Optimierer, etwa 99999999999999999.

Mein Thema: https://www.mql5.com/ru/forum/126476

 
Figar0:

Verwenden Sie GA-Tester für den NS-Unterricht? Wie haben Sie das gemacht, und welche Art von NS sind das? Wie viele "Gewichte" können Sie mit diesem Ansatz "anpassen"?

20 Synapsen.

8 Eingänge

4 + 3 verborgene Schichten

1 Ausgang

alle Neuronen mit Fa - hyperbolischer Tangens

===========

Es gibt drei solcher Netze. Die Ergebnisse aller drei bilden einen Ausschuss.

Zunächst wird das erste Netz trainiert, die Ausgänge der beiden anderen sind Null.

Wenn die erste Option aktiviert ist, wird die zweite optimiert, um den Drawdown auf ein Minimum zu reduzieren und gleichzeitig den Gewinn zu erhalten oder zu erhöhen.

dann wird das dritte Netz mit den beiden bereits bestehenden verbunden und die Gewichte werden wie im vorherigen Fall angepasst

 
Figar0:

Und die Anzahl der Geschäfte wird kontrolliert? NS ist flexibel. Wenn wir einfach den minimalen Drawdown als Ziel-Lernfunktion festlegen, kann NS leicht eine Option mit Null Drawdown finden.

Der Metatrader-Tester kann keinen Null-Drawdown erzeugen, da er nach dem Eigenkapital und nicht nach dem Saldo berechnet. Das heißt, selbst wenn alle Geschäfte gewinnbringend sind, wird der Drawdown nicht gleich Null sein, da Candlesticks Schatten haben.

Und es wäre nicht wünschenswert, eine solche Anpassung so vorzunehmen, dass es überhaupt keine Verlustgeschäfte gibt. Mit sehr seltenen Ausnahmen versagen solche Beschläge bei Vorwärtsprüfungen.

 
mersi:

Die Gewichtung in neuronalen Netzen erfordert Billionen von Optionen, und ga kann nur 10-18 Tausend davon ausgeben.

Das Richtige wäre also, die Optimierung im ha-Modus mehrmals (mindestens fünfmal) durchzuführen und erst dann etwas Geeignetes auszuwählen.

Sie wählen die falsche Architektur des neuronalen Netzes. Eigentlich sollte das Raster so beschaffen sein, dass eine geringfügige Änderung der Einstellungen (Gewichte und Schwellenwerte) zu demselben Ergebnis bei den Ausgaben führt. Wenn die Netzarchitektur zu sehr ausgereift ist, braucht sie eine besonders geschickte Abstimmung, und das Ergebnis einer solchen Überauslegung ist ein Übertraining (Anpassung).

Zum Beispiel ist meine Architektur so, dass 10 000 Durchläufe von GA bereits redundant sind, d.h. nach der Optimierung erscheinen ähnliche Ergebnisse (nach Saldo, Gewinnfaktor, erwarteter Auszahlung und Drawdown) mit leicht unterschiedlichen Einstellungen. Dadurch kann das Gitter in einem größeren Bereich von Einstellungen korrekte Ergebnisse liefern - es ist dickhäutiger.

 

Erläuterung zum vorherigen Beitrag.

Nehmen wir an, es ist Ihnen gelungen, ein Netz zu trainieren, das in der Lage ist, zwischen den Mustern 3 und 6 zu unterscheiden.

Der Zweck des zweiten und dritten Netzes (in meinem Fall) besteht darin, zu verhindern, dass der Expert Advisor ausgelöst wird, wenn er auf die Muster h und b trifft, die das erste Netz fälschlicherweise für 3 und 6 hält.

 
Reshetov:

Sie haben die Architektur des neuronalen Netzes nicht richtig ausgewählt. Das Raster sollte so beschaffen sein, dass eine geringfügige Änderung der Einstellungen (Gewichte und Schwellenwerte) zu demselben Ergebnis bei den Ausgaben führt. Wenn die Gitterarchitektur angepasst wird, ist eine Feinabstimmung erforderlich, und das Ergebnis solcher Anpassungen ist ein Übertraining (Anpassung).

Zum Beispiel ist meine Architektur so, dass 10 Tausend Durchläufe von GA bereits überflüssig sind, d.h. nach der Optimierung erscheinen ähnliche Ergebnisse (Bilanz, Gewinnfaktor, erwarteter Payoff und Drawdown) mit leicht unterschiedlichen Einstellungen. Dadurch kann das Gitter in einem größeren Bereich von Einstellungen korrekte Ergebnisse liefern - es ist dickhäutiger.

Alle Forscher von neuronalen Netzen sind mit dieser Aussage nicht einverstanden.

In fast allen Artikeln über ns kann man lesen, dass ein Netzwerk umso besser ist, je mehr Neuronen es hat, aber gleichzeitig darf es nicht zu viele davon haben.

Deshalb tendieren die meisten von ihnen zu Netzwerken mit 2-3 versteckten Schichten.