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

 
Alexey Burnakov:
Dies ist eine Beschreibung der multivariaten Ausgänge. Ich habe es selbst umgesetzt. Erhöht die Wahrscheinlichkeit eines Anfalls.
Nimmt sie zu? Das ist seltsam. Das verringert sie für mich.
Wie üblich steckt der Teufel offenbar im Detail.
 
SanSanych Fomenko:

Das Hauptproblem besteht im Übertraining, wenn die vorhandenen Bäume in zukünftigen Stichproben die Klasse nicht mehr richtig vorhersagen oder vielmehr die Klasse immer schlechter vorhersagen. Dies ist das Thema dieses Threads, d. h. wir versuchen zu beweisen, dass die erhaltenen Bäume in der Zukunft auftreten werden und der Klassifizierungsfehler bei zukünftigen Stichproben in etwa derselbe sein wird wie bei der Trainingsstichprobe.

Obwohl es impliziert ist, würde ich es lieber hinzufügen, um es deutlicher zu machen.

Normalerweise hat das Überlernen von Modellen den Effekt, dass sich das Modell sehr genau an Trainingsbeispiele erinnert. Das Lernen beginnt damit, dass das Modell einige allgemeine Regeln, Zielwertabhängigkeiten von Prädiktoren, ableitet, aber je weiter das Lernen fortschreitet, desto strenger werden diese Regeln im Modell, was schließlich zu vollständig gespeicherten Beispielen führt und das Modell völlig unfähig macht, neue Daten vorherzusagen. Dies wird durch eine Kreuzvalidierung erreicht, bei der das Training abgebrochen wird, wenn das Modell zwar einige verallgemeinerte Regeln gelernt hat, aber noch nicht damit begonnen hat, spezifische Beispiele zu lernen, was zu einer besseren Vorhersageleistung bei neuen Daten führen wird.

Dies funktioniert hervorragend bei Daten, bei denen die Abhängigkeiten im Laufe der Zeit konstant bleiben - zum Beispiel bei der Bilderkennung oder der Tonerkennung. Der Unterschied zu Forex besteht jedoch darin, dass viele der gefundenen Abhängigkeiten im Laufe der Zeit nicht bestehen bleiben. Das Problem besteht nicht nur darin, ohne das Auswendiglernen von Trainingsbeispielen zu lernen, sondern auch darin, irgendwie sicherzustellen, dass die gefundenen Muster in der Zukunft erhalten bleiben.

Die Aufgabe ist umfassender: Es soll ein Verfahren zur Schätzung von Prädiktoren in Bezug auf eine Zielvariable entwickelt werden, das garantiert, dass die Beziehung zwischen Prädiktoren und Zielvariable konstant ist und auch bei neuen Daten besteht.

Welche Zielwerte zu verwenden sind(Balkenfarbe oder Umkehrung oder Trend) oder welche Prädiktoren (Preise, Indikatoren, Indizes) sind die Feinheiten. Wenn wir die Menge der Prädiktoren und ihre Vorhersagekraft für die Zielwerte sowie die Veränderung dieser Vorhersagekraft im Laufe der Zeit bewerten können, dann können wir sogar solche Kombinationen von Prädiktoren und Zielwerten finden, die die beste Schätzung haben.
Dann können wir ein beliebiges Modell nehmen, es trainieren (vielleicht sogar mit Umschulungskontrolle, was zum Beispiel für die Neuronik wichtig ist), und schon haben wir einen Gral.

 
Dr. Trader:


Typischerweise hat das Überlernen von Modellen den Effekt, dass sich das Modell sehr genau an die Trainingsbeispiele erinnert. Das Lernen beginnt damit, dass das Modell einige allgemeine Regeln ableitet, die Abhängigkeit der Zielwerte von den Prädiktoren, aber je weiter das Lernen fortschreitet, desto strenger werden diese Regeln im Modell, was schließlich zu vollständig gespeicherten Beispielen führt, wobei das Modell völlig unfähig ist, neue Daten vorherzusagen.

Es sieht so aus, als ob nur wir beide hier sind, denn Alexeys Position ist mir nicht ganz klar.

Der Rest ist die Erfahrung von Menschen, die schon sehr lange auf dem Markt sind. Ich glaube, dass sie erfolgreiche Geschäftsleute sind. Ich kenne aus der Literatur einige Leute, die jahrelang erfolgreich mit Heuristiken gearbeitet haben, aber das einzige Ergebnis war eine trostlose Monotonie - ein Verlust des Depots. Jede Heuristik gibt keine Antwort auf die Frage des Umlernens, deshalb wird das Ende kommen: in einem Tag, einem Monat, einem Jahr... aber immer unerwartet und äußerst unpassend.

PS.

Das Überlernen ist ein grundlegendes Problem der Wissenschaft, da der Gegenstand der Wissenschaft die Gewinnung einiger grundlegender Gesetze ist, aus denen sich viele Einzelheiten erklären lassen.

Zum Beispiel das Newtonsche Gesetz.

Nehmen Sie ein Stück Papier - es fällt bestimmt auf den Boden. Zerknüllen Sie das Stück Papier - es wird bestimmt fallen, aber schneller. Newton sagt, dass alles mit der gleichen Beschleunigung fällt. Wie war das? So schafft es der Mensch, das Partikulare, das sehr viele sind, aus der groben Realität zu werfen und ein universelles Gesetz zu erhalten, und wenn es nicht funktioniert, dann können diese Abweichungen immer erklärt werden.

So funktioniert die Wissenschaft.

Wir versuchen, den Quotienten zu "vergröbern", diesen Quotienten in Form eines Modells darzustellen, um eine Vorstellung von allen zukünftigen Quotienten zu haben.

Der Kampf gegen Übertraining ist ein grundlegendes Problem des Handels.

 
Dr. Trader:

Dies funktioniert gut bei Daten, bei denen die Abhängigkeiten im Laufe der Zeit konstant bleiben - zum Beispiel bei der Bilderkennung oder der Tonerkennung. Der Unterschied zu Forex besteht jedoch darin, dass viele der gefundenen Abhängigkeiten im Laufe der Zeit nicht bestehen bleiben. Das Problem besteht nicht nur darin, das Lernen ohne das Auswendiglernen von Trainingsbeispielen zu erreichen, sondern auch darin, irgendwie sicherzustellen, dass die gefundenen Muster in der Zukunft erhalten bleiben.

Ein bisschen Off-Topic, aber nur eine kleine Information...

Insbesondere bei der Spracherkennung ist es ein Problem, wenn eine Person ein Wort sagt - ein spektrales Muster des Wortes wird dem Algorithmus "HMM" oder "RNN" zugeführt ...aber das Problem ist, dass, wenn die andere Person sagt das gleiche Wort, wird er zumindest sagen, es in einer anderen Geschwindigkeit, diese Muster ist die gleiche, aber über die Zeit gestreckt, und jetzt die Analogie - die Kopf-Schulter-Muster Breite von 33 Kerzen und die gleichen Kopf-Schulter-Muster Breite von 88 Kerzen, die Breite ist anders, aber das Muster ist das gleiche .....

Zur Lösung des Problems mit der Spracherkennung Algorithmus entwickelt wurde - eine dynamische Zeitverzerrung "DTW" Die Aufgabe des Algorithmus ist es, zwei ähnliche Vektoren zu finden, auch wenn sie unterschiedlich lang sind. Wenn also verschiedene Personen dasselbe Wort sagen, durchläuft dieses Spektralmuster des Wortes zunächst den "DTW"- und dann den "MO"-Algorithmus, und das Wort wird erfolgreich erkannt. Ich habe es noch nicht verwendet, so kann ich nicht sagen, aber ich denke, ich werde es versuchen müssen, obwohl, wenn Sie sagen, dass es keine Muster auf dem Markt dann natürlich dieser Algorithmus wird nicht funktionieren, ich habe nicht mit meiner Weltanschauung noch entschieden ...

R-Pakete: "DTW" , "dtwclust"

 
Alexey Burnakov:
Dies ist die Beschreibung des multivariaten Ausstiegs aus einem Handel. Ich habe es selbst implementiert. Erhöht die Chance auf eine gute Passform.
Andrej Dik:

Die Methode ist wie folgt (alles Folgende gilt gleichermaßen für ML und klassische TS).

Es geht darum, die Ungewissheit zu beseitigen, d.h. einerseits die Anpassung im Training und in der Optimierung loszuwerden und andererseits die "weichen" Anforderungen an das System eindeutig zu formulieren. TP und SL beim Einstieg sind ebenfalls eine Unsicherheit, daher verwenden wir sie nur für den Notausstieg (sie hängen von der Volatilität des Instruments ab und wir wählen sie empirisch aus, so dass 100%ige Trades so selten wie möglich Stopps auslösen, idealerweise - nie. Sagen Sie den gesamten Handel voraus, vom Einstieg bis zum Ausstieg. Wir betrachten das Ergebnis mit einem Gewinn ohne den Spread und die Kommissionen als erfolgreichen Handel (die Funktionsweise des Systems wird nach der Überprüfung, ob der Spread und die Kommissionen gedeckt sind, bestimmt). Sobald das Einstiegssignal empfangen wird, steigt das System ein und wartet dann eine bestimmte Anzahl von Takten ab (diese wird empirisch ermittelt und hängt von den Prädiktoren und dem Instrument ab). - Schließen Sie das Geschäft ab, wenn Sie verlieren, warten wir auf einen weiteren Takt. Manchmal verwende ich zwei Parameter: Minimum und Maximum (wenn ein Handel nach der maximalen Anzahl von Balken nicht geschlossen wird, wird er trotzdem geschlossen), und manchmal verwende ich nur einen - die Mindestanzahl von Balken.

Viele Leute werden überrascht sein, aber viele, selbst scheinbar hoffnungslose Systeme beginnen zu funktionieren, einschließlich TS auf Stäben, ganz zu schweigen von allen möglichen Systemen mit ML. Der Trick besteht darin, von sich selbst und der Maschine keine eisernen Regeln der TK zu verlangen, nicht zu versuchen, die Marktbewegungen vollständig zu beschreiben und diese sehr "weichen" Regeln für ML zu geben. Darüber hinaus werden wir das schlechte Erbe des Marktes in Form von starken Schwänzen los (oder genauer gesagt, Schwänze spielen keine Rolle mehr), die fehlende Stationarität des BP spielt keine Rolle mehr - denn wir wissen, dass Marktformen vertikal und horizontal skaliert werden können, ohne ihre internen Eigenschaften zu verändern (und das macht den Emleonern das Leben extrem schwer).

Ich habe darüber im 4. Forum geschrieben, ich glaube im Swinosaurier-Thread, über zwei Arten von allen TS (mit bestimmten Grenzen und unbestimmten), aber die Idee wurde dort nicht zu Ende geführt. Jetzt ist alles deutlicher sichtbar, oder so...

Im Allgemeinen wende ich bei der Entwicklung von Handelssystemen meine Regel an: Wenn Änderungen in der Logik dazu führen, dass der Anteil erfolgreicher Varianten von Parametern unter allen möglichen Varianten steigt, dann ist das eine gute Änderung (die Wahrscheinlichkeit, eine schlechte Variante für den Handel zu wählen, sinkt, egal wie wir die Parameter ändern - wir sind dann auf der positiven Seite). Auf diese Weise konnte der Anteil in meinem TS erhöht werden.

Mir scheint, dass alles, was Sie beschrieben haben, zur Optimierung des ARIMA-Modells passt. Bei der Optimierung wählen Sie die Anzahl der Stäbe, auf denen das Modell aufgebaut wird
 
Alexey Burnakov:SanSanych Fomenko:

Was ist das für eine wilde Angewohnheit, mit zwei Worten zu antworten und 100 Zeilen des Gesprächspartners zu zitieren? ???? Das Forum ist 120 Seiten lang. Wenn Sie diese unnötigen Zitate entfernen, bleiben vielleicht 60 Seiten nützlicher Text übrig... Respektieren Sie die Menschen, die sie lesen oder in Zukunft lesen werden

 
Andrej Dik:

Die Methode ist wie folgt (alles Folgende gilt gleichermaßen für ML und klassische TS) ....

Können Sie Punkt für Punkt beschreiben, was und wie man als Algorithmus vorgeht, denn ich verstehe nicht wirklich, wie Sie vorschlagen, Folgendes zu tun

 
SanSanych Fomenko:
Es scheint mir, dass alles, was Sie beschrieben haben, in die Optimierung des ARIMA-Modells passt. Während der Optimierung wird die Anzahl der Stäbe, auf denen das Modell aufgebaut wird, ausgewählt
Nicht ein fester Wert von Balken, sondern mögliche Werte "von jetzt bis jetzt".
 
mytarmailS:

Können Sie Punkt für Punkt beschreiben, was zu tun ist und wie es zu tun ist, wie ein Algorithmus, weil ich nicht wirklich verstehe, wie Sie vorschlagen, es zu tun.

Sie haben Recht mit der zeitlichen Streckung der Preisangaben. Das meinte ich mit der vertikalen und horizontalen Streckung/Skalierung. Aber nicht nur die Figuren als Ganzes sind unterschiedlich gestreckt, sondern auch die einzelnen Leuchter darin. Dies ist ein zusätzliches Problem, und ich bezweifle, dassDTW-ähnliche Vor- und Nachbearbeitungsmethoden angemessen angewendet werden können.Es handelt sich um auf unbekannte Weise verzerrte Marktformen.

Um genauer zu sein: Wir haben ein Kaufsignal auf dem aktuellen Balken, zählen die geringste Anzahl von Balken und prüfen, ob das Geschäft profitabel sein wird, wenn ja - schließen Sie es, wenn nicht - zählen Sie einen weiteren Balken und prüfen Sie es erneut. Auf diese Weise erreichen wir die maximale Anzahl von Balken und schließen sie schließlich. Dies ist ein Lernmechanismus.

Im Allgemeinen läuft das maschinelle Lernen von Marktdaten wie folgt ab: Wir zeigen der Maschine eine Kombination von grafischen Formen, Kreisen, Quadraten, Dreiecken, Trapezen, Formen verschiedener Größen und Formen. Die Maschine muss mit einer bestimmten Form antworten, einem Dreieck, einem Quadrat oder einem Kreis (übertrieben). Wir setzen die Antwort auf das Muster und f*ck! - Die Form in der Antwort stimmt verdammt nochmal nicht mit der Vorlage überein! Und im Lernprozess passten sie aus irgendeinem Grund zusammen wie ein verdammtes Arschloch.... Das ist die Art von Problem, das wir hier lösen. Und ich sage - kein Problem, wir können das Muster ein bisschen dehnen, so dass die Antworten auch außerhalb der Trainingsdaten richtig sind.

Es handelt sich um einen grundlegenden "Fisch" eines Systems, das bereits von selbst funktioniert. Aber niemand verbietet das Hinzufügen von TS und die Verwendung von Instrumenten wie SL Breakeven beim Handel. Das System bleibt dasselbe, nur dass wir, wenn sich der Markt in unsere Richtung bewegt, zusätzliche Gewinne über den "Plan" hinaus erzielen und dann entweder SL schleppen oder mit der teilweisen Schließung von Positionen beginnen, je nach der zurückgelegten Strecke im Vergleich zur statistischen Preisbewegung in einem bestimmten Zeitraum usw.

 
Andrej Dik:
Nimmt sie zu? Das ist seltsam. Aber sie nimmt ab.
Wie üblich steckt der Teufel offenbar im Detail.

Bewerten Sie die Leistung der Strategie auf der Grundlage der Vergangenheit oder gibt es einen langen Vorlauf? Der Teufel mag in der Bewertung der Geschichte liegen.

Sehen Sie, ich hatte eine Strategie auf 100 Zeilen in MT4 von mir geschrieben. Ich schrieb darüber in meinem Profil im Dezember 2014:https://www.mql5.com/ru/users/alexeymosc/page3?#userActions

So sieht die neueste Version aus, die im Januar 2015 zusammengestellt wurde:

Dann habe ich sie in Verbindung mit anderen Strategien in der Realität ausprobiert. Ich habe auch überall über sie geschrieben.

Dies und jenes, die Hand hat es abgelassen.

Ich habe heute einen Vorwärtstest vom Ende der Optimierung bis Ende Juli mit denselben Einstellungen gesehen. Sehen Sie:

Es ist alles da. Der Spread beträgt 30, das Lot 0,1.

Ich werde es auch bei allen Zecken ausprobieren, um sicherzugehen, dass die Aufnahmen besser gelingen:

Einstieg auf Impuls, Ausstieg über ODER unter einer Reihe von Bedingungen. Im Prinzip scheint es zu funktionieren. Aber wenn ich auf dem Höchststand einsteige und dann ein Jahr auf die Entnahme aus einem Drawdown warte...

Alexey Burnakov
Alexey Burnakov
  • www.mql5.com
Профиль трейдера