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

 
mytarmailS #:

))))

Ich bin raus)

Ich gebe Ihnen einen Tipp: Was die Verallgemeinerung angeht, ändert sich nichts.
 
Maxim Dmitrievsky #:
Logloss zeigt die Menge an gegenseitiger Information zwischen den Merkmalen und dem Ziel, soweit ich es verstehe. Dies ist das objektivste f-i, ohne die Form der Abhängigkeit zu beschreiben. Das Modell wird so trainiert, dass der Verlust solcher Informationen minimiert wird, vor allem das Boosting funktioniert so. Alles, was Sie zusätzlich zur benutzerdefinierten Version hinzufügen, bleibt bei der Ausbildung stehen.

Es scheint, dass logloss auf der Grundlage des Prinzips der maximalen Wahrscheinlichkeit für eine Binomialverteilung abgeleitet wird. In matstat wird das Maximum-Likelihood-Prinzip erweitert und als M-Schätzungen verallgemeinert, was eine theoretische Rechtfertigung für Experimente sein kann (aber natürlich keine Garantie für deren Erfolg).

 
Aleksey Nikolayev #:

Wie der Logloss wird er aus dem Maximum-Likelihood-Prinzip für eine Binomialverteilung abgeleitet. In Matstat wird das Maximum-Likelihood-Prinzip erweitert und als M-Schätzungen verallgemeinert, was eine theoretische Rechtfertigung für Experimente sein kann (aber natürlich keine Garantie für deren Erfolg).

Möglicherweise mit der Kreuzentropie verwechselt, die jedoch häufiger für Multiklassen verwendet wird. Auf jeden Fall sehe ich kein Problem darin, eine zusätzliche Schätzung durch eine f-Funktion vorzunehmen, sondern lediglich anhand des Gleichgewichtsdiagramms
 
Maxim Dmitrievsky #:
Wahrscheinlich mit Cross-Entropie verwechselt, aber es wird häufiger für Multiklassen verwendet.

Es scheint etwas dran zu sein, dass der theoretische Wert des minimalen Logloss mit der Entropie übereinstimmt.

Maxim Dmitrievsky #:
Ich sehe jedenfalls kein Problem darin, eine zusätzliche Schätzung über eine beliebige f-Funktion vorzunehmen, sondern rein aus dem Bilanzgraphen

Ich denke schon. Nur verwirrt durch das Fehlen einer großen Anzahl von Artikeln zu diesem Thema) Wahrscheinlich Angst zu offenbaren fischigen Orten)

 
Aleksey Nikolayev #:

Es scheint etwas dran zu sein, dass der theoretische Wert des Logloss-Minimums mit der Entropie übereinstimmt.

Ich denke schon. Nur das Fehlen einer großen Anzahl von Artikeln zu diesem Thema stört) Wahrscheinlich haben sie Angst, unliebsame Orte zu enthüllen)

Prado hat viele interessante Artikel zu diesem Thema. Ich habe es in eine lange Schublade gelegt, aber ich würde es gerne später lesen. Einer der vernünftigsten Autoren )
 
Maxim Dmitrievsky #:
Prado hat viel Interessantes zu diesem Thema geschrieben, seine Artikel sind auf der Website zu finden. Ich habe es in eine lange Schublade gelegt, aber ich würde es gerne später lesen. Einer der vernünftigsten Autoren).

Ja, ich sollte mir seine Artikel ansehen. Er hat allerdings ziemlich viele davon)

Zu Ihrer Idee, Standard- und benutzerdefinierte Metriken zu kombinieren, fällt mir eine Idee mit einem Baum ein, der nach der Kreuzentropie aufgebaut ist und nach der Fehlerhäufigkeit beschnitten wird. Ich denke, Sie könnten versuchen, Ihre eigene Metrik anstelle der Häufigkeit zu verwenden.

 
Renat Fatkhullin #:
Können Sie die Informationen weitergeben?
1) Verwenden Sie die MT5-Python-Bibliothek?
2) Verwenden Sie es außerhalb oder innerhalb von MT5?
3) Welche Funktionen fehlen der Bibliothek? Zugang zu Indikatoren?

Wir bereiten ein Upgrade von MQL5 vor, das schnelle Matrixoperationen hinzufügt. Dies ermöglicht die Durchführung umfangreicher Berechnungen.

Außerdem werden wir Konnektoren zu Analysepaketen entwickeln und die Standard-WinML-Integration implementieren.

1. manchmal.

2. Innen, außen.

3.

3.1 Ereignisabonnements. Die gleichen Ereignisse wie in MQL5, die durch bestimmte Handler-Methoden ausgelöst werden.

Die Möglichkeit, Strategien in Python zu schreiben (als eine Art von Anwendung), die im Backtester getestet werden können.

Einige fertige MQL5-Python-Interaktionsmechanismen. Python kann mit mt5 in beide Richtungen interagieren, MQL5 kann mit ihm in beide Richtungen interagieren, MQL5 ist eine Einheit mit dem Terminal und ist sehr gut in

mit Handelsfunktionen und ähnlichem, weiß aber nicht, wie man bequem mit den besten Data-Sense-Lösungen der Branche arbeitet. Python ist der Industriestandard im Datenbereich - Pandas, Numpy, TensorFlow, Keras, PyTorch usw., aber viel weniger "Händler"-Integration in die Plattform. Es wäre toll, wenn es eine Standardmethode zur Integration dieser beiden Kräfte gäbe - so etwas wie ein Python-Skript in mt5, und das Skript hat ein Modell, das unter Dampf wartet, oder einen Pool von Modellen, Funktionen, die sich mit der Vorverarbeitung von Daten beschäftigen, usw. Das Skript hat eine MQL5-Anwendung und -Strategie, die ihre Aufgabe erfüllt und bei Bedarf ML-Funktionen aus diesem Skript aufruft - schnell und ohne Krücken.

 

Verwendet jemand das P-Paket für den Backtest der Quantstrat-Strategie?

Wie sieht es mit der Geschwindigkeit aus?

 
Aleksey Nikolayev #:

Ehrlich gesagt, verstehe ich nicht viel. Die Frage ist, ob sich die Wahrscheinlichkeit im Laufe der Zeit ändert. Um dies zu untersuchen, kann man einfach eine logistische Regression auf die Zeit aufstellen (und die Signifikanz der Differenz zwischen dem Koeffizienten und Null überprüfen).

Wenn neben der Zeit noch andere Faktoren untersucht werden, die die Wahrscheinlichkeit beeinflussen, können auch diese in die logistische Regression einbezogen werden.

elibrarius #:

Oder vielleicht ist es einfacher, einen anderen Prädiktor zu erstellen - den Abstand der Datenlinie von der aktuellen Linie. Forest kann selbst berechnen, dass Daten, die älter als 8 Monate sind, für die aktuelle Prognose schlecht sind. Und es würde eine einfache Trennung geben: vor 8 Monaten (mit besseren Blättern) und nach 8 Monaten mit schlechteren Blättern.
Nun, auf einem Tablett lernen sie natürlich alle gut. Bei der Prüfung/Quervalidierung sollten wir prüfen. Aber wie? Das ist nicht klar. Es geht nicht einmal um die Bedeutung des Prädiktors, sondern um die Bedeutung der Aufteilung.

Heute habe ich einen solchen Prädiktor für den Abstand zum aktuellen Balken hinzugefügt. Das kann eine Zahl oder auch nur eine Zeit sein. Ich habe mir die Zeit genommen.

Experimentell ausgewählt, dass die Länge der Geschichte für den Training-Datensatz von 1 Monat, gibt die beste nach vorne.

Die Annahme, dass das Hinzufügen eines Entfernungsprädiktors ab der ersten Datenzeile helfen würde, war falsch. In der Praxis hat sich die Vorhersage nur mit 1 Monat Daten verschlechtert, mit 2 und mit 10.

Angenommen, Sie haben 2 Monate an Daten, der Baum hat die Aufteilung von 1 Monat gefunden und einer seiner Zweige hat auf denselben Daten trainiert wie die experimentell gewählte Länge von 1 Monat. Der andere Monat trainierte ebenfalls mit seinen eigenen Daten. Und es hat gut gelernt, nicht schlecht (wie ich am Anfang sagte). Das ist schlecht für den Stürmer, und er wird nur auf dem Tablett lernen. Infolgedessen bildet das Modell den Durchschnitt der Ergebnisse für beide Monate und die Vorhersage ist schlechter, als wenn es nur für einen Monat trainiert wurde.

Fazit: Sie können keine globale Zeit oder Zeilennummer anwenden. Zyklische Zeitvarianten: Wochentag, Stunde, Minute sind nützlich, aber wir sollten sie überprüfen.
Für jedes Ziel (und/oder jeden Satz von Prädiktoren) muss die Länge der Historie für das Training angepasst/optimiert werden.

 

Aktiviert: "Zyklische Zeitoptionen: Wochentag, Stunde, Minutenzahl können nützlich sein - muss geprüft werden."

Minuten haben fast keine Auswirkung, Änderungen von nicht mehr als 0,5 %
Stunden und Wochentage haben eine Auswirkung. Änderungen von etwa 3-5%.

Ich baue 2 Modelle gleichzeitig: 1 für den Kauf, 2 für den Verkauf.
Kaufmodelle funktionieren ohne Zeit um 4-5% besser und Verkaufsmodelle funktionieren mit Zeit um die gleichen 4-5% besser. Wie 5 % verkaufen nach Plan und kaufen nach anderen Grundsätzen.