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

 
Aleksey Vyazmikin:

Das ist richtig, aber wenn Sie die Zeilen entfernen, die bereits reichlich in Blättern vorhanden sind, wird es etwas weniger davon geben (Klasse "0"), und die Qualität sollte nicht sinken, während die relativen Werte für "1" größer werden, und somit wird das Modell in der Lage sein, diese Blattvarianten bei der Suche zu berücksichtigen, was vorher statistisch nicht korrekt war.

Eine weitere Möglichkeit besteht darin, einzelne Blätter zu entfernen, da sie das Lernen beeinträchtigen können.

Wenn es viele ähnliche Zeilen gibt, bedeutet dies, dass sich die Situation häufig wiederholt. Entfernt man sie, z. B. die Klasse 0, und aktiviert ein Blatt mit der Klasse 1 in einem Rassenhandel, dann erhält man, wenn sich das Muster nicht ändert, wieder eine Menge 0er anstelle der vorhergesagten 1er. Und Verluste erleiden. Brauchen Sie es?

MO kann nur vorhersagen, dass das Muster bestehen bleibt und sich so verhält, wie es in der Vergangenheit war. Wenn Sie Muster aus dem Training entfernen, erhalten Sie zufällige

 
Aleksey Nikolayev:

Vielleicht ist es einfacher, dies anhand eines Anwendungsbeispiels zu erklären.

Punkt 1) - Prüfung der Hypothese der Persistenz-Antipersistenz-Tagesschwankungen. Es ist eine Überprüfung der Neigung des Preises, sich fortzusetzen oder umgekehrt - seine Richtung je nach Tageszeit zu ändern. Dazu müssen Sie die Korrelation kennen.

Punkte 2) und 3) - Prüfung der Hypothese, dass Kursumkehrungen "stündlich" passieren und es besser ist, sie zum "richtigen" Zeitpunkt zu tätigen.

Punkt 3) - Suche nach den flachen (trendigen) Momenten der Tageszeit durch Untersuchung der empirischen Verteilung der Zickzacklängen.

1) Korrelation zwischen was und was?

 
Valeriy Yastremskiy:

Ich verstehe das mit dem Tag, ich stimme zu. Die Frage bezieht sich auf den Tag der Woche. Die Zeit innerhalb des Mittelungszeitraums, Tage, ist zunächst nicht an den Wochentag gebunden. Sie können die intra-wöchentliche Wiederholbarkeit unter Berücksichtigung der Tageszeit feststellen, indem Sie sie zunächst an den Wochentag binden. Sie haben nur eine Verknüpfung mit der Uhrzeit des Tages im Monat.

Natürlich könnte man eine Analogie zu Intraday-Minuten (z. B.) mit Fünf-Minuten-Zeiträumen innerhalb einer Woche herstellen, aber in diesem Fall müssen wir die rein wöchentliche Periodizität von der täglichen Periodizität sowie von Nachrichteneffekten und anderen Nicht-Stationaritäten trennen. Jedenfalls bin ich mir nicht so sicher, ob die wöchentliche Saisonalität so ausgeprägt ist.

 
elibrarius:

1) Korrelation zwischen was und was?

Benachbarte Inkremente.

 
Aleksey Nikolayev:

Man könnte natürlich eine Analogie zu Intraday-Minuten (z. B.) mit intra-wöchentlichen Fünf-Minuten-Perioden herstellen, aber dann müsste man die rein wöchentliche Periodizität von der inhärenten täglichen Periodizität und auch von Nachrichteneffekten und anderer Nicht-Stationarität trennen. Jedenfalls bin ich mir nicht so sicher, ob die wöchentliche Saisonalität gleich ausgeprägt ist.

Offensichtlich bin ich begriffsstutzig. Eine wöchentliche Durchschnittsberechnung kommt für mich nicht in Frage. Wie lautet die Antwort: eine regelmäßige Veranstaltung jeden Tag um 9 Uhr oder jeden dritten, fünften und zehnten Tag im Monat oder jeden Mittwoch um 9 Uhr?

 
Valeriy Yastremskiy:

Offensichtlich bin ich begriffsstutzig. Eine wöchentliche Durchschnittsbildung kommt für mich nicht in Frage. Wie lautet die Antwort: jeden Tag um 9 Uhr oder jeden dritten, fünften und zehnten Tag des Monats oder jeden Mittwoch um 9 Uhr?

Ich glaube, ich habe Sie verstanden und schrieb in dem Sinne, dass ein Ereignis, das sich jeden Tag um 9 Uhr wiederholt, auch ein Ereignis wäre, das sich jeden Mittwoch um 9 Uhr wiederholt. Es wäre ziemlich schwierig, die Ereignisse zu isolieren, die eine WIRKLICHE WÖCHENTLICHE (aber nicht tageszeitliche) Periode haben, weil die tageszeitliche Periodizität sehr hell ist. Natürlich könnte ich mich irren, aber ich habe noch keine eindeutige wöchentliche Periodizität festgestellt, so dass es keine Möglichkeit gibt, sie in meinem Code zu erkennen.

 
elibrarius:

Wenn es viele ähnliche Zeilen gibt, dann wiederholt sich die Situation oft. Wenn man sie rauswirft, z.B. Klasse 0, und in einer Rallye ein Blatt mit Klasse 1 aktiviert, erhält man, wenn sich die Muster nicht ändern, wieder viele 0er statt der vorhergesagten 1er. Und Verluste erleiden. Brauchen Sie es?

MO kann nur voraussagen, dass das Muster bestehen bleibt und sich so verhält wie in der Vergangenheit. Wenn Sie Muster aus dem Training entfernen, erhalten Sie zufällige

Es gibt Strategien, Trendstrategien, die mit einer Genauigkeit von 40% gut verdienen, aber die Standard-MO-Methoden erlauben es nicht, sie zu trainieren, indem sie die Klasse "1" auf Null setzen, wenn die Genauigkeit nicht ausreicht, und ich brauche solche Splits, um sie zu trennen und zu verbessern, also suche ich nach solchen Methoden. Ansonsten wird der Rückruf mit 1 sehr gering.

 
Aleksey Nikolayev:

Die Suche nach Intraday-Mustern wird durch Intraday-Volatilitätsschwankungen erschwert. Wir müssen sie irgendwie loswerden. Mögliche Wege:

1) Neuanpassung der Inkremente zur Berücksichtigung der Intraday-Volatilität.

2) Wechsel zu einer neuen Intraday-Zeit, in der die Varianz gleichmäßig wächst.

3) Verwendung eines Zickzack-Musters. Die Werte der Knie sind nicht von Volatilitätsschwankungen abhängig. Die Spitzenzeiten hängen natürlich von der Volatilität ab (sie sind häufiger, wenn die Volatilität hoch ist), aber wenn man zu einem einheitlichen Zeitpunkt übergeht, verschwinden diese Häufungen.

Das ist in der Theorie so... aber in der Praxis, egal wie man die Brille dreht und wendet... )

Ich habe die Volatilität der Inkremente normalisiert und die Streuung angeglichen. Ich habe nur Informationen verloren.

 
Aleksey Vyazmikin:

Es gibt Strategien, Trending-Strategien, die mit einer Genauigkeit von 40% gut verdienen, aber Standard-MO-Methoden erlauben es nicht, sie zu trainieren, ich lasse die Klasse "1" auf Null fallen, wenn die Genauigkeit nicht ausreicht, und ich muss solche Splits einfach trennen und verbessern, also suche ich nach solchen Methoden. Ansonsten ist der Rückruf mit 1 sehr gering.

Wenn es sich um einen Trend handelt, ist der TP groß, aber der SL ist klein. Zum Beispiel 500 zu 100. Bei einer Fehlerquote von 80 % gibt es dann 20 % erfolgreiche und 80 % verlorene Geschäfte. Der Saldo wird nahezu Null sein. Wenn Sie mit einem Fehler von 70 % handeln, sind Sie bereits im Gewinn. Und wenn Sie 50/50 finden, wird der Gewinn riesig sein.


Was meinen Sie mit "entsorgt"? 70 % der Fehler scheinen nur in Klasse 0 zu landen, mit den restlichen 30 % der Klasse 1 kann man schon Geld verdienen.

 
Aleksey Vyazmikin:

Maxim, ich habe den Verdacht, dass das Modell für C++ nicht korrekt von CatBoost entladen wird - können Sie mit dem Modell für Python vergleichen?

Ich habe eine Diskrepanz zwischen den Werten der Modellinterpretation in MQL5, wo die Werte aus dem CPP-Modell übernommen werden, und den Werten aus dem binären Modell. Das Delta beträgt etwa 0,15 - das ist viel.

Die Python-Version ist cpp in einem Wrapper. Alles funktioniert einwandfrei.

Ich meine, es kann sowohl im Python-Format als auch in cpp gespeichert werden. Ich speichere es in cpp und konvertiere es dann in mql mit einfachen Aktionen, da das Modell selbst aus mehreren Arrays besteht.