Maschinelles Lernen im Handel: Theorie, Modelle, Praxis und Algo-Trading - Seite 2837
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
Und warum führt man Ableitungen einer Funktion ein, um Probleme wie das obige Beispiel zu lösen? Um die Oberfläche der Funktion zu glätten.
Ein anderes Beispiel, ganz nah an der Praxis. Es gibt ein Problem mit 10 Fragen, das Netzwerk muss 10 Fragen beantworten. Zählen wir die Anzahl der Antworten. das Maximum wird in diesem Fall 10 sein. das heißt, die Funktion dieses Problems ist diskret. mit vielen lokalen Extrema. warum? schauen wir hier:
Zählen wir die richtigen und falschen Antworten. 0 ist falsch, 1 ist richtig.
0 1 1 0 0 0 0 0 1 0 0 0 1 1 1 : 4 richtig.
1 1 1 0 0 0 0 0 0 0 0 0 0 1 : 4 richtig.
0 1 0 1 0 1 0 0 0 1 1 0 0 0 : 4 richtig
0 0 0 0 0 0 1 0 0 0 1 1 1 1 1 : 4 richtig
0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 : 4 richtig
.......................................
wir können sehen, dass das netzwerk antwortmöglichkeiten mit einer Punktzahl von 4 gibt. dies ist ein Beispiel dafür, wie das netzwerk feststeckt. es sieht kein weiteres Wachstum. das Mischen von antworten kann nicht mehr Punkte bringen.
wie kann man das netzwerk effizienter machen? richtig, dazu wird die ursprüngliche antwortfunktion in eine fehlerfunktion umgewandelt. durch die Minimierung des Gesamtfehlers über alle antworten findet das netzwerk also alle richtigen antworten. in diesem fall reduziert sich das problem auf die Minimierung des fehlers, das Minimum ist global 0, die funktion hat viele extrema, aber jetzt ist sie glatt, das spiel reduziert sich auf kalt, wärmer, heiß, heiß, was viel "glatter" ist als nur ja oder nein.
Leider lässt sich die Problemfunktion nicht immer in eine glatte Funktion umwandeln. Die in den Artikeln vorgestellten Funktionen sollten als bereits umgewandelt betrachtet werden, während die ursprünglichen Funktionen eine viel komplexere Topografie aufweisen. Die Effizienz der Optimierungsalgorithmen liegt also in der Fähigkeit, das Extremum der Ableitung der Funktion zu finden.
Wäre ich auf einer anderen Website, dann wäre das nichts Erstaunliches, aber mit Leuten, die Millionen von Testergebnissen gesehen haben, über Extreme zu diskutieren - da findet man keine Worte. Ein Gedanke ist, dass sie geschieden sind.
Noch einmal: Es gibt keine Extreme! Nein, wir sehen sie, sogar geordnet nach Gewinn oder sonst wie, aber es gibt keine Extreme. Genauso wie es keinen Adler auf einer Münze gibt, die mit dem Adler nach oben gefallen ist, weil es kein Adler ist, sondern die Wahrscheinlichkeit eines Adlers. Alle Ihre Extreme sind Wahrscheinlichkeiten von Extremen. Man könnte über den Wert eines Extremums im Sinne der mathematischen Erwartung und des Konfidenzintervalls sprechen, aber es ist unmöglich, darüber zu sprechen, weil es keine mathematische Erwartung gibt, weil der Wert des Extremums nicht stationär ist!
Sie haben es schon millionenfach gesehen, wenn Sie einen Expert Advisor auf einem Intervall optimieren - Sie erhalten einen Satz von Parametern mit einer Reihe von optimalen Ergebnissen. Nimmt man ein anderes Intervall, das oft nur vergrößert wird, erhält man einen anderen Satz von Parametern mit anderen Ergebnissen, und man kann einen Verlust erleiden. Was? Hat das keiner von Ihnen gesehen? Und das hat nichts mit dem Optimierungsalgorithmus zu tun. Man kann die Genetik, man kann das Oversampling vervollständigen, was die Genetik verbessern kann, aber außerhalb der Optimierungsstichprobe wird das Ergebnis eins sein, höchstwahrscheinlich traurig.
Sie haben es schon millionenfach erlebt: Wenn Sie einen Expert Advisor für ein Intervall optimieren, erhalten Sie eine Reihe von Parametern mit einer Reihe von optimalen Ergebnissen. Nimmt man ein anderes Intervall, das oft nur vergrößert wird, erhält man einen anderen Satz von Parametern mit anderen Ergebnissen, und man kann einen Verlust erleiden. Was? Hat das keiner von Ihnen gesehen? Und das hat nichts mit dem Optimierungsalgorithmus zu tun. Man kann die Genetik, man kann das Oversampling vervollständigen, was die Genetik verbessern kann, aber außerhalb der Optimierungsstichprobe wird das Ergebnis eins sein, höchstwahrscheinlich traurig.
Dies ist ein Beispiel dafür, wie man unnötige))), so falsche Vorstellung davon, welche Extrema wir sprechen zu tun.
reduzieren Sie das Optimierungsproblem nicht auf die zusammengefasste Antwort "maximaler Saldo", sondern z.B. auf die quadratische Abweichung von der direkten Differenz der Salden bei jedem Handel. dies ist ein Beispiel dafür, wie man das ursprüngliche Problem in eine Ableitung umwandelt. das Ergebnis wird eine glatte Funktion sein, keine diskrete in Bezug auf den Saldo. der endgültige Saldo, den Sie haben, ist wie 10 in meinem Beispiel.
Ich stelle mir vor, dass der Prozess der Suche nach funktionierenden Sets neuronaler Netze durch ein Beispiel veranschaulicht wird: Es gibt einen imaginären Berg Everest, der einen einzigen Gipfel hat. Wenn man einen geraden Weg zum Gipfel sucht, dann werden sicher viele Leute abstürzen und sterben (sie werden weinen, wenn sie unten ankommen, plattgedrückt, und sich über die Nicht-Stationarität der Windrose beschweren). warum braucht man ein solches Maximum? es gibt eine andere Funktion, die Ableitung der Bergfunktion, die zwei Kriterien enthält - den Neigungswinkel des Berges und die Länge der Straße. Das Problem reduziert sich auf die Optimierung und die Suche nach dem Minimum dieser Ableitung der Funktion vom Berg (Minimierung des Neigungswinkels und der Weglänge). Diese Funktion wird also viele lokale Extrema und nur ein globales haben. Wenn wir dieses Problem lösen, werden wir einen sicheren Weg zum Gipfel des Everest finden, niemand wird sterben und wir werden uns nicht um die Nicht-Stationarität der Winde kümmern.
So ist es auch, ganz allgemein. Nicht jeder Algorithmus ist in der Lage, einen "sicheren" Weg zu finden. Sowohl Sucheigenschaften als auch Konvergenz und Konvergenzgeschwindigkeit sind wichtig.
Im einfachsten Fall handelt es sich um eine spiralförmige Kurve um den Berg herum, die nach oben führt. da der Berg nicht glatt ist, gibt es natürlich mindestens mehrere Varianten des Straßenbaus - es handelt sich um ein Plateau von Lösungen, die bestimmte Kriterien erfüllen, und nicht um ein Plateau in Form einer Fläche irgendwo auf der Bergoberfläche. ein Plateau auf dem Berg ist keine optimale Lösung. ein Plateau von Lösungen ist eine optimale Lösung.
tester hat übrigens ein komplexes Optimierungskriterium, es ist eine glattere Funktion als nur Gleichgewicht, Gewinnfaktor und andere Kriterien separat. ein benutzerdefiniertes Kriterium kann immer noch gemacht werden, um die Optimierungsfunktion glatter zu machen.
https://habr.com/ru/post/318970/
Je mehr sich spezifische Algorithmen für das Lernen von Netzen von allgemeinen Algorithmen unterscheiden, desto interessanter wird es sein, vergleichende Tests zwischen beiden durchzuführen.Noch einmal: Extrema sind wertlos: ein instabiler Punkt, den es im Übrigen nicht gibt, denn wir haben es mit zufälligen Prozessen zu tun, und zwar nicht stationären.
Wir müssen nach einem Plateau suchen, auch nach dem in der Abbildung gezeigten, solange es sich lohnt, auch wenn es über dem lokalen und globalen Minimum liegt. Ein solches Plateau stellt theoretisch die Obergrenze der Rentabilität des TS dar. Und die gefundenen Extrema sind gar nichts - sie liegen definitiv nicht in der Zukunft, aber es besteht Hoffnung auf ein Plateau
Das istgenau das, was ich zu realisieren versuche, nur auf einer technischeren Ebene....
Anstelle eines Plateaus habe ich ein echtes Signal, anstelle eines Extremums habe ich Rauschen...
Wenn wir davon ausgehen, dass die Optimierungsfläche verrauscht ist, dann müssen wir das Rauschen vermeiden und nach den echten Extremen suchen, die viel robuster gegenüber neuen Daten sein sollten.... Denn logischerweise ändert sich ein langsames Signal langsamer in der Zeit als ein schnelles Rauschen.
Das komplexe Kriterium wurde aus irgendeinem Grund in den letzten Versionen entfernt :)
es scheint da zu sein)))
Schließlich bekam eine eigene Verlustfunktion, die Ableitung wird als Produkt aus Sharpe, Fehler und Gewichten dargestellt.
is_max_optimal=False bedeutet, dass der Wert abnimmt, aber da ich auch mit -1 multipliziert habe, ist das Gegenteil der Fall.
Gibt es eine Möglichkeit, das Gleichgewicht oder etwas anderes über den Gradienten in den boost..... einzugeben?
Hier ist der Schaltplan:
Wir markieren den Chart mit perfekten Trades (am Extremum nach unten kaufen wir, am Extremum nach oben verkaufen wir) und erstellen einen gefälschten perfekten Trade.
Ich nenne es ein perfektes Gleichgewicht
Als nächstes berechnen wir die Handelsbilanz aus der Steigerung
dann berechnen wir in der Zielfunktion einfach den Fehler der Handelsbilanz des Boosts mit der idealen Bilanz.
erhalten wir eine Anpassung an die ideale Bilanz, d.h. es handelt sich nicht um eine Suche nach einem abstrakten Gewinnmaximum, sondern um eine Anpassung an den idealen Handel, ausgedrückt in der Gewinnbilanz.
Blau ist das ideale Gleichgewicht, schwarz ist eine Spur und ein Modelltest.
Ich glaube, ich weiß es.)