Diskussion zum Artikel "Über das Finden von zeitlicher Mustern im Devisenmarkt mit dem CatBoost-Algorithmus"

 

Neuer Artikel Über das Finden von zeitlicher Mustern im Devisenmarkt mit dem CatBoost-Algorithmus :

Der Artikel befasst sich mit dem Erstellen von Machine-Learning-Modellen mit Zeitfiltern und diskutiert die Effektivität dieses Ansatzes. Der menschliche Faktor kann nun eliminiert werden, indem das Modell einfach angewiesen wird, zu einer bestimmten Stunde an einem bestimmten Wochentag zu handeln. Die Mustersuche kann durch einen separaten Algorithmus bereitgestellt werden.

Sie können in der Funktion eine Liste der zu prüfenden Stunden einstellen. In meinem Beispiel sind alle 24 Stunden eingestellt. Für die Sauberkeit des Experiments habe ich das Sampling deaktiviert, indem ich 'min' und 'max' (minimaler und maximaler Horizont einer offenen Position) auf 15 gesetzt habe. Die Iterationsvariable ist für die Anzahl der Umschulungszyklen für jede Stunde verantwortlich. Eine zuverlässigere Statistik kann durch Erhöhen dieses Parameters erreicht werden. Nach Abschluss der Operation zeigt die Funktion die folgende Grafik an:


Die X-Achse weist die Ordnungszahlen der Stunden auf. Die Y-Achse stellt die R^2-Werte für jede Iteration dar (es wurden 10 Iterationen verwendet, was bedeutet, dass das Modell für jede Stunde neu trainiert wird). Wie Sie sehen können, liegen die Durchgänge für die Stunden 4, 5 und 6 näher beieinander, was mehr Vertrauen in die Qualität des gefundenen Musters gibt. Das Auswahlprinzip ist einfach - je höher die Position und Dichte der Punkte, desto besser das Modell. Zum Beispiel im Intervall von 9-15 zeigt das Diagramm eine große Streuung der Punkte, und die durchschnittliche Qualität der Modelle sinkt auf 0,6. Sie können weiterhin die gewünschten Stunden auswählen, das Modell neu trainieren und seine Ergebnisse im benutzerdefinierten Tester ansehen.

Autor: Maxim Dmitrievsky

 

Gut gemacht, Maxim!

Um Ihnen ein Beispiel zu geben, hier sind die Charts von einem der Wizards, der auf dem Devisenmarkt Geld abwirft. Hier sind sie:

https://smart-lab.ru/blog/666149.php

Ganz ähnlich wie hier...

Sie folgen also ungefähr demselben Weg zum Gral.

Философия фундаментальных принципов движения цены
Философия фундаментальных принципов движения цены
  • smart-lab.ru
Рынок манит своими возможностями. Мозг большинства трейдеров отказывается мыслить рационально и заставляет как можно быстрее получить дозу адреналина. Какая альтернатива? Проверить формализованную идею на всей доступной истории и, осознав результаты, не торговать никогда. Что же мешает этому? тяга к игре на эфемерных неэффективностях нежелание...
 
Alexander_K2:

Gut gemacht, Maxim!

Um Ihnen ein Beispiel zu geben, hier sind Charts von einem der Wizards, der Cash in Forex schneidet. Hier sind sie:

https://smart-lab.ru/blog/666149.php

Sehr ähnlich wie dies....

Sie folgen also mehr oder weniger demselben Gralsweg.

Nun, es ist nicht klar, worum es geht.

Wenn man maschinelles Lernen im Forex-Bereich einsetzt, wird es immer zu wenig Daten für das Training geben. Dies ist ein zentraler Punkt, der umgangen werden muss.

In meinen Artikeln umgehe ich ihn teilweise, indem ich neue plausible Beispiele generiere, aber wir können das Thema weiterentwickeln.
 
Maxim Dmitrievsky:

Nun, es ist nicht klar, worum es geht.

Wenn man maschinelles Lernen im Forex-Bereich einsetzt, wird es immer zu wenig Daten für das Training geben. Dies ist ein wichtiger Punkt, der umgangen werden muss.

Nun, dieser Assistent ist davon überzeugt, dass Devisenkurse eine künstliche, zeitlich verzerrte Pseudo-Zufallsfolge sind. Funktioniert auch mit Zeitfiltern, wenn ich seine ausdrucksstarken Reden richtig verstanden habe.
 
Alexander_K2:
Nun, dieser Zauberer ist davon überzeugt, dass Devisenkurse eine künstliche, zeitlich verzerrte Pseudo-Zufallsfolge sind. Funktioniert auch mit Zeitfiltern, wenn ich seine ausdrucksstarken Reden richtig verstanden habe.

Es ist an der Zeit, sich diese Assistenten zur Brust zu nehmen und alles bis auf den letzten Tropfen herauszufinden :)

 

Lies es. Schöne Silbe.)

Es stellte sich die Frage, welche Filter, abgesehen von den temporären, sinnvoll sein können. Filter auf Inkremente, Geschwindigkeit der Kursbewegung, Candlestick- oder Tick-Muster sind viel willkürlicher als temporäre Filter. Die Annahme, dass sich der Preis zur gleichen Zeit genauso verhält wie zu anderen Zeiten, erscheint logisch. Was man von anderen Zeichen nicht sagen kann.

Auch Nachrichten werden regelmäßig veröffentlicht, und diese sind zeitgebunden.

 
Valeriy Yastremskiy:

Lesen Sie es. Schöne Silbe:)

Es stellte sich die Frage, welche Filter, abgesehen von den temporären, sinnvoll sein können. Filter auf Inkremente, Geschwindigkeit der Kursbewegung, Candlestick- oder Tick-Muster sind viel zufälliger als temporäre Filter. Die Annahme, dass sich der Preis zur gleichen Zeit genauso verhält wie zu anderen Zeiten, erscheint logisch. Was man von anderen Zeichen nicht sagen kann.

Auch Nachrichten werden regelmäßig veröffentlicht, und diese sind zeitgebunden.

Filter für die Streuung von Inkrementen funktionieren bei einer bestimmten Tiefe der Historie recht gut. Vielleicht ist es sinnvoll, Entropiefilter zu verwenden, die die Regelmäßigkeit (Vorhersagbarkeit) der aktuellen Reihe schätzen. Man könnte auch Nachrichtenfilter verwenden, die man von irgendwoher herunterladen müsste.

Wenn es noch andere Annahmen gibt, lassen sie sich leicht einbauen und mit ein paar Zeilen Code testen.
 
Maxim Dmitrievsky:

Filter durch Inkrementdispersion funktionieren gut für eine bestimmte Tiefe der Geschichte. Sie können Nachrichten machen, Sie müssen sie von irgendwoher herunterladen.

Wenn es noch andere Annahmen gibt, lassen sie sich leicht einbauen und testen.

Es sind gerade die anderen Annahmen, die der Kritik nicht standhalten. Die Inkremente sollten funktionieren, aber es wird einen höheren Prozentsatz an falsch positiven Ergebnissen geben. Wenn wir sie nur mit einem Zeitfilter versehen würden).

Bei den Nachrichten ist es schwierig, die Daten aufzubereiten, sie in eine Rangfolge zu bringen und generell zu trennen und zu verstehen, wie man das macht.

 
Valeriy Yastremskiy:

Die anderen Annahmen halten der Kritik nicht stand. Die Inkremente sollten funktionieren, aber es wird mehr falsch-positive Ergebnisse geben. Wenn wir sie nur mit einem Zeitfilter versehen würden).

Bei den Nachrichten ist es schwierig, die Daten aufzubereiten, sie in eine Rangfolge zu bringen und allgemein zu trennen und zu verstehen, wie man es macht.

Bei Nachrichten ist es schwieriger, ja, deshalb mache ich es auch noch nicht.

 
Maxim, berücksichtigen Sie den Spread beim Testen in Ihrem Python-Code? Sagen wir, wenn Sie ein Modell in mql5 Bot setzen, wird es die gleiche oder ähnliche Tabelle in MT5 Tester zeigen? Ich frage mich nur, welche Erwartung in fünfstelligen Punkten diese Modelle haben. Nach den Charts dort haben Sie, wenn Sie das beste erste nehmen, dort 5 Pips für 600 Trades es stellt sich heraus, 50 Pips in fünf Ziffern für 600 Trades und dass 0,083 fünfstellige Punkte pro einen Handel. Oder habe ich vielleicht etwas falsch verstanden?
 
Evgeniy Ilin:
Maxim, berücksichtigen Sie den Spread beim Testen in Ihrem Python-Code? Sagen wir, wenn Sie ein Modell in mql5 Bot setzen, wird es die gleiche oder ähnliche Tabelle in MT5 Tester zeigen? Ich frage mich nur, welche Erwartung in fünfstelligen Punkten diese Modelle haben. Nach den Charts dort haben Sie, wenn Sie das beste erste nehmen, dort 5 Pips für 600 Trades es stellt sich heraus, 50 Pips in fünf Ziffern für 600 Trades und dass 0,083 fünfstellige Punkte pro einen Handel. Oder habe ich vielleicht etwas falsch verstanden?

Der Spread wird im Custom-Tester berücksichtigt, dann werden die Modelle im MT5-Tester überprüft (siehe 1. Artikel der Serie).

d.h. die Logik ist leicht (relativ) auf MT5 zu übertragen, fast automatisch.