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

 
Aleksey Nikolayev:

Oder so etwas wie ein Portfolio von Systemblättern mit einer rollierenden Neuberechnung.

Was genau soll ich neu berechnen?

 
Aleksey Nikolayev:

Oder so etwas wie ein System-Listen-Portfolio mit gleitender Neuberechnung.

Dann ist es eine Multiklasse. Erstellen Sie ein zweites Modell, das auswählt, welches Blatt im Moment am besten zu handeln ist. Die Vorteile liegen nicht auf der Hand und sind schwieriger zu erreichen.

 
Maxim Dmitrievsky:

Nun, man muss mit der Theorie beginnen. Welchen Sinn hat es zum Beispiel, Modelle für den Verkauf und für den Kauf getrennt auszuwählen?

Alles, was nicht kaufen ist, ist verkaufen und umgekehrt.

Meine Ideologie ist die Verbesserung der grundlegenden Handelsstrategie, die Strategie ist trendfolgend; daher sieht sie keine Flips an einer leeren Stelle vor -Markteintritte aus dem Flat, und die "Do Not Enter" eliminiert im Wesentlichen falsche Flop-Zusammenbrüche.

Außerdem habe ich mit Modellen zum Schließen profitabler Positionen in der Nähe von langen ZZ-Spitzenwerten experimentiert, und das Ergebnis war nicht zufriedenstellend, d. h. entweder ist die Vorhersagefähigkeit dort geringer, oder meine Prädiktoren funktionieren dort nicht gut, oder vielleicht ist es beides, daher verwende ich die Umkehrstrategie nicht. Im Gegenteil, ich denke, es ist besser, hier zwei verschiedene Modelle zu trainieren.

Maxim Dmitrievsky:

Wenn Sie die Einträge einfach durch einen höheren Schwellenwert filtern können. Die Klasse "nicht handeln" kann durch das Modell übermäßig gewichtet werden, wodurch der Modellfehler abnimmt und die Vorhersagefähigkeit (Generalisierung) generell sinkt.

Fast diesen Ansatz mit der binären Klassifizierung zu handeln/nicht zu handeln, die durch einen Modellschwellenwert festgelegt wird, verwende ich in meinen Experimenten mit CatBoost, aber das Problem ist, dass das Modell wie ein Staubsauger aufgebaut ist, der alles Gute und Schlechte aufsaugt, und das Ergebnis ist ein schnelles Modell, aber mit einer geringen Anzahl von Eingaben.

Maxim Dmitrievsky:

Der Sinn des zweiten Modells besteht darin, dass das erste Modell Fehler der 1. und 2. Art - falsch positiv und falsch negativ - aufweisen wird. Wir sind an ihrer Beseitigung interessiert. Dazu füttern Sie den Input des zweiten Modells und den Output des ersten Modells mit denselben Merkmalen, wobei 0 bedeutet, dass der Handel profitabel war, und 1, dass der Handel ein Verlustgeschäft war. Trainieren Sie den zweiten Klassifikator und handeln Sie nur, wenn er 0 anzeigt, d.h. Signale des ersten Modells herausfiltert. Verlustgeschäfte werden fast auf dem Tablett verschwinden, Sie müssen es auf dem Test - das ist eine.

Sie können das zweite Modell nicht nur auf einem Tablett trainieren, sondern auch OOS erfassen, dann wird es Trades auf neuen Daten korrigieren - das sind zwei. Und dann Tests.

Genau das habe ich getan, nur habe ich keine unverknüpften Prädiktoren verwendet, sondern Blätter als Prädiktoren, wobei 1 das Signal des Blattes im Prädiktor ist und im Ziel die richtigen Klassifizierungsantworten. Meine Methode erlaubt es natürlich nicht, neue Prädiktorenbeziehungen zu finden, aber sie erlaubt es, nach Beziehungen zwischen bestehenden Beziehungen zu suchen.

Ich werde Ihre Methode auch ausprobieren, danke. Es ist jedoch möglich, es in diesem Konzept nur als CatBoost-Modell zu realisieren, um Zeit zu sparen, aber ich befürchte, dass das alles wieder zu sehr beschneiden würde.

 
Maxim Dmitrievsky:

dann handelt es sich um eine Mehrfachklasse. Erstellen Sie ein zweites Modell, das auswählt, welches Blatt im Moment am besten zu handeln ist. Die Vorteile liegen nicht auf der Hand und sind schwieriger zu erkennen.

Nein, es gibt zu viele Blätter, eine solche Klassifizierung wird nicht funktionieren...

 
Aleksey Vyazmikin:

Meine Ideologie ist die Verbesserung der grundlegenden Handelsstrategie, während die Strategie ist Trend nach, so dass es nicht für Flips an einem leeren Ort - Markt Einträge von flachen, und "Do Not Enter" im Wesentlichen eliminiert falsche flachen Zusammenbrüche.

Außerdem habe ich mit Modellen zum Schließen profitabler Positionen in der Nähe von langen ZZ-Spitzenwerten experimentiert, und das Ergebnis war nicht zufriedenstellend, d. h. entweder ist die Vorhersagefähigkeit dort geringer, oder meine Prädiktoren funktionieren dort nicht gut, oder vielleicht ist es beides, daher verwende ich die Umkehrstrategie nicht. Im Gegenteil, ich denke, es ist besser, hier zwei verschiedene Modelle zu trainieren.

Fast dieser Ansatz, mit binären Klassifizierung zu handeln/nicht zu handeln, wo es durch einen Schwellenwert des Modells angegeben ist, verwende ich in meinen Experimenten mit CatBoost, aber das Problem ist, dass das Modell wie ein Staubsauger gebaut ist, der gute und schlechte und die Ausgabe ist eine schnelle, aber nicht so viele Einträge.

Genau das habe ich also getan, nur dass ich keine entbündelten Prädiktoren, sondern Blätter als Prädiktoren verwendet habe, wobei 1 das Signal des Blattes im Prädiktor ist und die richtigen Klassifizierungsantworten im Ziel stehen. Meine Methode erlaubt es natürlich nicht, neue Prädiktorenbeziehungen zu finden, aber sie erlaubt es, nach Beziehungen zwischen bestehenden Beziehungen zu suchen.

Ich werde Ihre Methode auch ausprobieren, danke. Es ist jedoch möglich, es in dem vorliegenden Konzept nur als CatBoost-Modell zu realisieren, wahrscheinlich, um Zeit zu sparen, aber ich fürchte, es wird alles wieder stark beschneiden.

Umkehrungen sollten nicht als solche erkannt werden, sondern werden durch das 2. Modell als Fehlsignale herausgefiltert. Nun, das hängt von der Umsetzung ab und davon, was Sie wollen.

Dann ist es seltsam, warum es eine Menge Verlustgeschäfte gibt, oder ist es ein OOS-Bild? Ja, um das 2. Modell zu verwenden, sollten viele Geschäfte herausgefiltert werden, man kann sogar künstlich Geschäfte hinzufügen (Oversampling)

 
Maxim Dmitrievsky:

Es sollte keine Umkehrungen als solche geben, es werden nur die falschen Signale mit dem 2. Modell herausgefiltert. Nun, das hängt von der Umsetzung ab und davon, was Sie wollen.

Dann ist es seltsam, warum es eine Menge Verlustgeschäfte gibt, oder ist es ein OOS-Bild? Ja, wir sollten genügend Trades haben, um das 2. Modell zu filtern, wir können sogar künstlich Trades hinzufügen (Oversampling)

Bei den obigen Screenshots handelt es sich um Tests mit Daten, die in keiner Weise in die Modellschulung einbezogen wurden.

Hier sind die Ergebnisse der Ausbildung, Screenshots - die erste ist meine Zusammenstellung von Blättern auf die Daten, die für die Ausbildung verwendet wurde (nur 1/5 Abschnitt wurde genommen)

Beachten Sie, dass es 52,86% profitable Long Trades gibt

Wir haben einen Baum hinzugefügt, der auf den Antworten anderer Blätter basiert.

Und die Ergebnisse haben sich verbessert, profitable Long-Trades sind 79,56% geworden.

Zusammenfassend lässt sich sagen, dass der Ansatz im Großen und Ganzen funktioniert, aber die Ergebnisse bei der Anwendung im wirklichen Leben nicht so gut sind - der Grund dafür ist wahrscheinlich, dass einige der zum Lernen verwendeten Blätter keine stabilen Verbindungen aufweisen oder diese Verbindungen nur gering sind. Jeder Bogen hat eine Rücklaufquote in der Größenordnung von 1%-3% pro Stichprobe.

 
Eine andere Möglichkeit wäre, statt einer Klassifizierung eine Regression zu versuchen und genau die ertragreichen Blattkombinationen zu isolieren, vielleicht ergibt sich dann ein besserer monetärer Effekt.
 
Aleksey Vyazmikin:

Bei den obigen Screenshots handelt es sich um Tests mit Daten, die in keiner Weise zum Training des Modells beigetragen haben.

Hier sind die Ergebnisse des Trainings, die Screenshots sind mein erstes Layout der Blätter auf den Daten, die für das Training verwendet wurden (nur der 1/5 Abschnitt wurde genommen)

Beachten Sie, dass es 52,86% profitable Long Trades gibt

Wir haben einen Baum hinzugefügt, der auf den Antworten anderer Blätter basiert.

Und die Ergebnisse haben sich verbessert, profitable Long-Trades sind 79,56% geworden.

Zusammenfassend lässt sich sagen, dass der Ansatz im Allgemeinen funktioniert, aber die Ergebnisse bei der Anwendung im wirklichen Leben nicht so toll sind - der Grund dafür ist, dass wahrscheinlich einige der zum Lernen verwendeten Blätter keine stabilen Verbindungen aufweisen oder diese Verbindungen nur gering sind. Jeder Bogen hat eine Rücklaufquote in der Größenordnung von 1 % bis 3 % pro Stichprobe.

Nun, wenn man nur versucht, das zu verbessern, was man hat, ist das die Option Folds. Teilen Sie die Aufgabe in mehrere Abschnitte auf und trainieren Sie den 1. für einige Abschnitte und den 2. für den Rest. Ich habe bis zu 500 Fouls gemacht. Sie können natürlich auch weniger tun. Eine Art von Verbesserung.

 
Maxim Dmitrievsky:

Nun, wenn man einfach versucht, das zu verbessern, was man hat, ist das die Option mit den Fouls. Teilen Sie es in mehrere Abschnitte auf und trainieren Sie den 1. an einigen Abschnitten und den 2. an anderen. Ich habe bis zu 500 Fouls gemacht. Sie können natürlich auch weniger tun. Das bringt eine gewisse Verbesserung.

Die Stichprobe in Teile aufteilen und mehrere Modelle trainieren, oder was?

Obwohl meine Stichprobe nur etwa 14 000 Zeilen umfasst...

 
Aleksey Vyazmikin:

Die Stichprobe in Teile aufteilen und mehrere Modelle trainieren, oder was?

Ich habe allerdings nur eine Stichprobe von etwa 14.000 Zeilen...

Ich schrieb oben. Das Basismodell auf der einen Hälfte der Chunks, das zweite Korrekturmodell auf der anderen

5-10 Fouls werden ausreichen, vielleicht auch mehr