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

 

Mihail Marchukajtes:
J Über Deep Learning. Jetzt reden viele Leute darüber, und ich möchte mehr wissen. Und noch eine Frage. Wer hat das rekurrente Netzwerk ohne Lehrer auf MT4 implementiert?

=====================================

Lesen Sie hier und hier.

Was die zweite Frage betrifft, so weiß ich nicht einmal, was ich sagen soll.

Viel Glück!

 
Vladimir Perervenko:
Y Jetzt verstehe ich. Mit anderen Worten: Zunächst trainieren wir, sagen wir, ein Netz ohne Lehrer. Dann schreiben wir die erhaltenen Gewichte in Klassifikatorgewichte um und trainieren den Klassifikator mit einem Lehrer. Angenommen, wir haben die Gewichte der neuronengesteuerten Feinabstimmung erhalten, werden die Gewichte weiterhin optimiert????? Mit anderen Worten: Durch Vorlernen ohne Lehrer setzen wir Anfangsgewichte für den Klassifikator, die ihn zum globalen Minimum bringen. Funktioniert das so?
 

Ich verwende das Ziel im Training nur als eine bestimmte Basis, die das Modell anstrebt, aber nie erreicht. Und um das Modell zu schätzen, verwende ich nicht die Vorhersagegenauigkeit, sondern stelle die Handelsbilanz nach solchen Vorhersagen dar und schätze dieses Diagramm z. B. mit Hilfe des Schärfeverhältnisses oder des Erholungsfaktors oder etwas anderem. Es ist gut, mit dem Ziel "Farbe des nächsten Balkens" zu arbeiten. Wir können dieses Ziel sogar noch schwieriger gestalten und genetisch so modifizieren, dass wir bei kleinen Bewegungen keine Deals eingehen und sie einfach aussitzen. Im Allgemeinen sollte die Entscheidung (Kauf/Verkauf) bei jedem Balken genetisch so gewählt werden, dass der größte Gewinn erzielt wird.

Ich nehme bestimmte Indikatoren und andere Instanzen, trainiere das Modell, mache Vorhersagen mit denselben Trainingsdaten, verwende die Vorhersagen, um ein Gleichgewichtsdiagramm zu erstellen, und bewerte es. Dann nehme ich mir viel Zeit, um die Modell- und Indikatorparameter und ihre Kombinationen auszuwählen, um eine bessere Schätzung des Gleichgewichtsdiagramms zu erhalten. Die Vorhersagegenauigkeit liegt bei höchstens 60 %, aber das Modell liegt im Trend und führt nicht häufig bei jedem Balken einen Handel durch.
Dies ist nur die Spitze des Eisbergs, unter der Wasseroberfläche gibt es viele weitere geheime Teile, wie z. B. die Schätzung des Nutzens von Absichten und die Überprüfung, dass das Modell schlechten Absichten weniger Gewicht gibt; die Auswahl eines geeigneten Modells aus den Hunderten von Modellen, die in R verfügbar sind; die Kreuzvalidierung; die Auswahl der Länge der Historie, die für das Modelltraining verwendet wird, und vieles mehr.

Zuerst habe ich es nur auf D1 geschafft, aber dann habe ich es geschafft, auf H1 zu wechseln. Für mich sind kleinere Zeitrahmen bereits unberechenbarer Lärm.

 
Das tue ich:


Ich empfehle https://www.accern.com/, um es zu versuchen, ich benutze es, ich bin sehr zufrieden damit.

Es sieht cool aus, ist aber ein bisschen teuer.

Ich würde gerne etwas Kostenloses ausprobieren, um zu sehen, wie es in Echtzeit ohne Verzögerung funktioniert, aber es gibt eine Demo mit einer riesigen Verzögerung.

Können Sie kurz beschreiben, wie ein solches Signal beim Handel und bei MO verwendet wird? Wenn es kein Geheimnis ist, wenn wichtige Nachrichten veröffentlicht werden, haben Sie dann Zeit zu handeln oder ist es nur eine Sekunde, eine halbe Sekunde, bevor jemand auf den Markt kommt und den Köder schluckt?

 
Dr. Trader:

Und um das Modell zu bewerten, verwende ich nicht die Genauigkeit der Vorhersage, sondern zeichne das Gleichgewicht des Handels auf solche Vorhersagen auf, und bewerte dieses Diagramm zum Beispiel durch die Sharpe Ratio oder den Erholungsfaktor oder etwas anderes.

Dies ist genau das, was ich immer getan habe, die Prognosen sind immer schlecht, aber der Handel selbst ist nicht immer.... Im Allgemeinen ist das ideale Ziel nicht ein Vektor mit den Werten "00110", sondern die Suche nach einem globalen Minimum, z.B. fordern wir das Gitter einfach auf, so zu handeln, dass der Erholungsfaktor nicht unter 4 fällt, und lassen es seine Gewichte anpassen, bis es eine Lösung gefunden hat, es ist uns egal, wie es das macht... Diese Methode beseitigt alle Nachteile der üblichen vektoriellen Zielvorgabe und hat eine Menge Vorteile. Außerdem ist diese Methode in Bezug auf den Handel absolut objektiv, während eine vektorielle Zielvorgabe absolut subjektiv ist (jeder sieht sie anders).

Es ist unmöglich, ein solches Ziel in R zu verwirklichen, es ist zu "populär" in diesem Sinne, alles dort ist "rails", alles folgt einem Muster, das ist gut und schlecht zugleich. Ich weiß nicht, wie man es macht, wenn es jemand weiß, wäre ich sehr daran interessiert, den Code zu studieren, und wenn es in R gemacht würde, wäre es ein Märchen...

Ich nehme bestimmte Indikatoren und andere Instanzen, trainiere das Modell, mache Vorhersagen mit denselben Trainingsdaten, erstelle ein Gleichgewichtschart mit den Vorhersagen und schätze es. Dann nehme ich mir viel Zeit, um die Modell- und Indikatorparameter und ihre Kombinationen auszuwählen, um eine bessere Schätzung des Gleichgewichtsdiagramms zu erhalten. Die Vorhersagegenauigkeit beträgt daher nicht mehr als 60 %, aber das Modell passt sich den Trends an und führt nicht häufig bei jedem Balken Trades durch.

Ich kann Ihnen sagen, wie Sie den Handel im Netz erheblich verbessern können (wenn Sie daran interessiert sind), indem Sie kritisch darüber nachdenken, denn ich erziele praktisch immer bessere Ergebnisse als ohne diese Methode.

 

mytarmailS:

Es ist nicht realistisch, ein solches Ziel in R zu implementieren, es ist zu "poppig" in diesem Sinne, alles dort ist "Rails", alles in einem Muster, es ist gut und schlecht zur gleichen Zeit. So müssen Sie ein Netzwerk selbst zu schreiben, ich bin nicht in der Lage, es selbst zu tun, wenn jemand in der Lage ist, wäre ich mit großem Interesse, um den Code zu studieren, und wenn es in R getan wurde, dann sogar ein Märchen ...


Sie haben einen falschen Eindruck. Einfach ausgedrückt: "Ich beherrsche die Sprache nicht gut genug und weiß nicht, wie ich das machen soll, was ich machen will". Man sollte nicht etwas bewerten, was man nicht genau kennt. Mit der Sprache R lässt sich jede beliebige Idee verwirklichen, wenn man sie nur gut genug kennt. Wenn etwas nicht in R vorhanden ist, verwenden Sie die Funktionsweise von Python.

Natürlich ist das Erlernen von Modellen mit einem Lehrer streng genommen kein "Lernen". Deep Learning kommt dem sehr nahe, aber am vielversprechendsten ist das reine lehrerlose Lernen und seine Umsetzung - das Verstärkungslernen. In R gibt es bisher nur ein Paket, mit dem diese Methode implementiert werden kann - RNeat. Diese Stufe kann jedoch nur erreicht werden, wenn man alle vorangegangenen Stufen gut verstanden hat. Dieser Bereich ist in Python gut entwickelt. Und es lässt sich perfekt in R integrieren.

Viel Glück!

 
Vladimir Perervenko:


Und noch eine Klarstellung zum Thema Deep Learning. Wenn wir im ersten Schritt Neuronengewichte erhalten. Wir schreiben diese Gewichte in eine versteckte Schicht des Klassifikators. Dann beginnen wir mit dem Training des Klassifikators anhand der Ausgangsvariablen. Wenn wir einen festen Wert für die Gewichte festlegen, wird das optimiert. Wie sieht die Feinabstimmung aus? ???? Können Sie erklären????
 
Vladimir Perervenko:

Sie haben die Idee nicht richtig formuliert. Schreiben Sie einfacher: "Ich beherrsche die Sprache nicht gut genug und weiß nicht, wie ich das machen soll, was ich machen will". Man sollte nicht etwas bewerten, was man nicht genau kennt. Mit der Sprache R können Sie jede beliebige Idee umsetzen, sofern Sie über ausreichende Kenntnisse verfügen. Wenn etwas nicht in R vorhanden ist, verwenden Sie die Funktionsweise von Python.

Natürlich ist das Erlernen von Modellen mit einem Lehrer streng genommen kein "Lernen". Deep Learning kommt dem sehr nahe, aber am vielversprechendsten ist das reine lehrerlose Lernen und seine Umsetzung - das Verstärkungslernen. In R gibt es bisher nur ein Paket, mit dem diese Methode implementiert werden kann - RNeat. Diese Stufe kann jedoch nur erreicht werden, wenn man alle vorangegangenen Stufen gut verstanden hat. Dieser Bereich ist in Python gut entwickelt. Und es lässt sich perfekt in R integrieren.

Viel Glück!

Trotzdem haben Sie keine Antwort auf die Frage, wie man dieses Ziel mit R umsetzen kann, wenn ich das richtig verstanden habe
 
Mihail Marchukajtes:
Y Ich verstehe. Mit anderen Worten: Wir trainieren zunächst ein Netz ohne Lehrer. Dann schreiben wir die erhaltenen Gewichte in die Gewichte des Klassifikators, und der Klassifikator wird mit einem Lehrer weiter trainiert. Angenommen, wir haben die Gewichte der neuronengesteuerten Feinabstimmung erhalten, werden die Gewichte weiterhin optimiert????? Mit anderen Worten: Durch Vorlernen ohne Lehrer setzen wir Anfangsgewichte für den Klassifikator, die ihn zum globalen Minimum bringen. Ist das richtig?

Sie begreifen schnell und nicht ganz richtig. Es gibt zwei Pakete in R, die tiefe neuronale Netze implementieren - deepnet und darch v.0.12. Das erste ist ziemlich vereinfacht, ohne viele Setups und Funktionen, aber es erlaubt Ihnen, sie auszuprobieren und zu bewerten. Die zweite Variante bietet die umfangreichsten Möglichkeiten, ein neuronales Netz zu entwerfen und zu konfigurieren, und ist für ungeübte Benutzer nur schwer zu bedienen. Aber es hat die richtigen Deep-Learning-Fähigkeiten.

1. Vortraining eines auto-assoziativen Netzes (SAE/SRBM) mit der größtmöglichen Menge an unbeschrifteten Eingangsdaten.

2. Übertragung der Gewichte in die versteckten Schichten des neuronalen Netzes und Training nur der obersten Schicht anhand der nicht platzierten Daten. Mit dem Paket können Sie angeben, welche Schichten Sie trainieren möchten.

3. Feinabstimmung des gesamten Netzes mit einer kleinen Anzahl von Epochen (2-3) und Low-Level-Training auf einer kleinen Menge von markierten Daten. Hier müssen die Beispiele rund um die Spitzenwerte angewandt werden.

Ein sehr wichtiges Merkmal der Implementierung dieses Pakets ist die Möglichkeit des Vortrainings des neuronalen Netzes.

Natürlich ist es auch möglich, ein Netzwerk ohne Vortraining zu trainieren.

Das Netz ist sehr schnell, erfordert aber Erfahrung und Wissen.

Viel Glück!

 

Mihail Marchukajtes:
Und wie auch immer, bitte klären Sie diesen Aspekt des Deep Learning. Wenn wir die Gewichte der Neuronen auf der ersten Stufe erhalten. Wir schreiben diese Gewichte in eine versteckte Schicht des Klassifikators. Dann beginnen wir mit dem Training des Klassifikators anhand der Ausgangsvariablen. Wenn wir einen festen Wert für die Gewichte festlegen, wird das optimiert. Wie sieht die Feinabstimmung aus? ???? Können Sie erklären????

======================================

Immer öfter frage ich mich: "Warum schreibe ich Artikel, in denen ich versuche, die Grundbegriffe des Themas so gut wie möglich herauszuarbeiten?"

Haben Sie meine Artikel über Deep Learning gelesen? Ich habe dort alles, wie ich finde, recht ausführlich erklärt. Es ist keine Zeit, das bereits Geschriebene zu wiederholen. Wenn Sie eine Frage haben, die darin nicht behandelt wird, bin ich gerne bereit, sie zu beantworten.

Viel Glück!