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

 
mytarmailS:

1. Warum normalisieren Sie manuell? Es gibt scale()

2. Warum ist die Korrelation -1 und 1 gut? nur wenn 1 gut ist, ist -1 sehr schlecht, wenn ich die Idee richtig verstehe, ist -1 eine umgekehrte Korrelation

3) Haben Sie versucht, den Fehler eines trainierten Modells in einem gleitenden Fenster zu überwachen, und wenn es Ihnen nicht passt, das Modell neu zu trainieren und zu sehen, was dann passiert?

4. und die globale Idee, warum alles so schlecht funktioniert, der Markt ist nicht stationär, wir müssen ein anderes Konzept der Merkmalsbildung ausarbeiten, vielleicht ganz zum Paradigma der logischen Regeln übergehen, ich denke, wir sollten uns fast ganz von den Zahlen entfernen, oder die Spektralanalyse studieren)))))

1) Ich konnte noch nie skalieren(), es skaliert und zentriert mitten im Nirgendwo. Idealerweise wäre es besser, das Caret-Paket für die Vorverarbeitung zu verwenden, da es alles gut skaliert/zentriert, aber die Verwendung eines anderen Pakets wäre für ein so einfaches Beispiel zu umständlich

2) Eine Korrelation nahe Null bedeutet, dass es keine Korrelation gibt; dies ist der schlechteste Fall. Der Gewinn aus dem Test sagt in diesem Fall nichts über den potenziellen Gewinn aus neuen Daten aus.
-1 ist, wenn eine hohe Genauigkeit beim Training zu durchweg schlechten Ergebnissen bei den neuen Daten führt. Aber gleichzeitig bedeutet ein niedriges Ergebnis in der Ausbildung ein besseres Ergebnis bei den neuen Daten :) Dies kann passieren, wenn das Modell leicht an die Daten angepasst und neu trainiert wird und bei einem niedrigen Trainingsergebnis einfach nicht genug Zeit hat, um sich die Daten einzuprägen und irgendwie auf wundersame Weise ins Positive umschlägt. Beispielsweise kann die Genauigkeit bei Trainingsdaten zwischen 0,9 und 1 variieren, wobei 0,9 in diesem Fall als "niedrig" gilt, während die Genauigkeit bei neuen Daten zwischen 0,5 und 0,6 variiert, wobei 0,6 als "hoch" gilt. Das heißt, das Modell mit dem schlechteren Ergebnis wird nicht neu trainiert und verfügt über eine bessere Verallgemeinerungslogik, so dass das Ergebnis auf den neuen Daten ebenfalls besser ist.
All das ist zwar schön formuliert, aber in der Realität habe ich noch nie eine stabile negative Korrelation gesehen. Es ist bequemer und einfacher, auf +1 zu gehen.

3) Ich werde zwar verstehen, dass das Modell nicht zu mir passt - aber es wird einige Zeit vergehen, in der es so viel verlieren wird, dass ein normales Modell dann nicht mehr funktionieren wird. Sie können neue Modelle zunächst auf einem Demokonto handeln - aber es kann veraltet sein, bis das Modell profitabel wird und ich es auf einem echten Konto handele. Ich habe es nicht ausprobiert. Ich überprüfe lieber vorher, ob der gesamte Lernalgorithmus funktioniert und konsistent profitable Modelle liefert, und setze etwas, dem ich vertraue, um auf dem echten Konto zu handeln.
Wenn der Lernalgorithmus gut ist, ist es besser, ein altes Arbeitsmodell mit neuen Daten zu aktualisieren, als neue Modelle von Grund auf zu erstellen.

4) Feature Engineering ist gut. Ich verwende zum Beispiel Indikatoren von mt5 und nicht den bloßen Preis.

 
Dr. Trader:
Und mit welcher Genauigkeit sagt Ihr gutes Modell die Farbe einer nachlaufenden Kerze bei neuen Daten unter realen Bedingungen voraus? Sie handeln auf dem Tages-Chart, richtig?
 
mytarmailS:
Und mit welcher Genauigkeit sagt Ihr gutes Modell die Farbe eines Kerzenständers in den neuen Daten unter realen Bedingungen voraus? Sie handeln auf dem Tages-Chart, richtig?

Ich habe H1, das Ziel ist die Farbe der nächsten Kerze. Die Vorhersagegenauigkeit liegt zwar nur bei 55 %-60 %, aber das reicht aus. Selbst in einem Trend steigt der Kurs nicht immer, sondern springt ständig auf den nächsten Balken auf und ab, so dass diese Sprünge die Genauigkeit merklich beeinträchtigen. Das Wichtigste ist, dass das Modell selbst nicht fluktuiert und einmal in den Handel eingetreten, würde es bis zum Ende des Trends in ihm sitzen.

 
Dr. Trader:

Das Wichtigste ist, dass das Modell nicht von sich aus zuckt, und wenn es einmal in den Handel eingestiegen ist, bleibt es dort bis zum Ende des Trends. Das Wichtigste ist, dass das Modell selbst nicht wackelt, und wenn es einmal in den Handel eingestiegen ist, sollte es dort bis zum Ende des Trends bleiben.

Gibt es eine Möglichkeit, das Ziel zu glätten?
 
mytarmailS:

Dieses Gefühl, wenn man glaubt, den Markt zu verstehen...

Das Gefühl, wenn ein weiterer Flop kommt (( :)
 

sehr interessantes Video.... über Merkmalsauswahl, Algorithmen und sogar ein wenig über Märkte

https://www.youtube.com/watch?v=R3CMqrrIWOk

 
mytarmailS:

sehr interessantes Video.... über Merkmalsauswahl, Algorithmen und sogar ein wenig über Märkte

https://www.youtube.com/watch?v=R3CMqrrIWOk

Das ist wirklich interessant. Es ist schade, dass es nicht viel über Märkte im Besonderen gibt, so etwas wie "Wenn ich anfange, die Ölpreise vorherzusagen, werde ich wahrscheinlich umgebracht" :) (mein Zitat ist ungenau, ich habe es aus dem Gedächtnis geschrieben).

Die erste halbe Stunde des Videos - hier hat Alexey im Thread darüber geschrieben. Sogar R-Code war beigefügt. Ich kann es jetzt nicht mehr finden, ich muss erst Dutzende von Seiten durchblättern, außerdem gab es einen Link zu seinem Artikel darüber auf der Hbr.
Für mich hat diese Methode zur Auswahl von Prädiktoren für Forex leider nicht geholfen, alle meine Prädiktoren waren zu uninformativ, ich denke, dieser Algorithmus ist für stationärere Daten geeignet. Oder wir brauchen mehr neue Prädiktoren.

 

Meine Herren, kann mir bitte jemand ein Beispiel für ein neuronales Netz geben, das mit Eingaben wie m1[1000,1000] m2[1000,1000] usw. arbeitet? Ich entschuldige mich für meine Dummheit, wenn überhaupt.

Ich habe noch nicht mit Neuronics gearbeitet, ich möchte üben. Ich verstehe nicht wirklich, wie die Parameter eingestellt werden. Ich wäre sehr dankbar.

vielleicht hat jemand die Prädiktor-Korrektor-Methode in Betracht gezogen

 
Top2n:

bei der Eingabe mit Arrays z.B. m1[1000,1000] m2[1000,1000] usw.

Sie möchten zwei Arrays mit jeweils 1000 Trainingsbeispielen und 1000 Eingaben für das Netz füttern? Das wird nicht funktionieren, Sie müssen sie zu einer einzigen kombinieren. Oder meinen Sie etwas anderes?
 
Dr. Trader:
Sie wollen zwei Arrays mit je 1000 Trainingsbeispielen und 1000 Eingaben für das Netz füttern? Das wird nicht funktionieren, sie müssen zu einer einzigen zusammengefasst werden. Oder meinen Sie etwas anderes?

Jedes array[][] ist ein Satz einzelner Qualitätsinformationen, d. h. für jede Eingabe ein eigenes array[][]. Ich möchte eine Menge von Arrays zu füttern, ich bin bereit für jetzt 4, ich plane, mehr zu schaffen, jedes Array beschreibt den Zustand des Preises, es stellt sich heraus, aus verschiedenen Blickwinkeln, das ist, wie es ist.

Jedes Array enthält 1000 Zeilen und 1000 Spalten, ich habe also ein dreidimensionales Array, und die K-Dimension ist das neue zweidimensionale Array.