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

 

Das ganze Problem für Theoretiker besteht darin, Theorien aufzustellen, die in der Realität nicht existieren. Aber die Realität ähnelt manchmal einer Art Theorie. Es bleibt nur noch zu bestimmen, wie ähnlich? Und das ist es, was Theorietester tun. Ehrlich gesagt, ist ein Händler wie ein Tester. Er testet eine Strategie oder eine Theorie auf einem Depot bei seinem Broker (der Unerschrockene macht das einfach, ohne irgendwelche Theorien zu verwenden :)) ... Aber der Feigling (wie ich) ... und alles bis ins Unendliche zu überprüfen :) Sagen wir mal so ... Eintauchen in die Handelstheorie! Und wie funktioniert das wirklich? ... Wir können es nicht mit Sicherheit wissen. Wir können nur wissen, was einen Einfluss haben könnte. Ich denke, wir müssen genau verstehen, was einen Einfluss hat. Zum Beispiel der Anstieg der Kryptowährungen, der Rückgang des Ölpreises, die starken Schwankungen des Yen usw. usw. Woher bekommen wir diese Informationen? Ehrlich gesagt ... ich weiß es nicht. Ich schaue auf die Erfahrungen der Vorgänger... ...die Quelle, aus der sie ihre Daten bezogen haben, ist einfach verschwunden und... Die Fundamentalanalyse ist also etwas für schnelle und furchtlose Händler. Okay, dann komme ich zur Realität... alles, was wir tun können... ist es, den Trend und die Wiederholung dieses Trends in der Geschichte zu erfassen. Wir können einfach unverblümt ...

1. das Gleiche zu einem bestimmten Zeitpunkt einfangen (Abwärtstrend, Aufwärtstrend, Swing, Stop, Breakout)

2. versuchen Sie einige Parameter, die zum Trend beitragen (Widerstandslinien, Unterstützung)

3. Preisreaktionen auf bedeutende oder bekannte Ereignisse.

Das ist alles. Ich weiß nicht, was uns sonst noch ein Signal geben kann? Wir können Parameter für die Zeichnung des Preises auf dem Diagramm verwenden ... es sieht aus wie ein Schamane Trader tanzen mit Tamburinen! :) Die Leute mögen es tatsächlich :) Nun, der Schamane weiß, was was ist :) Natürlich wäre es schön, die Informationen aus einer zuverlässigen Quelle zu kennen, aber die Zuverlässigkeit wird in letzter Zeit immer geringer. Also kopieren wir einfach dummerweise ... was wir haben :) Wie können wir das tun? ... Nun ... ...definieren Sie ein wenig die Kopierparameter Was könnte das sein? Ja? Was könnte das sein?

 
Yuriy Asaulenko:

Ich weiß nicht, worum es hier geht?

Alles korreliert mit allem auf dem Instrument. Und das ist unvermeidlich, da alles durch Transformationen aus denselben Zeitreihen, aus denselben Daten gewonnen wird.

Mit der PCA können Sie übrigens versuchen, die Multikollinearität zu beseitigen und die Dimensionalität der Eingaben zu verringern, oder Sie können eine singuläre Dekomposition durchführen

Ich habe prinzipiell überhaupt kein Problem damit, NS an ein Stück Geschichte anzupassen, ich habe ein Problem mit adaptiven Modi und Selbstlernen. Ich habe noch keine Artikel oder andere Informationen gefunden, die das Thema gut abdecken... Ich habe meine eigenen kleinen Entwicklungen, aber sie funktionieren bisher nicht sehr gut. Aus diesem Grund ist mein Artikel über RF und adaptive Systeme vorerst ins Stocken geraten, da ich das Thema der Adaptivität so weit wie möglich abdecken wollte

Jetzt sehe ich die Lösung in adaptiven Prädiktoren, die +- korrekte Signale auf verschiedenen Charts geben werden, und die grundlegenden ns, in der Tat, wird nur einmal oder nicht sehr oft trainiert werden, dh wir sollten das Problem loswerden - wann NS und das Problem der Umschulung selbst, wenn Prädiktoren aufhören zu arbeiten, wenn der Markt ändert

 
Maxim Dmitrievsky:

Übrigens kann man mit Hilfe der PCA versuchen, die Multikollinearität zu beseitigen und die Dimensionalität der Inputs zu reduzieren, oder man kann eine singuläre Dekomposition durchführen

Ich habe kein Problem mit der Anpassung von NS an ein Stück Geschichte, ich habe ein Problem mit adaptiven Modi und Selbsttraining jetzt. Ich habe noch keine Artikel oder andere Informationen gefunden, die das Thema gut abdecken... Ich habe meine eigenen kleinen Entwicklungen, aber sie funktionieren bisher nicht sehr gut. Aus diesem Grund ist mein Artikel über RF und adaptive Systeme vorerst ins Stocken geraten, da ich das Thema der Adaptivität so weit wie möglich abdecken wollte

Dieses Ergebnis habe ich bei einem Modell von vor einer Woche erhalten.

x - Handelsnummer, y - Gesamtgewinn in p. Handel mit einem festen Lot.

Ich muss sagen, ich bin erstaunt. Seit etwa einer Woche baue ich ein richtiges System auf.

 
Yuriy Asaulenko:

Dieses Ergebnis erhielt ich bei einem Modell von vor einer Woche.

x - Handelsnummer, y - Gesamtgewinn in p. Handel mit einem konstanten Lot.

Ich muss sagen, ich bin erstaunt. Ich habe jetzt eine Woche lang ein echtes System genietet.

Ich habe eine gute Idee, echte Spreads und Kommissare zu verwenden, aber ich würde lieber die Ergebnisse sehen... + Ich verwende Slippage für kurze Trades.

und weiter :)

 
Maxim Dmitrievsky:
Wenn sie nicht daran gewöhnt sind, werden sie auf dieselbe Weise wie zu Beginn des Spiels eingesetzt. + Slippage, wenn die Trades kurz sind

Das Modell scheint all dies zu berücksichtigen. Es wird geschätzt, dass bei jedem Handel, ob erfolgreich oder nicht, 30 Pence verloren gehen. (das sind Termingeschäfte) - das ist eine Menge für sie. Test auf Daten, die während der Fehlersuche nicht verwendet wurden Fehlersuche auf Futures -6.17 - Test auf späteren Futures -9.17. Alles wird berücksichtigt, wenn möglich).

Allerdings wird es natürlich Nuancen geben. Ich nehme an, wie üblich) wird die Realität etwas schlechter sein.

Jetzt habe ich den Moment der Geschäftseröffnung erreicht. Ich trainiere - ich habe etwa ein Dutzend Einträge in einem Deal online gesehen. Scheint korrekt eingegeben zu werden.

 

Mit der SOFTMAX-Version von NS ist in der ALGLIB etwas nicht in Ordnung. Alle Antworten sind auf den ersten Ausgang ausgerichtet (bei mir ist es BUY).
Dieselben NS-Daten - Regression mit 3 Ausgängen (mit linearer Aktivierung) liefert zuverlässigere Ergebnisse:

Kaufen Verkaufen NA
0.10302356, 0.01091621, 0.88606040
0.09705416, 0.01083526, 0.89211080
0.08283979, 0.12548789, 0.79167247
1.02522414,-0.00119697,-0.02403573
0.09498582, 0.01529507, 0.88971917
1.01878489,-0.00111341,-0.01767998
0.07906346, 0.05960769, 0.86132762
0.00201949, 0.00497863, 0.99300189

in >0,5 werden plausible Antworten geben.

Les, übrigens, auch schief auf die 1.

 

Wie hoch ist die Aktivierung Ihrer Ausgangsneuronen? Ich sehe negative Werte. Das sollte es nicht sein. Sie sollten die Softmax-Aktivierung für die Ausgangsneuronen verwenden. Seine Werte liegen im Bereich von 0-1.

 
Grigoriy Chaunin:

Wie hoch ist die Aktivierung Ihrer Ausgangsneuronen? Ich sehe negative Werte. Das sollte es nicht sein. Sie sollten die Softmax-Aktivierung für die Ausgangsneuronen verwenden. Seine Werte liegen im Bereich von 0-1.

Das obige Beispiel bezieht sich auf die Regression mit linearen Ausgaben (als Arbeitsvariante). Während des Trainings füttere ich von 0 auf 1.

Bei softmax war entweder deutlich 1 oder ein paar Hundertstel weniger; aber alles am 1. Ausgang, die anderen 2 Ausgänge immer = 0. D.h. es stimmt etwas nicht mit softmax in ALGLIB...

 

Lesen Sie über die Aktivierungsfunktionen von Neuronen. Sie können der Ausgabe beliebige Werte zuweisen, aber die falsche Aktivierungsfunktion wird negative Werte erzeugen. Dies ist normalerweise eine hyperbolische Tangente. Die Softmax-Verlustfunktion wird damit nicht korrekt funktionieren. Allerdings hängt viel von der Bibliothek und der Implementierung der Verlustfunktion ab. Zum Beispiel sollten in Tensorflow die Ausgangsneuronen für die Verlustfunktion softmax keine Aktivierungsfunktion haben. Und für die korrekte Nutzung des trainierten Netzes sollten wir Softmax-Aktivierung hinzufügen. Ichhabe nicht mit derALGLIB gearbeitet, vielleicht haben sie etwas falsch gemacht. In jedem Fall sollte ein mit Softmax trainiertes Netz keine negativen Werte liefern.

 

Dies ist der Fall, wenn eine der Klassen im Vergleich zu den anderen Klassen eine sehr große Anzahl von Trainingsbeispielen hat. Zum Beispiel 2000 Trainingsbeispiele für den Kauf und nur 1000 für den Verkauf. Das Neuron kann immer "Kaufen" zurückgeben, und in diesem Fall wird es in 66 % der Fälle richtig liegen. Es ist besser, die Anzahl der Trainingsbeispiele für jede Klasse gleich zu halten.