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

 

Ich hatte einen langen Beitrag, aber der Moderator hat ihn gelöscht, weil ich mich nicht zurückhalten konnte und meine Gefühle in typisch russischer Manier ausgedrückt habe.... also werde ich es kurz halten....

Ich bin einfach nur verblüfft, um ehrlich zu sein, über die Ergebnisse, die ich erhalten habe. Ja, von 110 Eingänge wurden von 3 bis 5 in verschiedenen Umständen gewählt, und sootvetechno Modelle, die sich als ziemlich klein, aber wie sie gearbeitet haben, ist etwas mit etwas. Zunächst einmal haben ALLE Modelle, die mit den ausgewählten Eingaben erstellt wurden, meinen Test zu 100 % bestanden. Ein solches Ergebnis konnte ich nur einmal erzielen, und zwar durch Zufall, aber hier ist es die ganze Zeit über stabil........

Ja, die Polynome selbst erwiesen sich als zu klein, aber wen interessiert das schon. Im Krieg sind alle Mittel recht. Ich weiß, dass wir mit kleinen Polynomen auf den Markt kommen werden, wenn sie funktionieren, ist das nicht meine Schuld......

Aber auch hier handelt es sich nur um einen Schnelltest, und wir brauchen mehr Zeit, um die Theorie zu bestätigen, aber hier ist ein spektakuläres Beispiel dafür, wie der TS in den letzten zwei Wochen im Bereich der negativen Rückkopplungen arbeitete.

Es ist sicherlich kein Gral, der im nächsten Thread besprochen wird, aber das Ergebnis ist offensichtlich, Equity ist durchweg über Null auf dem gesamten Gebiet der CB!!!!

Ich möchte mich bei allen bedanken, die auf mein Ersuchen um Hilfe bei R. geantwortet haben. Sie haben mir wirklich geholfen, eine Menge Zeit zu sparen. Jetzt muss ich nur noch mein Signal in den grünen Bereich bringen!!!!!

 
Dr. Trader:

jPrediction zum Beispiel skaliert die Daten auf das Intervall [-1;1] und lernt auf diesen Zahlen. Es ist auch möglich, in R auf das gleiche Intervall zu skalieren, bevor die Eingaben ausgewertet werden.

Schätzmethoden, die auf Bäumen basieren, werden das Ergebnis wahrscheinlich nicht verändern, da es den Wäldern egal ist, aus welchem Intervall die Daten stammen, aber es ist besser, dies zu überprüfen. vtreat ist auch nicht wählerisch, was das Intervall angeht.


Aber im Allgemeinen spricht er von einer nicht-linearen Transformation der Eingaben, noch bevor sie in die Neuronen eingespeist werden. Neuronics reagiert sehr empfindlich auf Eingaben, und wenn Sie die Eingabedaten auf eine besondere Weise verarbeiten, können sich die Ergebnisse verbessern. Ich habe zum Beispiel von einem solchen Trick gehört - Eingaben über Sigmoid umwandeln.

Gebaute Modelle haben bereits eine solche Funktion, wenn ich mich nicht irre. Es sieht folgendermaßen aus....

double sigmoid(double x) {
   if (MathAbs(x) < 1.0) {
      return 2.0 * signum(x) - x;
   }
   return signum(x);
}
 
Mihail Marchukajtes:

Es sieht folgendermaßen aus....

Eine Art spezielles 'Reshetov Sigmoid' :)

Hier ist ein interessantes Bild mit verschiedenen Datenumwandlungen.
Sie sagen, dass das neuronale Netz sehr zufrieden ist und leicht lernt, wenn alle Prädiktoren ungefähr die gleichen Balken haben. Das letzte Drittel der Prädiktoren auf scale()x2->Sigmoid() sieht gut aus, aber ich muss etwas mit der ersten Hälfte der Prädiktoren machen, sonst wird das neuronale Netz erstickt.
Und wenn wir uns den Boxplot für die Skalierung in [-1;1] wie in jPrediction ansehen, sieht es wirklich schlecht aus.


Dateien:
 

Heute ist Gralstag, aber wir wissen, wie er aussieht und wie viel Arbeit es ist, ihn in den Händen zu halten!!!!

Ich habe keine Angst vor dem Wort, aber heute habe ich einen Gral für mich gefunden. Ich habe es wiederholt getestet und die Ergebnisse sind erstaunlich. Besonderer Dank gilt Dr. Trader für seine Unterstützung, die zu dieser Entdeckung geführt hat. Ich habe keine Angst vor diesem Wort........ Mit Hilfe von R war ich in der Lage, eine Reihe wichtiger Prädiktoren zu finden, und da das Ziel die gleiche Anzahl von Klassen hat, kann die Menge der wichtigen Prädiktoren durch ein wenig Herumspielen (Hinzufügen oder Entfernen einer Klasse) um eine oder zwei Spalten erweitert werden. Ich habe es einmal ausprobiert, und es war einfach so normal, sie hinzuzufügen. Dann beginnen wir, das Modell mit den besten Lernergebnissen auszuwählen.


Natürlich ist die Größe des Polynoms nicht groß, aber es funktioniert theoretisch 50% des Trainingsintervalls, d.h. eine Woche, und das ist genug für mich!!!!!! Aber hier ist die Sache.... Und ich wende mich jetzt an die Leute, die hier nach verlässlichen und stabilen Mustern suchen. Es ist einfacher, dies anhand eines Beispiels zu erklären.........

Ich speichere eine Datentabelle mit 1000 Zeilen und 111 Spalten, in der 110 Prädiktoren und so ausgegeben werden. Ich nehme jedoch nicht die gesamte Tabelle, sondern einen kleinen frischen Abschnitt von 40 Datensätzen (das entspricht etwa 2 Wochen TS-Arbeit). Als Ergebnis habe ich eine Trainingsmenge von 40 mal 110 plus das Ziel. In der Tat nehme ich genau an diesem Tag und genau in diesem Intervall eine Marktscheibe. Diese Scheibe ist stationär. Dann wähle ich wichtige Inputvariablen im Verhältnis zum Output aus und erhalte 3 bis 5 Spalten, die meines Erachtens das erforderliche Alpha aufweisen und mir einen Vorteil gegenüber anderen Marktteilnehmern verschaffen. Und nun das Wichtigste.... Worum ging es bei der ganzen Diskussion? Sobald ich der Datentabelle für das Training eine weitere Zeile hinzufüge, wird sich die Spaltenmenge drastisch ändern, d. h. alpha wird zu einer anderen Spaltenmenge wechseln. Vielleicht nicht sofort, aber nachdem Sie mehr als eine Zeile hinzugefügt haben. D.h. Signale TS!!!! Alpha ist genau das gleiche Muster in seiner reinsten Form, die minimal ist und für die Zielfunktion ausreicht. Aber dieses Muster ist nicht offensichtlich, d. h. es ist mit bloßem Auge nur sehr schwer zu erkennen. An diesem Punkt kommt die künstliche Intelligenz ins Spiel und erledigt ihre Arbeit.

Und nun stellen Sie sich vor, wie alpha auf alle Datenfelder, die ich entlade, aufspringen kann, wenn sie selten in mehr als fünf Eingaben enthalten sind, und das Feld insgesamt 110 Eingaben hat. Mit anderen Worten: Mit jedem neuen Slice erhalte ich einen völlig anderen Satz von Prädiktoren. Und wie will man da mithalten, und selbst bei einer Entfernung von einem JAHR!!!!!!!, wenn es wochenlang hier ist, kann man es kaum richtig einfangen....... Aber du hast absolut Recht, es gibt einen Gral, aber jeder hat seinen eigenen, und um ihn zu behalten, muss man sich sehr anstrengen.......

Und noch einmal zu den Theoretikern der Demokonten: So wird es gemacht.......

Ich habe mit der Theorie gearbeitet und einige Tests damit durchgeführt. Die Tests zeigten gute Ergebnisse. Die Modelle werden mit der UPU trainiert, wenn der Roboter geladen ist. Beobachten Sie diese Woche mein Signal und Sie werden sehen, was meine Annahmen wert sind.

 

Wunderbar!

Ave R!

 
Mihail Marchukajtes:

Stellen Sie sich nun vor, wie das Alpha über das gesamte Datenfeld, das ich entlade, springen kann, wenn es selten in mehr als fünf Eingaben enthalten ist und das gesamte Feld 110 Eingaben umfasst. Mit anderen Worten: Mit jedem neuen Slice erhalte ich einen völlig anderen Satz von Prädiktoren.

Schalten Sie jetzt Ihr Gehirn ein )

 
Kombinator:

Jetzt benutze dein Gehirn).

Wenn Sie Ihren Rat wirklich befolgen und darüber nachdenken, gibt es nur eine Antwort. Der Schnitt ist unbeweglich, und jede Änderung des Schnitts wirft Sie einfach in eine andere Dimension (bildlich gesprochen), in der völlig andere Gesetze gelten. Deshalb ist es sehr schwierig, auf dem Markt Geld zu verdienen. Dies wird als Nicht-Stationarität bezeichnet. Wenn die Informationen, die nur 5% des maximal möglichen Datensatzes vorhersagen können und das nächste Signal kann sich drastisch ändern, oder überhaupt nicht. Darüber hinaus speichere ich das Delta und das Volumen für 11 Instrumente, von denen nur 5% hier und jetzt funktionieren und es ist nicht bekannt, wann sie geändert werden, aber es ist klar, dass, wenn die Ersetzung von anderen Spalten dieser Moment verfolgt werden kann und folglich den Moment bestimmen, wenn das Modell deflationiert wird...... Ich muss mehr Tests durchführen.....a habe keine Zeit...

 

OOS, 15 min tf

einige Fehler in Strategie #2 gefunden, behoben, es scheint zu funktionieren

es gibt immer noch Seite 3 und RL wurde hinzugefügt, was meiner Meinung nach viel Potenzial hat, aber eine Menge Überlegungen zur Umsetzung erfordert


 

Interessanter Artikel über eine Studie zu acht Modellen des maschinellen Lernens

Im Einzelnen betrachten wir folgende Algorithmen: Mehrschicht-Perzeptron (MLP), logistische Regression, Naive Bayes, Knearest Neighbors, Entscheidungsbäume, Random Forests und Gradient-Boosting-Bäume. Diese Modelle werden auf Zeitreihen von acht datengenerierenden Prozessen (DGPs) angewendet, die unterschiedliche lineare und nichtlineare Abhängigkeiten widerspiegeln (Basisfall). Zusätzliche Komplexität wird durch das Hinzufügen von Diskontinuitäten und unterschiedlichem Rauschen erzeugt.


Und hier sind die Ergebnisse

Zunächst stellen wir fest, dass Modelle des maschinellen Lernens bei unbekannten zugrundeliegenden DGPs eine solide Leistung erzielen, verglichen mit dem Anspruchsniveau, das durch optimale Prognosen gesetzt wird. Bei Abwesenheit von Rauschen (Basisfall) ähneln die mit den Modellen des maschinellen Lernens erzielten Ergebnisse fast denen der optimalen Prognose. In Bezug auf die Modelle liefern MLPs und GBTs die besten Ergebnisse sowohl für lineare als auch für nichtlineare DGPs. Für Prozesse, die keine oder nur geringe Nichtlinearitäten aufweisen, stellt die LR eine gute Alternative dar, vor allem, wenn man ihren geringen Rechenaufwand berücksichtigt. Wir stellen fest, dass NB und einzelne Entscheidungsbäume eine schlechtere Leistung erbringen und empfehlen daher die oben genannten Techniken für Zeitreihenvorhersagen.

Zweitens ist es besser, zu viele verzögerte Werte in den Merkmalsraum aufzunehmen als zu wenige. Die meisten Modelle des maschinellen Lernens erweisen sich als recht robust gegenüber einer Überschreitung der von der Prozessgleichung der DGP vorgeschlagenen Anzahl von Verzögerungen. Im Falle des RF erhöht die Einbeziehung zusätzlicher Merkmale sogar die Vorhersagegenauigkeit. Wir empfehlen, mit einer Verzögerung zu beginnen und die Anzahl der Verzögerungen schrittweise zu erhöhen, indem man die Leistung an einem Hold-Out-Set oder mit Kreuzvalidierung überwacht.

Drittens stellen wir fest, dass Sprünge eine sehr starke negative Auswirkung auf die Vorhersagegenauigkeit haben, wobei LR das robusteste maschinelle Lernmodell ist. Um die negativen Auswirkungen abzuschwächen, haben sowohl das Hinzufügen erster Differenzen zum Merkmalsraum (DIFF) als auch das Entfernen von Sprüngen auf der Grundlage des LOF-Algorithmus gute Ergebnisse gezeigt. Wir empfehlen eine Kombination aus beiden Techniken.

Viertens wirkt sich die Verschmutzung der Zeitreihen mit Rauschen bei allen Modellen des maschinellen Lernens am nachteiligsten auf die Vorhersagegenauigkeit aus. Auch hier zeigt sich, dass LR das robusteste Modell für maschinelles Lernen in Gegenwart von Rauschen ist. Darüber hinaus führen zusätzliche Abschwächungsmaßnahmen wie die Einbeziehung von ersten Differenzen (DIFF) und gleitenden Durchschnitten (MA) in den Merkmalsraum zu besseren Ergebnissen.

 
SanSanych Fomenko:

Interessanter Artikel über eine Studie zu acht Modellen des maschinellen Lernens

In Bezug auf die Modelle liefern MLPs und GBTs die besten Ergebnisse sowohl für lineare als auch für nichtlineare DGPs. Für Prozesse, die keine oder nur geringe Nichtlinearitäten aufweisen, stellt die LR eine gute Alternative dar, vor allem, wenn man ihren geringen Rechenaufwand berücksichtigt. Wir stellen fest, dass NB und einzelne Entscheidungsbäume eine schlechtere Leistung erbringen und empfehlen daher die oben genannten Techniken für Zeitreihenvorhersagen.

Das ist ziemlich offensichtlich, wenn man bedenkt, dass CART überhaupt nicht mit prälinearen Problemen arbeitet.