Maschinelles Lernen im Handel: Theorie, Modelle, Praxis und Algo-Trading - Seite 1202
Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Ich verstehe nicht wirklich, was in den Zahlen steht und was das Problem ist
Die Abbildungen zeigen das finanzielle Ergebnis (y-Achse) des Modells bei Wahl verschiedener Wahrscheinlichkeiten für die binäre Klassifizierung (x-Achse). Anhand eines Testbeispiels habe ich verstanden, dass man immer dann in den Markt einsteigen sollte, wenn ein Aktivierungssignal erscheint (das Training entscheidet, ob man einsteigt oder nicht). Das sich daraus ergebende Paradoxon besteht darin, dass das Lernen nur eine Verschlechterung des grundlegenden Aktivierungssignals bewirkt, und ich hätte es nicht gesehen, wenn ich nicht beschlossen hätte, zu sehen, wie sich das finanzielle Ergebnis in Abhängigkeit von der Verschiebung des Klassifizierungspunkts auf dem Wahrscheinlichkeitssegment verändert.
Ich habe eine Menge Varianten von Modellen selbst gemacht, jetzt versuche ich herauszufinden, welche ich für die Überwachung wählen soll :D oder um sie weiter zu verbessern
kurzum... bei diesen Ansätzen wird die Ausgabe überhaupt nicht korrekt übermittelt, sei es in Form von Zickzacklinien oder sonstigem Unsinn
denn für jede Dimension des gleitenden Fensters sollte es eine andere Verteilung geben, aus der gehandelt wird. Dann passt sich das Modell besser an, auch an die Teststichprobe. (während Zickzack- oder andere Ausgänge selbst sehr deterministisch sind, gibt es nur wenige Freiheitsgrade für die Anpassung) Letzteres ist getan und das war's, d.h. die Aufzählung der Ausgänge ist gründlicher, und dann gibt es wirklich nichts mehr zu tun
zur Eingabe von Inkrementen mit verschiedenen Verzögerungen, auf die alte Weise, mit Selbstabtastung durch Importeure und vielleicht durch PCA, um die Korrelation loszuwerden, solche Varianten von Bots auch gemacht. Aber im Allgemeinen ist die Verwendung der PCA eine fehlerhafte Idee (auch wenn im Internet wieder das Gegenteil geschrieben wird). Die Proben müssen nicht nur zentriert werden, sondern mit neuen Daten werden diese Komponenten langsam zu SchlackeWir haben einen ganz anderen Ansatz für dieses Problem. Mir ist eine rein mathematische Beschreibung des Preises ohne eine wirkliche (visuell beobachtbare Muster) Begründung fremd. Im Gegenteil, ich wende ZZ an und erkenne die Wirksamkeit (Pedikatoren auf ZZ stehen in allen MO-Paketen immer ganz oben auf der Liste). Ich denke, dass eine Kombination der beiden Ansätze das Ergebnis verbessern könnte.
Die Auswahl von Modellen anhand der Signifikanz ist unsinnig - ich habe bereits gezeigt, dass das Entfernen verschiedener signifikanter Prädiktoren im selben Modell die Lernergebnisse verbessern und neue, produktivere und stabilere Beziehungen in den Baumblättern bilden kann. All diese "Wichtigkeit" ist ein gieriges Prinzip bei der Baumkonstruktion, das nicht a priori richtig ist, so dass ich separate sinnvolle Methoden zur Bewertung von Prädiktoren benötige - die ich noch nicht habe.
Maxim Dmitrievsky:
All das ergibt so etwas wie das hier, so ziemlich ohne viel Aufhebens, einfach 10 Minuten warten:
die Möglichkeit weiterer Verbesserungen erscheint zweifelhaft, wenn das Modell bereits für über 100 % der Züge funktioniert
vielleicht kann man mit einer guten Grafik/einem guten Instrument noch mehr herausholen.
Sieht gut aus, aber der Zeitraum des Modells ist zu kurz. Wie verhält es sich bei ein Jahr alten Daten?
Die Abbildungen zeigen das finanzielle Ergebnis (y-Achse) des Modells bei Wahl verschiedener Wahrscheinlichkeiten für die binäre Klassifizierung (x-Achse). Anhand des Testmusters kam ich zu dem Schluss, dass man immer dann in den Markt einsteigen sollte, wenn ein Aktivierungssignal erscheint (das Training entscheidet, ob man in den Markt einsteigt oder nicht). Das sich daraus ergebende Paradoxon besteht darin, dass das Lernen nur eine Verschlechterung des grundlegenden Aktivierungssignals bewirkt, und ich hätte es nicht gesehen, wenn ich nicht beschlossen hätte, zu sehen, wie sich das finanzielle Ergebnis in Abhängigkeit von der Verschiebung des Klassifizierungspunkts auf dem Wahrscheinlichkeitssegment verändert.
Wir haben einen ganz anderen Ansatz für dieses Problem. Mir ist eine rein mathematische Beschreibung des Preises ohne eine wirkliche (visuell beobachtbare Muster) Begründung fremd. Im Gegenteil, ich wende ZZ an und erkenne die Wirksamkeit (Pedikatoren auf ZZ stehen in allen MO-Paketen immer ganz oben auf der Liste). Ich denke, dass eine Kombination der beiden Ansätze das Ergebnis verbessern könnte.
Die Auswahl von Modellen anhand der Signifikanz ist unsinnig - ich habe bereits gezeigt, dass das Entfernen verschiedener signifikanter Prädiktoren im selben Modell die Lernergebnisse verbessern und neue, produktivere und stabilere Beziehungen in den Baumblättern bilden kann. Die ganze Sache mit der "Wichtigkeit" ist ein gieriges Prinzip bei der Baumkonstruktion, das nicht a priori richtig ist, so dass wir separate, sinnvolle Methoden zur Schätzung von Prädiktoren brauchen - die habe ich noch nicht.
Wie sollte die Wichtigkeit in der Teststichprobe und endlich in der Trainingsstichprobe betrachtet werden? Klassisch eingebaute Importe wie Gini lügen immer, wir müssen eine Permutation durchführen (jeden der Prädiktoren einzeln randomisieren und den Modellfehler sehen) und dann die schlechtesten rauswerfen. Man muss vorher korrelierte Merkmale loswerden, sonst lügen die Importe durch Permutation auch. Kein Unsinn, Sie bekommen das bestmögliche Modell. Warum sollte man versuchen, das Rad neu zu erfinden, wenn es noch nichts Besseres gibt.
Es sieht nicht schlecht aus, aber der Modellzeitraum ist zu kurz, wie verhält es sich bei ein Jahr alten Daten?
15 Minuten, ich unterrichte einfach nicht länger, weil es länger dauert, zu warten.
Was das 15-Minuten-Diagramm betrifft, so hat nur fxsaber es vielleicht sogar für ein paar Jahre geschafft :)
Ich habe eine No-Action-Hebelung, d.h. es wird von Anfang an keine Strategie in das Modell eingebautIch betrachte ein Diagramm des Gewinns im Vergleich zur Anzahl der Bäume in einem Modell (512 Modelle)
und es sieht so aus, als ob Modelle mit mehr Bäumen über 60 weniger wahrscheinlich abwerfen oder die Stichprobe klein ist...
Hier sind weitere Diagramme mit einer unterschiedlichen Anzahl von Bäumen.
Beispiel 7400 für alle, rf-Algorithmus
Anzahl der Bäume 50
Der Fehler nimmt mit zunehmender Anzahl von Bäumen ab. Sie scheint zuzunehmen und plötzlich auf Null zu sinken.
Anzahl der Bäume = 150
Mit 150 steigt die Genauigkeit, allerdings nur geringfügig - um ein paar Hundertstel.
Erhöhung der Anzahl der Bäume
Fazit: Bis zu 50 Bäumen ist es sinnvoll, die Anzahl der Bäume zu erhöhen, aber über 100 macht es keinen Sinn.
Ich bin zu faul, es jetzt zu tun, aber ich habe die Stichprobengröße geändert.
Der Stichprobenumfang von bis zu 1000 Beobachtungen wirkt sich stark auf die Genauigkeit des Modells aus. Aber nach 5000 hat die Stichprobengröße KEINEN Einfluss auf die Modellgenauigkeit.
Daraus schließe ich: Der Fehler wird nicht durch das Modell oder seine Parameter bestimmt, sondern durch die Kombination "Prädiktoren-Ziel".
Erhöhen wir die Anzahl der Bäume
Daraus schließe ich: Der Fehler wird nicht durch das Modell oder seine Parameter bestimmt, sondern durch die Verknüpfung "Prädiktoren-Ziel".
50-100 Bäume werden anfangs empfohlen, es macht keinen Sinn, so viele schwache Klassifikatoren zu züchten, ich habe auch keine Verbesserung gesehen.
monte carlo und dergleichen, um zu helfen, sanSanSanych... Bündel zu konstruieren ist keine Sache des menschlichen Verstandes, es ist nur ein f... GehirneNun, man muss sich die Einfuhren auf dem Prüfmuster ansehen und sie auf das Ausbildungsmuster anpassen. Klassischerweise eingebaute Importe wie Gini lügen immer, wir sollten eine Permutation durchführen (jeden der Prädiktoren einzeln randomisieren und den Modellfehler überprüfen) und dann die schlechtesten verwerfen. Man muss vorher korrelierte Merkmale loswerden, sonst lügen die Importe durch Permutation auch. Kein Unsinn, Sie bekommen das bestmögliche Modell. Warum sollte man ein Fahrrad erfinden, wenn man noch nichts Besseres erfunden hat?
Ich verstehe die Methode ehrlich gesagt nicht - geht es darum, Prädiktoren schrittweise aus dem Training auszuschalten und die Ergebnisse mit und ohne diesen Prädiktor zu vergleichen? Was bedeutet es dann, zu randomisieren? Wie kann man entscheiden, ob er gut ist oder nicht - wenn der Prädiktor es erlaubt, 1% der Stichprobe richtig aufzuteilen und in der mittleren Tiefe des Baums liegt - ist er dann gut oder schlecht? Vielleicht ist es notwendig, die Qualität der Konstruktion des Baumes mit dem Wurzelprädiktor zu berücksichtigen, wie er die Stichprobe auf jeder Ebene schneidet - vielleicht ist ein sanfter Abfall des Gradienten erforderlich... Vielleicht sollten wir die Stichprobe nicht nach dem Maximum, sondern nach dem Durchschnitt oder nach dem x-Sigma oder was auch immer aufteilen - vielleicht werden die Regeln dann komplexer, aber stabiler. Übrigens verstehe ich nicht, warum es keine Trainingsmethode gibt, die nicht nur numerische Zähler für Splits verwendet, sondern auch logische, vergleichende Prädiktoren?
15 Minuten, ich trainiere einfach nicht länger, weil die Wartezeit länger ist.
Ich weiß nicht... ich glaube, nur fxsaber ist seit ein paar Jahren in der Lage, einen so glatten 15-Minuten-Chart zu erstellen :)
Ich habe ein No-Action-Learning, d.h. es wird von Anfang an keine Strategie in das Modell eingebaut.Haben Sie schon einmal versucht, eine primitive Strategie zu entwickeln und dafür Filter zu trainieren, die dem Markt nachgeben oder sich weigern, ihn zu betreten?
Ich verstehe die Methode ehrlich gesagt nicht - geht es darum, Prädiktoren schrittweise aus dem Training zu entfernen und die Ergebnisse mit und ohne diesen Prädiktor zu vergleichen? Was bedeutet es dann, zu randomisieren? Wie entscheiden Sie, ob er gut ist oder nicht - wenn der Prädiktor es Ihnen ermöglicht, 1 % der Stichprobe korrekt aufzuteilen und in der mittleren Tiefe des Baums liegt - ist er dann gut oder schlecht? Vielleicht müssen Sie nur die Qualität der Baumkonstruktion mit dem Wurzelprädiktor berücksichtigen, wie er die Stichprobe auf jeder Ebene schneidet - vielleicht brauchen Sie einen sanften Gradientenabfall... Vielleicht sollten wir die Stichprobe nicht nach dem Maximum, sondern nach dem Durchschnitt oder nach dem x-Sigma oder was auch immer aufteilen - vielleicht werden die Regeln dann komplexer, aber stabiler. Übrigens verstehe ich nicht, warum es keine Trainingsmethode gibt, die nicht nur numerische Zähler für Splits verwendet, sondern auch logische Zähler, die Prädiktoren vergleichen?
Haben Sie schon einmal versucht, eine primitive Strategie zu entwickeln und dafür Filter zu trainieren, die den Markteintritt erlauben oder verbieten?
zunächst das Modell mit allen Merkmalen trainieren, Fehler speichern
dann jeden der Prädiktoren randomisieren, z. B. mit einer Normalverteilung, und den Fehler für alle Merkmale, einschließlich des randomisierten (geänderten), erneut überprüfen und mit dem ursprünglichen vergleichen. Es ist nicht notwendig, das Modell neu zu trainieren. Überprüfen Sie also jeden der Prädiktoren. Wenn der Prädiktor gut war, wird der Fehler der gesamten Stichprobe (einschließlich aller anderen ursprünglichen Prädiktoren) im Vergleich zum Original drastisch ansteigen. Speichern Sie die Fehlerdifferenzen, und wählen Sie die besten Fiches anhand dieser Differenzen aus. Am Ende sollten Sie nur die Besten trainieren und in die Produktion übernehmen. Schlechte Prädiktoren sind Rauschen für das Modell, wir brauchen sie nicht mit ihren 1%. Die guten bleiben in der Regel 5-10, die Bedeutung der übrigen nimmt exponentiell ab (Zipfsches Gesetz).
Ich habe versucht, Filter zu lehren, aber nicht viel, ich sehe nicht viel Sinn, es ist besser, alles in ein Modell auf einmal zu setzen
Wenn Sie können, gerade über die Auswahl der Prädiktoren SEHR kompetent(bereits früher geworfen)
Hier sind die anderen Diagramme mit unterschiedlicher Anzahl von Bäumen.
Beispiel 7400 für alle, rf-Algorithmus
Anzahl der Bäume 50
Der Fehler sinkt mit zunehmender Anzahl der Bäume. Sie scheint zuzunehmen und plötzlich auf Null zu sinken.
Anzahl der Bäume = 150
Mit 150 steigt die Genauigkeit, allerdings nur geringfügig - um ein paar Hundertstel.
Erhöhung der Anzahl der Bäume
Fazit: Bis zu 50 Bäumen ist es sinnvoll, die Anzahl der Bäume zu erhöhen, aber über 100 macht es keinen Sinn.
Ich bin zu faul, es jetzt zu tun, aber ich habe die Stichprobengröße geändert.
Der Stichprobenumfang von bis zu 1000 Beobachtungen wirkt sich stark auf die Genauigkeit des Modells aus. Aber nach 5000 hat die Stichprobengröße KEINEN Einfluss auf die Modellgenauigkeit.
Daraus schließe ich: Der Fehler wird NICHT durch das Modell oder seine Parameter bestimmt, sondern durch die Beziehung zwischen Prädiktor und Ziel.
Ich denke, es kann eine unterschiedliche Anzahl von Bäumen für Random Forests und verschiedene Arten von Boosting geben, und die Anzahl hängt von der Qualität der Prädiktoren und Situationen ab, die für dasselbe Ziel unterschiedlich sein können (als Beispiel - Ziel 100 Gewinnpunkte von einem beliebigen Punkt). Es ist interessant zu sehen, welche Kombinationen von Blättern und wie oft sie zur Entscheidungsfindung herangezogen werden - ich denke, das ist die Art von Information, die das Modell besser einschätzen kann. Ein weiteres Problem besteht darin, dass es unmöglich ist, ein stationäres Marktmodell zum Testen und Trainieren vorzulegen, was bedeutet, dass nur ein Teil des trainierten Modells in den Tests verwendet wird und das Modell durch diesen Teil geschätzt werden muss, während der andere Teil sich als viel besser erweisen kann. Und wenn der Klassifizierungsfehler nicht gleich der korrekten Klassifizierung modulo ist (wir verwenden ein Schleppnetz und verringern die Fehlerkosten), wird die Modellschätzung noch komplizierter.
zunächst das Modell auf alle Merkmale trainieren, die Fehler speichern
Anschließend werden die Prädiktoren einzeln nach dem Zufallsprinzip, z. B. nach der Normalverteilung, verteilt, und der Fehler wird für alle Merkmale, auch für das geänderte Merkmal, erneut überprüft und mit dem ursprünglichen Fehler verglichen. Es ist nicht notwendig, das Modell neu zu trainieren. Überprüfen Sie also jeden der Prädiktoren. Wenn der Prädiktor gut war, wird der Fehler der gesamten Stichprobe (einschließlich aller anderen ursprünglichen Prädiktoren) im Vergleich zum Original drastisch ansteigen. Speichern Sie die Fehlerdifferenzen, und wählen Sie die besten Fiches anhand dieser Differenzen aus. Am Ende sollten Sie nur die Besten trainieren und in die Produktion übernehmen. Schlechte Prädiktoren sind Rauschen im Modell, mit ihren 1 % brauchen wir sie nicht. Die guten bleiben in der Regel 5-10, die Bedeutung der übrigen nimmt exponentiell ab (Zipfsches Gesetz).
Ich habe versucht, Filter zu lehren, aber nicht viel, ich sehe nicht viel Sinn, es ist besser, alles in ein Modell auf einmal zu setzen
Wenn Sie können, gerade über die Auswahl der Prädiktoren SEHR kompetent(bereits früher geworfen)
Ich danke Ihnen. Die Randomisierung sollte die gleichen Werte wie für den Prädiktor in der Stichprobe haben, richtig?
Im Großen und Ganzen verstehe ich den Ansatz, danke, ich muss mir überlegen, wie ich ihn umsetzen und ausprobieren kann.
Leider kann ich sie nicht beherrschen, also werde ich mir bei Gelegenheit Ihre Umschreibung anhören.
Aber auch hier glaube ich nicht, dass dies ganz richtig ist, da es davon abhängt, wie nah an der Wurzel der Prädiktor im Baum ist...