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

 
Aleksey Panfilov:

Sehr interessant, können Sie die Messung der Vorhersagefähigkeit näher erläutern?

Und vor allem: Was ist zu messen?

Ich habe geschrieben, Diagramme gegeben, Code gepostet - der Handwerker hat alles in diesen 1000 Seiten vergraben...

Ich bin zu faul, mich zu wiederholen. Das hier am meisten verwendete ist vtreat, ich benutze es nicht. Die Hauptsache ist, dass man über dieses Thema nachdenkt und alles andere verwirft.

 
Aleksey Vyazmikin:

Sie haben sich also nicht die Frage gestellt, wie die ZZ-Einstellungen sein sollten?

Der ZZ-Parameter ist für jedes Instrument und jeden Zeitrahmen unterschiedlich. Zum Beispiel für EURUSD M15 ein guter Anfangswert von 15 Pips (4 Ziffern). Es hängt auch davon ab, welche Prädiktoren Sie verwenden. Es ist eine gute Idee, alle Parameter der Prädiktoren und ZZ zu optimieren. Daher ist es wünschenswert, nicht-parametrische Prädiktoren zu haben, denn das macht das Leben viel einfacher. Die digitalen Filter zeigen also gute Ergebnisse. Bei Verwendung von Ensembles und Kaskadenkombinationen erhielt ich eine durchschnittliche Genauigkeit von 0,83. Dies ist ein sehr gutes Ergebnis. Morgen werde ich einen Artikel zur Überprüfung schicken, in dem das Verfahren beschrieben wird.

Viel Glück!

 
Vladimir Perervenko:

Der ZZ-Parameter ist für jedes Instrument und jeden Zeitrahmen unterschiedlich. Zum Beispiel für EURUSD M15 ein guter Anfangswert von 15 Pips (4 Ziffern). Es hängt auch davon ab, welche Prädiktoren Sie verwenden. Es ist eine gute Idee, alle Parameter der Prädiktoren und ZZ zu optimieren. Daher ist es wünschenswert, nicht-parametrische Prädiktoren zu haben, denn das macht das Leben viel einfacher. In dieser Eigenschaft zeigen digitale Filter gute Ergebnisse. Bei Verwendung von Ensembles und Kaskadenkombinationen erhielt ich eine durchschnittliche Genauigkeit von 0,83. Dies ist ein sehr gutes Ergebnis. Morgen sende ich Ihnen einen Artikel zur Überprüfung, in dem das Verfahren beschrieben wird.

Viel Glück!

Äußerst interessant. Ich freue mich darauf.

 
Gral:

Wenn Sie Ihre Geld- und Briefzeilen von 2004 nach aktuellem Datum teilen können, werde ich es versuchen. Normalerweise lerne ich 1-3 Jahre und teste für 20-30%.

datensatz, lern und test sowie rohe serien aus ducas

Schöne Kurve :) Aber es ist unwahrscheinlich, jemanden zu interessieren, es ist nicht klar, welche Art von Software, wie haben Sie diese Kurve berechnet. Bei Ihren Datensätzen habe ich nicht viel mehr als 52 % Genauigkeit, übrigens enden die Marker bei Ihnen vor den Chips, bei mir habe ich sie abgeschnitten. Ich muss mehr Schnittpreise hinzufügen, von denen Sie die lern und Test, um dann die Klassifikator Ergebnis auf dem Bulltester laufen.

PS: In der Tat können alle Tester Ertragskurven und, wie sich herausstellte, Klassifizierungsqualitätsberichte der Öffentlichkeit nichts beweisen. Vor einiger Zeit gab es in einer geschlossenen Algotrading-Gruppe die interessante Idee, eine Schnittstelle für den Austausch von vorgefertigten Modellen in C++ dll (die ohnehin alle Algotrader und Machineliner verwenden) zu vereinbaren, die als Eingabe ein Bündel von Zeilen in json Vergangenheit und dann mit neuen Daten (Candlesticks, Ticks, Tickans, etc.) ergänzt, und zeigt Prognosen. Kurz gesagt geht es darum, eine Art standardisierte "Black Boxes" auszutauschen, die dann getestet werden können, wenn die Zukunft kommt, auf dem Prüfgerät, wenn die Daten verfügbar sind. Dies ist der einzige Weg, um zu verstehen, ob das Modell funktioniert oder nicht, gut, Sie können auch Web-Api verwenden, aber es ist mühsam, ein VPN für diese zu halten, vor allem, wenn es eine Menge von Modellen sind. Und so haben all diese Zahlen Genauigkeit, Schärfeverhältnis usw. wenig Bedeutung, es gibt 100500 Möglichkeiten, die nicht bewusst passen und ebenso viele, die bewusst passen und niemand wird es verstehen, man braucht mehr Beweise.

 
Maxim Dmitrievsky:

Bei einer Klassifizierung können Sie den relativen Klassifizierungsfehler oder den Logloss (Kreuzentropie) schätzen, bei einer Regression genügt die Rmse. Sie können auch die Fehlerdifferenz zwischen einer Messkurve und einem Test messen und die kleinste Differenz ermitteln.

Lediglich die Einstellungen werden so gewählt, dass Trainee, Validierung und Test ungefähr den gleichen Abstand in den vorhergesagten Klassen haben.

Genau darum geht es: Ein Wald kann auch durch flache Bäume leicht übertrainiert werden, und wenn Bäume zur Säuberung von Blättern angelegt werden, kommt es mit größerer Wahrscheinlichkeit zu einer Übertrainierung.

Wie lässt sich dies also vermeiden? Tja, da haben wir's wieder mit "Müll rein, Müll raus". Gibt es in der Natur überhaupt Prädiktoren, die kein "Müll" sind?

Die Idee ist, ROC_AUC zu nehmen und der Wert entlang der horizontalen Achse sollte aufhören zu wachsen, wenn der Prädiktor etwas Gutes enthält. Aber nachdem ich sie alle durchgesehen hatte, konnte ich keine finden.

Ich habe eine streng flache Linie nach oben gezogen.

Aber keiner der Indikatoren wird den Markt durch die Geschichte nach oben treiben, natürlich nicht).

Ich habe es viele Male ausprobiert, war aber nicht so beeindruckt.

 
forexman77:

Lediglich die Einstellungen werden so gewählt, dass Trainee, Validierung und Test ungefähr die gleiche Aufteilung der vorhergesagten Klassen aufweisen.

Genau darum geht es: Ein Wald kann auch bei flachen Bäumen leicht übererzogen werden, und wenn Bäume bis hin zu reinen Blättern angelegt werden, ist die Wahrscheinlichkeit einer Übererziehung größer.

Wie lässt sich dies also vermeiden? Tja, da haben wir's wieder mit "Müll rein, Müll raus". Gibt es in der Natur überhaupt Prädiktoren, die kein "Müll" sind?

Die Idee ist, ROC_AUC zu nehmen und der Wert entlang der horizontalen Achse sollte aufhören zu wachsen, wenn der Prädiktor etwas Gutes enthält. Aber nachdem ich sie alle durchgesehen hatte, konnte ich keine finden.

Ich habe eine streng flache Linie nach oben gezogen.

Aber kein Indikator wird den Markt jemals durch die Geschichte nach oben treiben).

Wenn der Fehler in der validierten Darstellung derselbe ist wie in der Kurve, sollte alles funktionieren. Offensichtlich ist es nicht

 
Maxim Dmitrievsky:

Wenn der Fehler im Abschnitt valid. derselbe ist wie im Abschnitt trainee, sollte alles funktionieren. Offensichtlich wissen Sie das nicht.

Nun, nicht ganz identisch, aber fast. Wenn er völlig identisch ist, handelt es sich um einen Baum der Tiefe drei, wie das Bild zeigt.

Es wurde die Tiefe 15 gewählt, die den Test mehr oder weniger gezeigt hat.

In etwa 20 Minuten werde ich die Aufschlüsselung nach Klassen veröffentlichen.

 

Tiefe drei:

[[8010 7122]
 [7312 8410]]
трайн наоборот

[[8026 7105]
 [7209 8512]]
трайн 

[[5538 5034]
 [5117 5395]]
предсказание по обученной модели на трайн, эти данные не участвовали в обучении.
Поясню данные для теста берутся не из не использованных выборок, это данные, которые вообще не доступны для
алгоритма в процессе обучения(находятся вне временного промежутка участка обучения).

Tiefe 15:

[[7667 7464]
 [7227 8494]]
трайн наоборот

[[14430   702]
 [  661 15061]]
трайн 

[[5405 5167]
 [4958 5554]]
тест

Gleichzeitig führt Tiefe 15 zwar eindeutig zu Übertraining, aber der Stürmer ist damit besser. Auch bei den anderen Modellen, die ich habe. Wenn keine starke Überanpassung vorliegt.

Stürmer:

15

3

Es stellt sich heraus, um die Tags der Klasse, die Sie suchen 4-6% mehr als die negativen vorherzusagen...

 
Gianni:

Schöne Kurve :) Aber es ist unwahrscheinlich, jemanden zu interessieren, es ist nicht klar, welche Art von Software, wie haben Sie diese Kurve berechnet. Bei Ihren Datensätzen habe ich nicht viel mehr als 52 % Genauigkeit erreicht, übrigens enden Ihre Marker vor den Chips, bei meinen habe ich sie abgeschnitten. Ich muss mehr Schnittpreise hinzufügen, von denen Sie die lern und Test, um dann die Klassifikator Ergebnis auf dem Bulltester laufen.

PS: In der Tat können alle Tester Ertragskurven und, wie sich herausstellte, Klassifizierungsqualitätsberichte der Öffentlichkeit nichts beweisen. Vor einiger Zeit gab es in einer geschlossenen Algotrading-Gruppe die interessante Idee, eine Schnittstelle für den Austausch von vorgefertigten Modellen in C++ dll (die ohnehin alle Algotrader und Machineliner verwenden) zu vereinbaren, die als Eingabe ein Bündel von Zeilen in json Vergangenheit und dann mit neuen Daten (Candlesticks, Ticks, Tickans, etc.) ergänzt, und zeigt Prognosen. Kurz gesagt geht es darum, eine Art standardisierte "Black Boxes" auszutauschen, die dann getestet werden können, wenn die Zukunft kommt, auf dem Prüfgerät, wenn die Daten verfügbar sind. Dies ist der einzige Weg, um zu verstehen, ob das Modell funktioniert oder nicht, gut, Sie können auch Web-Api verwenden, aber es ist mühsam, ein VPN für diese zu halten, vor allem, wenn es eine Menge von Modellen sind. Und all diese Zahlen, die Genauigkeit, das Schärfeverhältnis usw. bedeuten nicht viel, es gibt 100500 Möglichkeiten, nicht bewusst einzustellen, und ebenso viele, bewusst einzustellen, und niemand wird es verstehen, man braucht bessere Beweise.

Es gibt Nulltupel von Merkmalen am Anfang der Trainings- und Testdatenproben, wahrscheinlich gab es nicht genug Historie, um sie zu berechnen, und der Algorithmus hat das nicht kontrolliert, also sollten sie für eine korrekte Arbeit auch entfernt werden.

Wo befindet sich diese Gruppe, wenn sie nicht geheim ist, und ist es möglich, dort zu suchen?

 
forexman77:

Tiefe drei:

Tiefe 15:

Gleichzeitig führt Tiefe 15 zwar eindeutig zu Übertraining, aber der Stürmer ist damit besser. Auch bei den anderen Modellen, die ich habe. Wenn keine starke Überanpassung vorliegt.

Stürmer:

15

3


Ich denke, Sie müssen die Anzahl der Trades reduzieren, es scheint auf jeder Bar...