Maschinelles Lernen im Handel: Theorie, Modelle, Praxis und Algo-Trading - Seite 322

 
Maxim Dmitrievsky:

Der Forward ist derjenige mit dem höchsten Gewinnfaktor, und der Backtest sollte in etwa gleich sein, was bedeutet, dass das Grid in der Lage ist, normale Vorhersagen auf der Grundlage dieser Parameter zu treffen.

Nein, das ist es nicht. Forward zeigt nur den potenziellen Gewinn im realen Handel. Nehmen Sie das beste Ergebnis eines Backtests und schauen Sie sich den Fronttest an - das ist das, was Sie verdienen würden.
Sie können sogar mindestens eine profitable Vorwärtsvariante während der Optimierung erhalten, aber ein solcher EA wird abstürzen, egal wie sehr er optimiert wird. Genetics wählt mehr als 10000 Parameter aus und einige von ihnen sind sowohl im Backtest als auch im Fronttest immer profitabel, aber das ist nur ein Zufall.

Forward kann als Kontrolle für die Erstellung/Änderung von EA verwendet werden - ersetzen Sie diese drei rsi-Parameter durch etwas anderes, finden Sie genetisch neue beste Werte der Parameter und sehen Sie, was auf dem Forward passiert. Wenn die besten Backtest-Ergebnisse mit guten Forward-Ergebnissen übereinstimmen und dies während der Optimierung auf verschiedenen Zeitintervallen geschieht - dann ist der EA OK. Forward ist nicht zu lang, fast alle EAs verlieren auf dem langen Intervall ohne zusätzliche Optimierung. Zum Beispiel sind 2 Monate Backtest und eine Woche Fronttest ausreichend.


Maxim Dmitrievsky:

Ich verstehe immer noch nicht ganz, ob es besser für die Normalisierungsfunktion ist, 5000 Bars Array anstelle von 50 zu nehmen, so dass es mehr korrekte Max und Min von Anfang an finden würde und nicht aktualisieren sie mit der Zeit, weil am Anfang der Prüfung werden wir nicht ganz korrekt normalisierte Werte für die Eingabe erhalten, aber später mehr und mehr genau

Ja, mit 5000 wird es genauer. Außerdem werden im realen Handel nach dem Start des Expert Advisors, dem Neustart des Terminals usw. die Werte für min und max zurückgesetzt. Jede Optimierung geht verloren. Die Kaution wird vernichtet.
Ich versuche auch, etwas am Code zu ändern, um davon zu profitieren. Zum Beispiel habe ich einfach ein reines lineares Regressionsergebnis ohne irgendwelche Zusätze genommen und mit 1000 multipliziert, dann 0,5 hinzugefügt. Das Ergebnis wird fast immer im Bereich [0;1] liegen (wenn es außerhalb der Grenzen liegt - ich werde den Fehler im Protokoll ausgeben und den Multiplikator später verringern), der Mittelpunkt wird immer im Bereich 0,5 liegen, und es wird nie scheitern.


Maxim Dmitrievsky:

Ich würde die Diagramme immer noch umkehren und verdaulichere Werte für ein Raster angeben. Ich bin mir noch nicht sicher, wie ich z. B. die Regressionssteigung und die Autokorrelation einer stationären Reihe verbessern kann, da ich mich nicht sehr gut mit Ökonometrie auskenne, sondern nur Videoclips anschaue

Die Regressionssteigung bei stationären Reihen ist Null, Sie brauchen nicht danach zu suchen. Im Allgemeinen, wenn Sie die Steigung des aktuellen Trends auf den letzten N Bars finden wollen - dann lineare Regression ist OK, in den Code ist alles schon gut.
Die Autokorrelation wäre etwas unklar, da es sich nicht um einen einzelnen Wert, sondern um einen langen Vektor handelt (Korrelation mit Lag 1, Korrelation mit Lag 2, Korrelation mit Lag 3 usw.). All diese Werte passen nicht in das RNN.

 
Dr. Trader:

Die Steigung der Regression auf die stationäre Reihe wird Null sein, es besteht keine Notwendigkeit, danach zu suchen. Im Allgemeinen, wenn man die Steigung des aktuellen Trends auf den letzten N Balken finden will, dann ist die lineare Regression OK, alles ist schon gut im Code.
Die Autokorrelation wäre etwas unklar, da es sich nicht um einen einzelnen Wert, sondern um einen langen Vektor handelt (Korrelation mit Lag 1, Korrelation mit Lag 2, Korrelation mit Lag 3 usw.). All diese Werte passen nicht in das RNN.


Nein, nein, wir berechnen die Steigung der Regs mit Hilfe normaler Diagramme und suchen nach Autokorrelation mit Detrend, oder wir übertragen die Zyklusperiodizität von 0 auf 1, wie in der Phase des Zyklus, in der wir uns befinden

D.h. am Eingang haben wir eine Richtung in Form der Regressionssteigung und die Zyklizität innerhalb dieser Richtung

 
Maxim Dmitrievsky:

Und was halten Sie von der Idee, das RNN als eine Art Autoencoder für MLP zu verwenden?

An diesem Satz ist etwas faul :)


Ein Autoencoder ist ein Neuron, das:
1) einen Vektor (z.B. eine Scheitelpunktreihe) aufnehmen und einen anderen Vektor kürzerer Länge ausgeben kann. Eine Art der Datenkompression mit geringem Verlust.
2) Nehmen Sie den zuvor erhaltenen kurzen Datenvektor und rekonstruieren Sie daraus die Originaldaten (je nach den Verlusten des ersten Schritts fast das Original). Das ist die Dekompression.

Ein Beispiel aus der Praxis: Sie haben ein Bild im BMP-Format, einem Format, das viel Speicherplatz benötigt. Autoencoder nimmt seine Pixel und gibt uns einen neuen Vektor von Pixeln zurück - die Pixel des Bildes im JPG-Format. Dasselbe Bild, aber es nimmt weniger Speicherplatz in Anspruch und ist ein wenig wolkig.
Und dann können Sie, wenn Sie wollen, von JPG zurück zu BMP, aber die ursprüngliche Helligkeit und Brillanz wird nicht zurückgegeben.
Ich glaube nicht, dass wir den JPG-Algorithmus in die Neuronik übertragen können; das Beispiel dient nur der Verdeutlichung.


RNN nimmt in diesem Fall keine Zeitreihen, sondern den RSI und liefert nur einen Wert, nach dem die ursprünglichen Preise nicht wiederhergestellt werden können.



Maxim Dmitrievsky:

Nein, nein, die Steigung wird mit Hilfe von Normaldiagrammen berechnet, und die Autokorrelation wird mit Hilfe von Detrends gesucht, z. B. die Periodizität des Zyklus von 0 bis 1, in welcher Phase des Zyklus wir uns gerade befinden.

D.h. die Ausgabe wird die Richtung in Form der Regressionssteigung und die Zyklizität innerhalb dieser Richtung haben

Ah, ich verstehe.
 
Dr. Trader:

An diesem Satz ist etwas faul :)

Nun, das RNN nimmt zunächst nicht die Zeitreihe, sondern in diesem Fall den RSI, und es liefert nur einen Wert, wodurch die ursprünglichen Preise nicht wiederhergestellt werden können.

aber wir können die 3 rsi-Werte wieder rekonstruieren :) es hat sie einfach komprimiert und eine Wahrscheinlichkeit ausgegeben, oder? )

Autoencoder hat auch Informationsverluste... Ich verstehe den Unterschied noch nicht. Mb der Unterschied liegt lediglich in der Architektur, wir haben eine Art vereinfachte Version

 
Yuriy Asaulenko:
Ich habe auch einen Blick darauf geworfen. Imho ist dies nicht unser Fachgebiet.


Nun, warum? Ich habe Veröffentlichungen für EURUSD für M1 gesehen.

Sie müssen sich Rugarch ansehen

Von diesen GARCNs gibt es viele. Sie haben drei Gruppen von Parametern: das Modell selbst, die Art des Durchschnitts und die Art der Restverteilung. Für jeden der Parametertypen werden die neuesten Peeps angezeigt. Die Detrendierung wird weiter oben behandelt. Bei GARCH verwenden wir also ARFIMA als Detrend, d. h. mit fraktionaler Differenzierung (Hurst).

 
SanSanych Fomenko:


Nun, warum, ich habe die Veröffentlichungen für EURUSD für M1 gesehen, wie viel weiter.

Sie müssen sich Rugarch ansehen

Von diesen GARCNs gibt es viele. Sie haben drei Gruppen von Parametern: das Modell selbst, die Art des Durchschnitts und die Art der Restverteilung. Für jeden der Parametertypen werden die neuesten Peeps angezeigt. Die Detrendierung wird weiter oben behandelt. Bei GARCH erfolgt das Detrending also mittels ARFIMA, d. h. mit fraktionaler Differenzierung (Hurst).


Nun, wie kann man Garch in das Raster eintragen? Auf die gleiche Weise, wie einige Indikatoren eingetragen werden sollen. Schließlich sollte das Gitter selbst das Modell in sich selbst erstellen
 
Maxim Dmitrievsky:

Wie kann man Müll in ein Gitter einfügen? Schließlich sollte das Raster selbst das Modell in sich selbst erstellen.

Schieben Sie die anständigen Dinge nicht in die anständigen Dinge hinein.
 
SanSanych Fomenko:

Spucke auf die Netze und stecke keine anständigen Dinge in unanständige Netze

Nein, du solltest es zum Spaß machen, es ist definitiv möglich, eine Verwendung für die Netze zu finden
 
Maxim Dmitrievsky:

Nein, es ist nur eine Frage des Interesses, und es ist natürlich möglich, sich Anwendungen für Maschen auszudenken.
Alle Modelle des maschinellen Lernens und der NS sind extrem abhängig von Prädiktoren, die an die Zielfunktion angepasst werden müssen. All dies wurde oben bereits mehrfach erörtert. Das Hauptaugenmerk liegt auf der Datenverarbeitung, und das Netz selbst ist nicht wirklich wichtig.
 
SanSanych Fomenko:
Alle Modelle des maschinellen Lernens und der NS sind extrem abhängig von Prädiktoren, die an die Zielfunktion angepasst werden müssen. All dies wurde oben bereits mehrfach erörtert. Die Hauptanstrengung liegt in der Datenverarbeitung, und das Netz selbst ist nicht wirklich wichtig.

Ich habe oben gerade versucht, Prädiktorvarianten zu diskutieren :) Ich werde es versuchen, che