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

 
Alexey Burnakov:

Das, was Sie tun, hat etwas Zyklisches an sich.

Sie sollten jedoch auch eine zeitversetzte Probenahme versuchen. Dies ist ein Klassiker. Trainieren, Testen, Validieren.

Und machen das Verfahren noch komplizierter. Für jedes Modell, das beim Training und beim Testen gut funktioniert, nennen wir es Modell X, führen Sie eine Validierung mit den verzögerten Daten durch. So erhalten Sie eine Vorstellung davon, ob Sie das Modell richtig ausgewählt haben oder nicht, indem Sie nur trainieren und testen. Erstellen Sie mehrere Modelle mit verschiedenen Parametern und wählen Sie die besten aus (10, 100, 1000). Scheitern. Sie werden verstehen, ob sich Ihre "beste" Kennzahl in zukünftigen Daten widerspiegelt oder nicht. Erst danach geht es in die Schlacht.

Wenn es viele Werte derselben Zufallsvariablen gibt, können Sie Konfidenzintervalle zählen und dann anstelle von "nahe Werte" mit "Schnittpunkt/Konvergenz der Konfidenzintervalle" arbeiten.
 
mytarmailS:

können Sie das gestrige Handelsergebnis sehen?

Und das ist für heute. Natürlich nicht ohne Fehler, aber am Ende sogar ....

 
Mihail Marchukajtes:

Und das ist für heute. Natürlich nicht ohne Fehler, aber am Ende ist es ziemlich gleichmäßig ....

Nicht schlecht, was sind die grünen Kreise und was bedeuten die Pfeile?

 
SanSanych Fomenko:
Wenn es viele Werte derselben Zufallsvariablen gibt, können Sie Konfidenzintervalle zählen und dann statt "nahe Werte" "Schnittpunkt/Konvergenz der Konfidenzintervalle" verwenden.

SanSan, lassen Sie es mich noch einmal erklären. Und ich denke, es wird für jeden klarer sein.

Die folgende Tabelle ist ein Protokoll des Experiments. Jedes Experiment wird in eine Tabelle eingetragen. Vor der Spalte J befinden sich die Variablen. Modell, Verlustfunktionstraining, Werkzeug, Vorhersagehorizont, Modellparameter (GBM), Parameter, die nicht im Caret optimiert werden, aber ich optimiere sie auch in der Schleife: Anzahl der kreuzvaliden Fehler, Anzahl der für das Training ausgewählten Prädiktoren, Randomisierung für den Baum, Abschneiden eines Teils der Vorhersagen, die in der Grauzone der Unsicherheit liegen.

Dann kommen meine Qualitätsmetriken: zum Training (gesamte 10-Jahres-Reihe), zu den fehlgeschlagenen Kreuzvalidierungstests und zu den verzögerten Stichproben. Markieren Sie die interessantesten Spalten in Rot.

Nächste. Ich kann Ihnen die besten Modelle zeigen, die bei zeitversetzten Proben ein sattes Plus gemacht haben. Aber - es ist ein harter Brocken!

Bei konsistenten Daten und einer geeigneten Trainingsmethode erwarte ich einfach eine Beziehung zwischen der Metrik bei den zurückgestellten Stichproben und der Metrik bei der Kreuzvalidierung (Test). Schauen wir mal, was ich habe:

Objektiv gesehen ist die Qualität der ausgewählten Modelle bei der aufgeschobenen Stichprobe (die einen Zeitraum des realen Handels nachbildet) fast völlig unabhängig von der Qualitätsmetrik beim Test (Kreuzvalidierungstestfehler.).

Fazit, Freunde: Wenn ich das beste Modell nach der folgenden Heuristik auswähle: "Das Modell muss im Test besser sein", habe ich keinerlei Gewissheit darüber, wie das Modell in Zukunft abschneiden wird.

Diese Definition erstreckt sich auf ein solches Szenario: Ich wähle ein Modell nach der Heuristik "das beste Modell wird bei einer verzögerten Stichprobe eine gute Qualität aufweisen"; eine solche Wahl, Freunde, führt ebenfalls zu Unsicherheit. Alles ist natürlich probabilistisch, man kann Glück haben, aber man kann die Statistik nicht überlisten.

Das, und nur das, ist der Vorteil der verzögerten Probenahme. Überprüfung der Leistung des Modells, Überprüfung der Heuristiken zur Auswahl des besten Modells.

PS: Ich überlege, wie ich das Ergebnis verbessern kann. Auf eine gute Art und Weise braucht man eine eliptisch schräge Wolke. Von dort aus können Sie Ausschüsse vom rechten Rand usw. nehmen, und im Durchschnitt wird es funktionieren.

 

Sie haben ein gutes Instrumentarium zur Bewertung von Heuristiken entwickelt, das sich sehen lassen kann. Sie haben bewiesen, dass die von Ihnen entwickelte Methode zum Trainieren des Modells (Ausschuss) nicht für den Devisenhandel geeignet ist, aber was nun?

Sie müssen einen Weg finden, ein Modell so zu erstellen, dass eine Korrelation zwischen den Ergebnissen der Trainingsdaten selbst, den Ergebnissen des Tests und den Ergebnissen der noch ausstehenden Stichprobe besteht.

Ich befinde mich in einer ähnlichen Situation. Ich probiere zum Beispiel verschiedene Methoden der Datenvorverarbeitung, verschiedene Pakete für Training/Prädiktion und verschiedene Funktionen zur Bewertung der Qualität der Vorhersage aus. Das ist alles wichtig, und es gibt unendlich viele Kombinationen davon. Ich versuche, mich an Occams Rasiermesserregel zu halten - je weniger Prädiktoren man braucht und je weniger Parameter ein Modell hat, desto besser.

 

Auch meine subjektive Meinung ist, dass Ihre Prädiktoren nicht zur Vorhersage Ihrer Zielwerte verwendet werden können. Zumindest bei der Arbeit mit Ihrer Datei dat_train_final_experimental1.csv kann ich kein positives Ergebnis für meine Fitnessfunktion bei der Anpassung der gbm-Parameter erhalten. Das heißt, egal welches Modell mit welchen Parametern ich erstelle - ich bin mit den Ergebnissen der Kreuzvalidierung nicht zufrieden. Ich kann es nicht beweisen, das ist nur meine persönliche Meinung. Ich rate dazu, mehr Prädiktoren zu nehmen und zu versuchen, ihre Anzahl zu verringern, während man ein Modell erstellt.

In meiner Trainingstabelle gibt es zum Beispiel 150 Prädiktoren für jeden Balken, insgesamt 100 Balken, also insgesamt 15000 Prädiktoren. Dann suche ich mithilfe der Genetik nach Prädiktoren und Modellparametern, um das beste Ergebnis der Fitnessfunktion zu erzielen. Auf diese Weise wähle ich die Prädiktoren aus, die mit den Zielwerten in Verbindung stehen und für die das Modell Vorhersagen treffen kann. Am Ende der Auswahl bleiben mir nur 10-20 Prädiktoren. Das Ergebnis der Fitnessfunktion ist notwendigerweise für jeden verwendeten Prädiktor leicht reduziert. Ich habe den ungefähren R-Code der Fitnessfunktion gestern hier im Forum geschrieben, er ist klarer.

 
mytarmailS:

nicht schlecht, was sind die grünen Kreise und was bedeuten die Pfeile?

Die grünen Punkte zeigen an, dass das Signal sein wird, jede Serie von grünen Punkten endet entweder mit einem blauen oder roten Punkt, was bedeutet, dass die Sequents Signal zum Kauf oder Verkauf entsprechend. Nun, die Pfeile sind das Werk von Reshetovs Klassifikator, der sagt: richtiges Signal oder falsches Signal....

Übrigens ist Sequenta atacha, nutzen Sie es zu Ihrem Vorteil....

Dateien:
 
Dr.Trader:

Es ist auch meine subjektive Meinung, dass Ihre Prädiktoren nicht zur Vorhersage Ihrer Zielwerte verwendet werden können.

Ich glaube, ich hätte das besser formulieren können.

Die Vorhersageergebnisse der Trainingsmuster selbst korrelieren im Durchschnitt schlecht mit den Ergebnissen der Testmuster.

Es gibt ein ForeCA-Paket mit einer Omega-Funktion, die die "Vorhersagbarkeit" des Signals schätzt. Bei einer Schätzung von 100 % erfüllt das Signal einige Anforderungen und ist leicht vorhersehbar. Ein Wert von 0 % bedeutet, dass das Signal nur Rauschen ist und nicht vorhergesagt werden kann.

Ich habe noch Ihre Tabelle dat_test_features_experimental.RData, wo die letzte Spalte die Preiserhöhung ist. Zum Beispiel die Schätzung für eurusd = 0,83% (nicht 83%, genau 0,83%, weniger als eins). Laut ForeCA ist es unmöglich, diese Zeitreihe vorherzusagen. Nicht, dass ich diesem Paket viel zutraue, aber sein Autor versteht offensichtlich etwas, ich würde es mir anhören.

Omega(dat_test_features[dat_test_features[,109] == "eurusd", 110])

Ich weiß nicht mehr, mit welchem Zeitrahmen Sie arbeiten, aber wenn es sich um M1 handelt, gibt es einen guten Grund, mehr zu versuchen, zum Beispiel H1.

 
Dr. Trader,

Ich verstehe Sie. Ich arbeite mit einem Zeithorizont von einigen Stunden.

Auf dem Protokoll funktioniert die Regression gut, aber es fehlt das MO des Handels. Zur vollen Stunde beträgt der absolute Preisunterschied etwa 8 Pips. Was zum Henker.... Siehst du? Sie müssen 65_70% richtig raten. Und um 9 Uhr reichen 53-53 % aus, um den Spread zu überwinden.
 
Dr. Trader:

...

Es gibt ein ForeCA-Paket mit einer Omega-Funktion, die die "Vorhersagbarkeit" des Signals bewertet. Bei einer Schätzung von 100 % erfüllt das Signal einige Anforderungen und ist leicht vorhersehbar. Ein Wert von 0 % bedeutet, dass das Signal nur Rauschen ist und nicht vorhergesagt werden kann.

...

Was bedeutet "Berechenbarkeit" in diesem Paket? Ich dachte, damit sei die Fähigkeit gemeint, frühere Werte zu extrapolieren (das ist das richtige Wort). Wenn wir Inkremente nehmen, dann das weit verbreitete, sehr gut entwickelte Instrument mit vielen Nuancen: ARIMA, wenn dieses Modell nicht funktioniert, dann alle Arten von ARCH. Und das ForeCA-Paket muss mit diesen Modellen verglichen werden.

Im Allgemeinen habe ich den Eindruck, dass die ursprüngliche Idee verloren gegangen ist. Die ursprüngliche Idee war für mich, dass wir Methoden brauchen, die NICHT vom Modell abhängen, um die Fähigkeit jedes der verwendeten Prädiktoren zur Vorhersage der Zielvariablen zu bestimmen. Achten Sie darauf, dies in der Verknüpfung von Prädiktor(en)/Zielvariable zu tun. Und wenn wir das Rauschen herausgefiltert haben, verwenden wir die Modelle oder ihre Ausschüsse ..... Aber erst, nachdem der Lärm ausgemerzt worden ist. Und die Tatsache, dass es kein Rauschen gibt, wird durch die ungefähre Invarianz der Leistung des Modells über Stichproben hinweg bestimmt. Nicht der absolute Wert des Vorhersagefehlers, sondern die Tatsache der annähernden Gleichheit der Leistungsindikatoren, die (Gleichheit) als Beweis für das Nichtvorhandensein von Modellübertraining interpretiert werden kann. Die Abwesenheit von Übertraining ist unser Ein und Alles. Wenn das Modell für einen bestimmten Satz von Prädiktoren übertrainiert ist, dann ist alles andere ein Zahlenspiel. Nur Modelle, die nicht neu trainiert werden, sind von Interesse.