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

 
Dr. Trader:

Dies ist in Reshetovs RNN, dem Wahrscheinlichkeitsmodell, der Fall.

Und dann ist da noch jPredictor, das Mikhail verwendet. Reshetovs Neuron, es gibt eine Menge Inputs und eine Art von Training anstelle von Gradientenabstieg.


Ich habe versucht, das Problem aus dem ersten Beitrag über die NS von Alglib zu lösen. Das Netz ist 20-5-1. Erfolgreich. Aber sehr lange, Sie haben etwa 2 Sekunden Lösung. Meine Berechnungen durchschnittlich 10-20 min, gibt es Varianten in 2 min von 1 Zyklus, aber offenbar stolpert es durch Zufall, muss ich 20 Zyklen des Lernens zu setzen, um zuverlässig zu sein ... Oder 100000 Iterationen, wie in der folgenden Variante

Alert: Durchschnittlicher Fehler im Abschnitt Training (60,0%) =0.000 (0,0%) nLearns=2 NGrad=68213 NHess=0 NCholesky=0 codResp=2
Alert: Durchschnittlicher Fehler im Abschnitt Validierung (20,0%) =0.000 (0.0%) nLearns=2 NGrad=68213 NHess=0 NCholesky=0 codResp=2
Alert: Durchschnittlicher Fehler im Test (20.0%) Abschnitt =0.000 (0.0%) nLearns=2 NGrad=68213 NHess=0 NCholesky=0 codResp=2

Berechnungszeit=22.30 min
0 Summengewicht=3.2260
1 Summengewicht=0.0000
2 Summengewicht=3.2258
3 Summengewicht=0.0000
4 Summengewicht=8.7035
5 Summengewicht=0.0000
6 Summengewicht=3.2253
7 Summengewicht=0.0000
8 Summengewicht=3.2258
9 Summengewicht=0.0000
10 sum weight=3.2251
11 sum weight=0.0000
12 sum weight=0.0000
13 sum weight=0.0000
14 sum weight=0.0000
15 sum weight=0.0000
16 sum weight=0.0000
17 sum weight=0.0000
18 sum weight=0.0000
19 sum weight=0.0000

Ich möchte schneller sein...
Wenn das Problem nicht bei 20, sondern bei 200 Eingängen liegt, werden es Dutzende von Stunden sein.
Das Herausfiltern von niedrig korrelierten Outputs oder hoch korrelierten Inputs entfernt wichtige Inputs, selbst wenn man Fishers LDA ausprobiert - entfernt ebenfalls wichtige Inputs. Die Sichtung mit diesen Methoden ist also nicht hilfreich, sondern eher hinderlich.

Offensichtlich bleibt eine lange Lösung für alle Eingaben einmal, das Aussieben der Eingaben durch die Summe der Gewichte und das Erhalten eines Modells für die zukünftige Verwendung. Dann wird beispielsweise einmal pro Woche mit der reduzierten Anzahl von Eingaben neu trainiert.

Ich dachte daran, diese Aufgabe vielleicht aus Geschwindigkeitsgründen an MS Azure zu übertragen, um die Gesamtgewichtung der Eingaben zu ermitteln und sie dann in meinem Modell zu verwenden. Ich habe ein wenig experimentiert, aber ich weiß nicht, woher die Gewichte stammen...

 
Das ist richtig, Brüder!!! Richtig, mit Hilfe des Optimierers von Resolute. Ich möchte also die Berechnungen auf dem Grafikprozessor durchführen. Hat jemand so etwas schon einmal gemacht? Da JPrediction parallelisiert ist, muss das Programm nur auf dem Grafikprozessor ausgeführt werden. Weiß jemand, wie man ein JAVA-Programm auf der GPU ausführt? Ich denke, nützliches Wissen wäre....
 
Mihail Marchukajtes:
Das ist richtig, Brüder!!! Das tue ich, ich verwende den Optimierer von Resolute. Daher möchte ich die Berechnungen auf dem Grafikprozessor durchführen. Wer würde so etwas tun? Da JPrediction parallelisiert ist, muss das Programm nur auf dem Grafikprozessor ausgeführt werden. Weiß jemand, wie man ein JAVA-Programm auf der GPU ausführt? Ich denke, nützliches Wissen wäre....

Können Sie mir einen Link zu einer funktionierenden Version und eine Beschreibung geben?
 
Mihail Marchukajtes:
Hallo zusammen!!!! Ich bin froh, dass dieser Thread nicht tot ist und immer noch lebt, deshalb habe ich eine Frage an die Öffentlichkeit. Ich habe einen Datensatz für das Training, aber leider ist er so groß geworden, dass das Training zu lange dauert. Kann jemand ein Modell mit seiner eigenen Arbeit bauen und dann werden wir sehen, wie es zusammen funktioniert!!!!!.
Ihr Satz hingegen ist mit 111 Merkmalen und 452 Punkten SEHR klein. Aber wenn die Daten korrekt sind (Targeting wird nicht mit Chips verwechselt), dann gibt es einen Vorteil von 3-4% (Genauigkeit - 53,5%), wenn für einen großen Investmentfonds oder eine Bank, im mittelfristigen Handel ist dies genug, für einen Intrade mit einem riesigen Leverage und ein paar k$ Depot natürlich nicht.
 
Aljoscha:
es besteht ein Vorteil von 3-4 % (Genauigkeit - 53,5 %)
Welches Modell wurde verwendet und in welcher Konfiguration? Warum beschlossen, dass dies nicht ein zufälliges Ergebnis ist, bin ich nicht mit diesem Datensatz einverstanden, dann 47%, dann 50, dann 53
 
Aljoscha:
Ihr Satz hingegen ist mit 111 Merkmalen und 452 Punkten SEHR klein. Aber wenn die Daten vernünftig gesammelt werden (Targeting wird nicht mit Chips verwechselt), dann gibt es 3-4% Vorteil (Genauigkeit - 53,5%), wenn für einen großen Investmentfonds oder eine Bank, wenn der Handel in der mittelfristigen genug ist, für eine intrade mit riesigen Leverage und ein paar k$ depo natürlich nicht.

Ich denke, es würde auch für einen Intraday-Handel ausreichen, wenn ich 50 Pips besser einsteige als das Signal. Ich denke, es reicht aus, wenn wir 50 Pips über dem Signal liegen. Sie werden mehr verdienen als der Spread.
 
Maxim Dmitrievsky:

Können Sie mir einen Link zu einer funktionierenden Version und eine Beschreibung geben?

Was bedeutet das? Ein Link zu JPrediction?
 
Aljoscha:
Ihr Satz hingegen ist mit 111 Merkmalen und 452 Punkten SEHR klein. Aber wenn die Daten vernünftig gesammelt werden (Targeting wird nicht mit Chips verwechselt), dann gibt es 3-4% Vorteil (Genauigkeit - 53,5%), wenn für einen großen Investmentfonds oder eine Bank, wenn der Handel mittelfristig genug ist, für Intraday mit riesigen Leverage und ein paar k$ Depot natürlich nicht.

Ich weiß nicht, ob das so klein ist. Das ist wie ein ganzer Terminkontrakt in 3 Monaten. Die Frage ist etwas anderes. Ich habe noch zwei Wochen, die nicht im Netz sind. Also dachte ich, ich baue ein Modell und führe es an diesem Beispiel durch. Aber mit JPrediction wird die Ausbildung Wochen dauern, was nicht gut ist. Deshalb wollte ich das Modell mit anderen Algorithmen erstellen und sehen, wie das Modell funktioniert.
 
Auch dieser Satz ist für die Klassifizierung bestimmt. Das heißt, die Ausgangsvariable enthält bereits eine Vorhersage. Wenn wir ein belastbares Modell verwenden, müssen wir die Ausgangsvariable nicht vorhersagen, sondern nur das Modell auf sie abstimmen, da der Ausgang bereits in der Zukunft liegt. Das war's, wenn Sie mich richtig verstanden haben.
 

Eine andere Möglichkeit ist, das Programm auf einem Grafikprozessor laufen zu lassen und die Geschwindigkeit der Berechnungen um mindestens das 10-20fache zu erhöhen. Ich denke, dass es hier Fortschritte geben würde.... Aber die Informationen im Internet sind sehr alt, und ich kann nicht erkennen, wie man das macht. Ich bin nicht so gut im Programmieren. Ich bin ein Huhn :-)

Hinter dieser ganzen Aufregung steht folgende Idee. Es spielt keine Rolle, welcher Algorithmus verwendet wird (obwohl es natürlich wichtig ist). WICHTIG ist die Art der Daten, wie sie gesammelt und für die Schulung aufbereitet werden. Das wollte ich überprüfen. Ich wollte überprüfen, ob es in den von mir gesammelten Daten wirklich Fische gibt. Hier ist ein Beispiel.

Grund der Beschwerde: