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

 
Ich beginne ein Thema über die Verwendung von Python in der Ausbildung in dem Forum, in dem ich lebe. Es wird alles beschrieben, was ein Händler zur Entwicklung eines MTS benötigt. Es wird keine vorgefertigten Strategien geben. Die Aufgabe besteht darin, einen "Algorithmus" für die Erstellung rentabler MTS zu finden. Dabei spielt es keine Rolle, welche Methoden angewandt werden. Die Hauptsache ist, dass sie nützlich sind. Der Link wird in meinem Newsfeed erscheinen.
 
Grigoriy Chaunin:
Mit neuronalen Netzen in MT ist alles ganz einfach. Es gibt eine Bibliothek von Microsoft CNTK. Es ist für Python, C# und C++ implementiert. Die gesamte Netzwerkanalyse und das Training werden in Python durchgeführt, während C++ verwendet wird, um eine DLL zu schreiben, die das trainierte Netzwerk lädt und Berechnungen damit durchführt. Meiner Meinung nach ist dies die beste Option. Die zweite Möglichkeit ist die Verbindung von Python mit MT. Ich habe dafür eine einfache Bibliothek geschrieben. Bibliothek. Wir verbinden es und können alles nutzen, was in Python verfügbar ist. Und es ist eine Menge Material verfügbar. Ich überlege, ob ich in meinem Blog über maschinelles Lernen schreiben soll.
Könnten Sie bitte eine Sache erklären: Nach der Initialisierung eines Skripts bleibt es im Speicher hängen? Das heißt, die vom Python-Skript geladenen Module sollten auch im Speicher hängen, richtig?
 
Ja, der MQL-Code soll die Python-Skriptfunktionen bei jedem Tick aufrufen.
 
Maxim Dmitrievsky:

es wäre interessant, über Strategien und persönliche Gedanken/Erfahrungen zu lesen... für mich persönlich

denn das meiste, was hier geschrieben wird, ist einfach nur Mist, bei dem es darum geht, einen Haufen Bibliotheken zu durchforsten und herauszufinden, worauf man am besten schreiben sollte... das ist eine Epidemie, und alles wird verschwendet.

Auch wenn der Grundgedanke schon vor langer Zeit von fxsaber geäußert wurde - mit dem gleichen Ansatz könnte das Thema genauso gut abgeschlossen werden, weil es von Anfang an falsch ist

Ich stimme zu.

Das Thema hat sich in einen völligen Unsinn verwandelt, ohne konkrete Beispiele oder Theorie.

Lassen Sie uns die Situation verbessern.

Für den Anfang empfehle ich jedem zu lesen, wie man einen Stichprobenumfang für Prognosen definiert (siehe beigefügte Datei).

Dateien:
 
Alexander_K2:

Ich stimme zu.

Das Thema hat sich in völligen Unsinn verwandelt, ohne konkrete Beispiele oder Theorie.

Bringen wir die Situation in Ordnung.

Zu Beginn empfehle ich allen, zu lesen, wie man den Stichprobenumfang für Prognosen bestimmt (siehe beigefügte Datei).

Danke Alexander, vielleicht kannst du etwas Nützliches daraus ziehen, ich werde es lesen.

 
Alexander_K2:

Ich stimme zu.

Das Thema hat sich in völligen Unsinn verwandelt, ohne konkrete Beispiele oder Theorie.

Bringen wir die Situation in Ordnung.

Für den Anfang empfehle ich jedem zu lesen, wie man den Stichprobenumfang für Prognosen bestimmt (siehe beigefügte Datei).

Ein wunderbarer Artikel in seiner Essenz. Die in dem Artikel dargelegten Ergebnisse sind sehr dürftig. Das Fehlen einer solchen Arbeit ist die Grundlage für das Gedeihen der Branche "Müll rein, Müll raus".


Aber der Artikel steht in der konditionalen Tradition a la soveticus - schöne Theorie ohne praktischen Nutzen: Es gibt keinen Code.

 

Zurzeit gibt es ein stabiles Modell. Er muss noch daran arbeiten, ist aber mit anderen Aufgaben beschäftigt.

Input = Preis + 13, 26 yema;

Vorverarbeitung, Ausgabe = Sigmoid (max, min, close), Delta (open-close), Ableitung (max, min, close), Logarithmus der Ableitung (max, min, close), Detrend (close-eme13, close-eme26), yema(13, 26), Ableitung yema(13, 26); Konvertierung des Datensatzes in den Datensatz Zeitreihe (1 Kerze + 5 letzte). Insgesamt 16 x 6 = 96 Parameter.

Architektur:
BatchNormalisierung(96);
GRU(96, L2, Dropout=0.5, 'elu');
GRU(64, L2, Dropout=0,5, 'elu');
BatchNormalization(64, Dropout=0.3);
Dense(32, Dropout=0.3, 'elu');
Dense(16, 'elu');
Dense(8, 'elu');
Dense(3, 'softmax');
Optimierer=Nadam;
Verlust=Kategorische Kreuzentropie;

BouncedMA signalisiert den Ausstieg einer Kerze voraus (oben im Zweig);

Schätzungen: Verlust ~0,7-0,8; Genauigkeit ~0,55;
Solche Schätzungen des Modells sagen jedoch nichts über die Qualität seiner Signale aus. Sie sind niedriger, da die Signale Training = 1,0, 0,95, 0,0, -0,95, -1,0 sind, und die Kauf/Verkaufsprognose schwankt ~abs(0,45, 0,7).
Außerdem werden bei einem Datensatz von 5000 Zeilen nur 0,8 Teile trainiert, was bedeutet, dass das Modell nicht einmal die neuesten Kursdaten (~1000 Zeilen) sieht. Die Vorhersage wird auf der Grundlage der letzten 100 Kerzenständer getroffen.

Pronose

Modell

Verlustacc

Wie Sie sehen können, kann das Training bei ~45 Epochen gestoppt werden.

vorhersagen

Code, Indikator.

 
Eidechse_:

)))

Lernen mit Verstärkung = Lernen ohne Lehrer. Ein sehr gieriger Algorithmus.

Eine bekiffte Maximka betritt ein Kasino. Vor ihm steht ein Stapel "einarmiger Banditen". Er fängt an, mit jedem zu spielen und zeichnet die Ergebnisse auf.

Es stellt sich heraus, dass eine der Maschinen besser ist, und der fröhliche Maxim beginnt, nur mit ihr zu spielen. Doch sein Glück währte nicht lange...

http://www.machinelearning.ru/wiki/index.php?title=Reinforcement_learning


ja, Banditen habe ich schon bestanden :) kann epsilon gierig machen und regelmäßig von einem zum anderen laufen

 
 

Das ist ein sehr guter Beitrag. Danke, daran habe ich nie gedacht.

Es geht so -

I ) Wir nehmen ein Neuron, lassen es live handeln und nehmen gleichzeitig seine Konfiguration auf. Der Händler spielt mit seinen Gewinnen verrückt, der Händler fängt an, den Preis gegen ihn zu bewegen, aber er ist irgendwie darauf vorbereitet und handelt immer noch gewinnbringend, der Händler kopiert die Geschäfte auf die Interbank und das treibt die Börsenhandelsroboter in den Wahnsinn, sie fangen an, langsam zu werden und der globale Markt geht in den Ruin. Der Agent interagiert mit seiner Umwelt. Es ist ein Handel mit Verstärkung. Ich glaube, an einem Montag testete Google seine neuen Handelsroboter mit Verstärkung, und das passt perfekt.

II ) Wir nehmen ein Neuron und lassen es mit der Geschichte handeln. Finden Sie die idealen Gewichte und die ideale Konfiguration des Neurons, die es ihm ermöglicht, perfekt mit der Geschichte zu handeln. Verstärkung funktioniert nicht, das ist Lernen ohne Lehrer. Und höchstwahrscheinlich wird es überfüttert und versagt.


Kurz gesagt, ist der Plan, hundert Cent Live-Konten zu haben, mit einem neuronc in jedem ein Handel für ein paar Tage. Die Genetik sammelt die Ergebnisse der Neuronen und nimmt ihre neue Konfiguration auf, indem sie alle paar Tage neue Roboter erzeugt und dann die Ergebnisse abwartet, um wieder neue zu erzeugen.