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

 

humnocode auf python heute und bekam dies

Ausbildung

Test

Vielleicht ist der Tester falsch, vielleicht auch etwas anderes, ich werde es morgen Abend noch einmal überprüfen. Ich tue es für einen Artikel (ich möchte meinen Ansatz beschreiben), vielleicht catbust ist besser, diese Strategie als den Wald zu behandeln

 
Maxim Dmitrievsky:

humnocode auf python heute und bekam dies

Ausbildung

Test

Vielleicht ist der Tester falsch, vielleicht auch etwas anderes, ich werde es morgen Abend noch einmal überprüfen. Ich mache für Artikel (wollen meinen Ansatz zu beschreiben), vielleicht catboost ist besser, diese Strategie als Wald zu behandeln.

CatBoost ist also auf einen Test trainiert, entsprechend den Mustern des Benennungssystems - ist da etwas falsch?

 
Aleksey Vyazmikin:

CatBoost ist also auf den Test trainiert, entsprechend ihrem Sampling-Namenssystem - keine Verwechslung?

Ich meine ganz neue Daten, ein anderes Stück Geschichte. So sollte es auch im Zug sein, aber der Test ist verwirrend. Vielleicht guckt der Prüfer irgendwo hin.

Ich bekomme 0,6-0,7 Fehler auf meinem Wald auf etwa die gleichen Daten und es ist das gleiche auf trayne, und der Test ist nicht immer gut und fast immer schlechter als trayne. Fehler in der Erhöhung ist etwa die gleiche, aber der Test ist sehr gut, es passiert nicht.

Wie geht es Ihnen, sind Sie mit den Blättern schon weitergekommen?
 
Maxim Dmitrievsky:

Ich meine ganz neue Daten, ein anderes Stück Geschichte. So sollte es im Zug sein, aber der Test ist verwirrend. Vielleicht guckt der Prüfer irgendwo hin.

Ich bekomme 0,6-0,7 Fehler in meinem Wald bei etwa den gleichen Daten und es ist das gleiche auf dem Trail, und der Test ist nicht immer gut und fast immer schlechter als Trail. Der Boost hat ungefähr den gleichen Fehler, aber der Test ist schmerzhaft gut, das passiert nicht

Wie geht es Ihnen, haben Sie Blätter gewonnen?

Nun, dann weiß ich es nicht - ohne Stichproben ist es schwer zu sagen, was falsch ist.

Meine Ergebnisse machen mich nicht sehr glücklich. Ich habe eine ansehnliche Menge an Blättern gesammelt, aber dann stellt sich die Frage, wie ich sie am besten miteinander kombinieren kann. Die Sache ist die, dass sie sich oft um 20%-50% oder mehr überschneiden und daher das gleiche Signal liefern, was nicht sehr gut ist. Die Idee ist, sie in Gruppen zusammenzufassen und für jede Gruppe einen Schwellenwert für die Aktivierung festzulegen - also denke ich darüber nach, wie man das am besten macht.

Bisher experimentiere ich mit der gegenseitigen Filterung - ich habe Baum in R auf Blätter trainiert, aber bisher nur auf den Kauf.

Erster Screenshot ohne Baum, zweiter Screenshot mit Baum. Der Zeitraum ist in diesem Jahr März-September.

Natürlich ist die Gleichgewichtskurve nicht sehr attraktiv, aber es handelt sich um eine Trendstrategie, deren Kern darin besteht, nicht mehr zu verlieren, als man während der Flaute verdient, und der Markt (Si) ist das ganze Jahr über flach mit seltenen starken Bewegungen. Ich kann sehen, dass das Hinzufügen eines Baumes die relativen Indikatoren verbessert hat, ich werde das Gleiche für den Verkauf ein wenig später tun, wenn das Ergebnis positiv ist, wird es ein Teil des Modells sein.

Die Frage der Auswahl der Blätter bis zum Ende ist nicht gelöst, auch die Auswahl der Blätter, die gute Ergebnisse in jedem der 5 Jahre gezeigt haben, kann erwarten, dass 20%-40% aufhören zu arbeiten, was noch trauriger ist die Unfähigkeit zu verstehen, ob sie ausschalten oder nicht - vor allem von Quartalen hat den Test, stellte sich heraus, dass die unrentable Blätter im letzten Quartal überlappen den Verlust (viele) in den folgenden Quartalen.

Die Methode der Blattauswahl selbst scheint vielversprechend zu sein, aber der Prozess ist sehr langsam.

 
Aleksey Vyazmikin:

Nun, dann weiß ich es nicht - ohne eine Probe ist es schwer zu sagen, was falsch ist.

Ich bin nicht sehr zufrieden mit den Ergebnissen. Ich habe eine ansehnliche Menge an Blättern gesammelt, aber die nächste Frage ist, wie ich sie besser zusammenbringen kann. Die Sache ist die, dass sie sich oft um 20%-50% oder mehr überschneiden, und daher stellt sich heraus, dass sie das gleiche Signal geben, was nicht sehr gut ist. Die Idee ist, sie in Gruppen zusammenzufassen und für jede Gruppe einen Schwellenwert für die Aktivierung festzulegen - also denke ich darüber nach, wie man das am besten macht.

Bisher experimentiere ich mit der gegenseitigen Filterung - ich habe Baum in R auf Blätter trainiert, aber nur für den Kauf.

Erster Screenshot ohne Baum, zweiter Screenshot mit Baum. Der Zeitraum ist in diesem Jahr März-September.

Natürlich ist die Gleichgewichtskurve nicht sehr attraktiv, aber es handelt sich um eine Trendstrategie, deren Kern darin besteht, nicht mehr zu verlieren, als man während der Flaute verdient, und der Markt (Si) ist das ganze Jahr über flach mit seltenen starken Bewegungen. Ich kann sehen, dass das Hinzufügen eines Baumes die relativen Indikatoren verbessert hat, ich werde das Gleiche für den Verkauf ein wenig später tun, wenn das Ergebnis positiv ist, wird es ein Teil des Modells sein.

Die Frage der Auswahl der Blätter bis zum Ende ist nicht gelöst, auch die Auswahl der Blätter, die gute Ergebnisse in jedem der 5 Jahre gezeigt haben, kann erwarten, dass 20%-40% aufhören zu arbeiten, was noch trauriger ist die Unfähigkeit zu verstehen, ob sie ausschalten oder nicht - speziell von Quartalen hat den Test, es stellte sich heraus, dass die unrentable Blätter im letzten Quartal überlappen den Verlust (viele) in den folgenden Quartalen.

Die Methode der Blattselektion selbst scheint vielversprechend zu sein, aber der Prozess ist extrem langsam.

Dafür bekomme ich keinen Muzen, schade.

Es gibt nur sehr wenige Berufe, sie sind nicht repräsentativ. Und wir müssen die verlustbringenden herausfiltern, denn sie sind alle unnötig
 
Maxim Dmitrievsky:

Ja, damit kann man kein schnelles Geld verdienen, das ist schade.

Es gibt nur sehr wenige Berufe, sie sind nicht repräsentativ. Und Sie sollten die unrentablen herausfiltern, sie sind alle gleich, Sie brauchen sie nicht.

Ja, das Problem ist, dass für jedes Blatt Signal zugewiesen 1 viel, bzw., wenn eine Menge von Blättern aktiviert, dann mehr Lose benötigt - es gibt 71 Lose, aber sehr selten, und wenn Sie das Geld auf 71 Lose die ganze Zeit zu halten, dann würde die Summe 25% pro Jahr bekommen - GO auf dem Austausch ist groß, und es ist Si.

Das Entfernen von unprofitablen Trades ist ein zweischneidiges Schwert: Einerseits kann man die Anzahl der Filter erhöhen, was die Anzahl der Verlustgeschäfte reduziert, aber gleichzeitig die Anzahl der profitablen Trades verringert, wie ich oben schrieb, werden viele Blätter im Laufe des Jahres profitabel, es ist also eine Frage der Zeit, eine Frage der Marktbedingungen. Das Problem bei diesem Ansatz ist, dass er sehr arbeitsintensiv ist und es keine Möglichkeit gibt, zeitnah neue Prädiktoren hinzuzufügen, für die ich Ideen habe und die regelmäßig auftauchen - ich arbeite jetzt gerade mit einer Stichprobe vom Februar dieses Jahres.

Eine weitere Möglichkeit, die Indikatoren zu verbessern, ist die Arbeit an Gewinnmitnahmen - derzeit erfolgt das Schließen hauptsächlich durch Stopp und eine Bedingung - bei seltenen Gelegenheiten.

Trotz aller Nachteile hat das System seit fast einem Jahr kein Geld verloren, was auf die richtige Richtung hinweisen könnte.

 
Aleksey Vyazmikin:

Ja, das Problem ist, dass für jedes Blatt Signal zugewiesen 1 viel, bzw., wenn eine Menge von Blättern aktiviert, dann mehr Lose benötigt - es gibt 71 Lose, aber sehr selten, und wenn Sie das Geld auf 71 Lose die ganze Zeit zu halten, dann würde die Summe 25% pro Jahr bekommen - GO auf dem Austausch ist groß, und es ist Si.

Das Entfernen von unprofitablen Trades ist ein zweischneidiges Schwert: Einerseits kann man die Anzahl der Filter erhöhen, was die Anzahl der Verlustgeschäfte reduziert, aber gleichzeitig die Anzahl der profitablen Trades verringert, wie ich oben schrieb, werden viele Blätter im Laufe des Jahres profitabel, es ist also eine Frage der Zeit, eine Frage der Marktbedingungen. Das Problem bei diesem Ansatz ist, dass er sehr arbeitsintensiv ist und es keine Möglichkeit gibt, zeitnah neue Prädiktoren hinzuzufügen, für die ich Ideen habe und die regelmäßig auftauchen - ich arbeite jetzt gerade mit einer Stichprobe vom Februar dieses Jahres.

Eine weitere Möglichkeit, die Indikatoren zu verbessern, ist die Arbeit an Gewinnmitnahmen - derzeit erfolgt das Schließen hauptsächlich durch Stopp und eine Bedingung - bei seltenen Gelegenheiten.

Trotz aller Unzulänglichkeiten hat das System seit fast einem Jahr kein Geld verloren, was ein Zeichen für die richtige Richtung sein könnte.

Es ist möglich, ein 2. Modell auf dem ersten zu trainieren, mit denselben Merkmalen. Sie korrigiert jedoch nur die Equity-Einträge, d. h. sie verbietet/erlaubt den Handel. Zumindest wird es keine unnötigen Tauschgeschäfte geben.

 
Maxim Dmitrievsky:

ist es möglich, ein 2. Modell über dem ersten zu trainieren, mit denselben Merkmalen. Aber es wird lediglich die Aktieneinträge korrigieren, d.h. es wird den Handel verbieten/erlauben. Zumindest wird es keine unnötigen Tauschgeschäfte geben.

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

 
Maxim Dmitrievsky:

ist es möglich, ein 2. Modell über dem ersten zu trainieren, mit denselben Merkmalen. Sie korrigiert jedoch nur Aktieneinträge, d. h. sie verbietet/erlaubt den Handel. Zumindest wird es keine unnötigen Tauschgeschäfte geben.

Ich verstehe nicht ganz, wie Sie vorschlagen, das Ziel zu ändern - jetzt habe ich bereits 3 Ziele - kaufen/verkaufen/nicht handeln. Und, ich wähle Blätter zu kaufen / verkaufen, und dann zu jedem solchen Blatt auf der Suche nach einem Filter von Blättern "nicht handeln", so viel wie 3 Stück (für einige ist es genug für einige ist es nicht genug - führte die Tests). Nach den Ergebnissen dieser Paare - Aktivierungsblatt + Filterblatt - habe ich einen Baum auf der Grundlage des endgültigen Signals erstellt, der die Antworten aller Blätter und ihren gegenseitigen Ausschluss berücksichtigt, d.h. ich habe einen zusätzlichen Filter erhalten.

Hier ist ein Baum

Ich möchte das Modell anstelle eines Baumes mit CB ausprobieren, vielleicht ist dort die Verallgemeinerung aller verwendeten Blätter besser, obwohl die Genauigkeit um 1% erhöht wird, was nicht viel ist, aber das Ergebnis ist positiv.

 
Aleksey Vyazmikin:

Ich verstehe nicht ganz, wie Sie vorschlagen, das Ziel zu ändern - im Moment habe ich im Grunde 3 Ziele: kaufen/verkaufen/nicht handeln. Und, ich wähle kaufen/verkaufen Blätter, und dann zu jedem solchen Blatt suche ich nach einem Filter von "nicht handeln" Blätter, so viele wie 3 Stück (für einige ist dies genug für einige, für einige nicht genug - durchgeführt Tests). Nach den Ergebnissen dieser Paare - Aktivierungsblatt + Filterblatt - habe ich einen Baum auf der Grundlage des endgültigen Signals erstellt, der die Antworten aller Blätter und ihren gegenseitigen Ausschluss berücksichtigt, d.h. ich habe einen zusätzlichen Filter erhalten.

Hier ist ein Baum

Ich möchte das Modell auf CB statt auf Baum versuchen, vielleicht wird dort die Verallgemeinerung aller verwendeten Blätter besser sein.

Nun, man sollte 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 man nicht kaufen kann, kann man verkaufen und umgekehrt. Deshalb brauchen wir einen gewöhnlichen binären Klassifikator. Wenn wir es so machen, warum brauchen wir dann eine separate Klasse "Nicht handeln", wenn man die Einträge einfach über einen höheren Schwellenwert filtern kann. Die Klasse "nicht handeln" kann durch das Modell übermäßig gewichtet werden, wodurch der Modellfehler abnimmt und die Vorhersagefähigkeit (Allgemeinheit) im Allgemeinen sinkt.

Der Sinn des zweiten Modells besteht darin, dass das erste Modell Fehler der ersten und zweiten Art - falsch positiv und falsch negativ - aufweisen wird. Wir sind an ihrer Beseitigung interessiert. Dazu füttern Sie den Eingang des zweiten Modells und den Ausgang des ersten Modells mit denselben Merkmalen, wobei 0 bedeutet, dass der Handel gewinnbringend 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 die Tests.

Sie können die Probe in Fouls aufteilen und die Modelle in schachbrettartiger Reihenfolge durch bestimmte Abschnitte unterrichten. Zum Beispiel: 5 Fouls. Das erste Modell wird sofort auf 1,3,4 Fouls trainiert. Das zweite Berichtigungsmodell zum 2,5. Dies würde die Verallgemeinerung weiter verbessern.