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

 
Yuriy Asaulenko:


Sie sagen, dass es im Internet und in C++ eine Menge Neuronen gibt. Aber ich habe nicht nach ihnen gesucht.


http://www.opennn.net/

https://www.neuraldesigner.com/

OpenNN | Open Neural Networks Library
  • www.opennn.net
The main advantage of OpenNN is its high performance. It is developed in C++ for better memory management and higher processing speed, and implements CPU parallelization by means of OpenMP and GPU acceleration with CUDA.
 
Und dennoch, so wie ich es verstehe, gibt es keine zufriedenstellenden Handelsergebnisse, nicht einmal in der Demo!
 
elibrarius:

Ich fange an, mich mit neuronalen Netzen zu beschäftigen.

Ich bin auf der Suche nach Optionen, die direkt in MT5 implementiert werden können.

Ich interessiere mich für die Variante mit ALGLIB (https://www.mql5.com/ru/articles/2279), aber aus der Netzbeschreibung geht hervor, dass es sich um ein sequentielles Netz ohne Rückkopplungen handelt. Der Nachteil ist, dass es nur von einem einzigen Prozessor-Thread trainiert werden kann (der den Expert Advisor mit einem neuronalen Netz verarbeitet).

Ich denke, es wäre nicht allzu schwierig, dem neuronalen Netz aus dem Artikel https://www.mql5.com/ru/articles/497 2 versteckte sequentielle Schichten hinzuzufügen und es dann entweder mit brachialer Gewalt oder genetisch im Prüfgerät zu trainieren. Aber in diesem Fall können Sie viel mehr Rechenthreads (Kerne Ihres Prozessors, im Netz und in der Cloud) verwenden. Habe ich es richtig verstanden?

Wie kann man beim Training eines solchen Netzes manuelle Anweisungen für richtige Antworten (Kauf- und Verkaufsorte) hinzufügen?

Vielleicht gibt es bereits irgendwo eine Bibliothek für mehrschichtige sequentielle Netze?

Außerdem verstehe ich nicht ganz den Nutzen der Verwendung innerer Ebenen für den Forex-/Börsenhandel. Ist es sinnvoll, sie hinzuzufügen? Und warum?


MLP eignet sich nicht für Marktprognosen(siehe obige Videos), es wird ein RNN benötigt, d. h. ein Netz mit Speicher.

https://nplus1.ru/material/2016/11/04/recurrent-networks

Азбука ИИ: «Рекуррентные нейросети»
Азбука ИИ: «Рекуррентные нейросети»
  • 2016.11.04
  • Тарас Молотилин
  • nplus1.ru
N+1 совместно с МФТИ продолжает знакомить читателя с наиболее яркими аспектами современных исследований в области искусственного интеллекта. В прошлый раз мы писали об общих принципах машинного обучения и конкретно о методе обратного распространения ошибки для обучения нейросетей. Сегодня наш собеседник — Валентин Малых, младший научный...
 
Renat Akhtyamov:
Und dennoch gibt es keine zufriedenstellenden Handelsergebnisse, auch nicht in der Demo!

Es ist eine Frage der Optimierung, es macht keinen Sinn, alle Versionen zu testen, ich werde es testen, wenn ich alles vollständig implementiert habe.
 
Yuriy Asaulenko:

Ein Versuch, ein neuronales Netz (NS) zu trainieren, um zwei MAs zu kreuzen, schlug fehl. Es wurde darauf trainiert, nur den aufwärts gerichteten Übergang zu erkennen.

Für das Experiment wurde das NS - 3,3,3,1 ausgewählt und für das Training und die Erkennung von künstlich erzeugten Mustern getestet. Nach dem Erlernen der Erkennung von MAs wurde jedoch kein einziger Crossover erkannt. Der Grund: Der NS benötigt kontrastreichere Bilder und kümmert sich nicht um alle Unterschiede von 0,01-0,1 zwischen den Eingängen.

Bei einer gegebenen Struktur von NS kann eine recht zuverlässige Erkennung bei einer Signaldifferenz von nicht weniger als 0,2-0,3 erreicht werden.


MLP Sie die ganze Zeit und wird ein solches Durcheinander geben, habe ich bereits mit ihnen experimentiert, gibt es keine Möglichkeit, die Schichten abholen - dann neu zu trainieren, dann neu zu trainieren nicht genug Schichten, dann ihre Menge
 
Renat Akhtyamov:
Selbst auf der Demo kann ich keine zufriedenstellenden Ergebnisse sehen!

Niemand wird Monate damit verbringen, eine Strategie zu entwickeln und dann auf einem Demokonto damit zu prahlen. Solche Dinge werden real gehandelt, und die Transaktionshistorie ist für jeden verborgen. Ich habe im Forum sogar gelesen, dass Leute absichtlich bei zwei Brokern handeln, indem sie abwechselnd bei dem einen verlieren und die Verluste bei dem anderen ausgleichen, so dass nicht einmal der Broker weiß, welche Geschäfte durch die Strategie getätigt wurden und welche gefälscht sind.

Es gibt Ergebnisse. Manchmal bringen gute Prädiktorenkombinationen und das Modell Gewinn für ein paar Monate, häufiger - weniger. Aber sie werden durch andere ersetzt.


Meine persönliche Meinung - Neuronik, Wald, Regressionen - all das ist zu schwach für Forex. Der Grund dafür ist, dass sich das Preisverhalten ständig ändert. Die Regeln, die heute rentabel sind, können vor einer Woche noch unrentabel gewesen sein. Und der Standardansatz - nehmen Sie Indikatoren und Preise für ein paar Monate und trainieren Sie die Neuronen - bedeutet, dass es die gleichen Regeln des Preisverhaltens für alle zwei Monate finden muss. Und es gibt keine solchen Regeln, und niemand weiß, was er finden wird, aber er wird in 99 % der Fälle falsch liegen. Manchmal kann das Modell Glück haben und in diese 1% fallen, aber es ist zu weit vom Gral entfernt und solche Expert Advisors handeln in der Regel gut bis zum ersten Stop-Loss und können dann rausgeschmissen werden.

Ich studiere Modelle der Mustererkennung, die das Kursverhalten nach ähnlichen Mustern in der Geschichte betrachten und diese Statistiken für den Handel nutzen.
Ich habe noch kein Paket in R gesehen, das alles kann, was ich brauche. Ich habe ein Modell, das ich stückweise aus anderen zusammengestellt habe, und meine eigenen Fahrräder. Die Beschreibung, die einer Modellbeschreibung am nächsten kommt, habe ich in einem anderen Thread gesehen. Ich würde raten, den Bau deines Grals damit zu beginnen (Zitat unten). Im Laufe des Prozesses werden neue Probleme auftauchen, über die Sie nachdenken und mit denen Sie experimentieren müssen.

Forum zum Thema Handel, automatisierte Handelssysteme und Strategietests

Analyse der wichtigsten STATISTISCHEN Merkmale eines Musters und Auswahl einer darauf basierenden Handelsmethode.

Wladimir, 2017.04.06 06:20

Schauen Sie in der Codebase nach dem Indikator für den nächsten Nachbarn. Die Methode ist ganz einfach. Legen Sie die Länge des aktuellen Musters fest, finden Sie ähnliche Muster aus der Vergangenheit (z. B. verwenden Sie die Korrelation als Abstand zwischen den Mustern), sagen Sie das künftige Preisverhalten aus vergangenen Mustern voraus, indem Sie deren individuelle Vorhersagen gewichten. Dies ist im Wesentlichen dasselbe wie Clustering oder RBF oder SVM oder GRNN. Es hängt alles davon ab, wie man den Abstand zwischen dem aktuellen Muster und ähnlichen Mustern aus der Vergangenheit misst. Lesen Sie über GRNN und Bayes. Dort wird die Vorhersagetheorie in Form von statistischen Verteilungen beschrieben. Über GRNN und die oben erwähnten Vorhersagemethoden ist viel geschrieben worden, und alles lässt sich auf eine einfache Formel bringen:


Vorhersage y = SUM y[k]*exp(-d[k]/2s^2) / SUM exp(-d[k]/2s^2)


wobei y[k] das k-te vergangene Muster und d[k] der Abstand zwischen dem k-ten Muster und dem aktuellen Muster ist. Wenn Abstände eine Gaußsche Verteilung haben, dann ist d[k] = (x - x[k])^2. Für eine beliebige (supergaußsche) Verteilung gilt d[k] = |x - x[k]|^p, wobei p je nachdem gewählt wird, ob man den engsten Nachbarn mehr Gewicht geben will (großes p) oder allen Nachbarn fast das gleiche Gewicht (kleines p), wie im Sozialismus. Wenn p=0 ist, haben wir den totalen Sozialismus.

Nachdem wir uns mit den nächsten Nachbarn und GRNN vertraut gemacht haben, stellt sich die nächste naheliegende Frage. Wie misst man den Abstand zwischen dem aktuellen Muster und früheren Mustern, wenn man Verzerrungen auf der Zeitachse berücksichtigt (d. h. frühere Muster können wie das aktuelle Muster aussehen, aber entweder zeitlich gestreckt oder gestaucht). Genau hier liegt das Problem.


 

Hat jemand die genetische Programmierung als ML-Methode ausprobiert?

Wie Chaos Hunter?

 
Maxim Dmitrievsky:


MLP ist für die Marktprognose nicht geeignet, siehe obige Videos, es wird ein RNN benötigt, d.h. ein Netz mit Speicher

https://nplus1.ru/material/2016/11/04/recurrent-networks

Wenn ich mich nicht irre, ist RNN in MT5 extrem schwierig zu implementieren, und gute Ergebnisse erfordern entweder eine gekaufte oder interne Entwicklung mit enormen Arbeitskosten.

Wenn Sie an MLP neben den Informationen über den Preis und die Indikatoren des aktuellen Balkens auch die gleichen Informationen für die 10-30 vorherigen Balken senden, wird dies eine Art Speicher sein. Ein Teil der Neuronen verarbeitet den aktuellen Zustand, ein anderer Teil die Entwicklung der Situation in der näheren Vergangenheit.

Beim manuellen Handel betrachten wir auch die letzten Balken, und nicht nur den aktuellen Stand der Indikatoren.

Es ist klar, dass die Menge der Berechnungen zunehmen wird, deshalb war ich an der Möglichkeit interessiert, Berechnungen von einem Kern auf alle Kerne des Prozessors, des Netzwerks oder der Cloud zu übertragen. Wie könnte man das machen? Zumindest für MLP.

 
nowi:

Hat jemand die genetische Programmierung als ML-Methode ausprobiert?

Wie Chaos Hunter?

Wie wäre es zum Beispiel mit Chaos Hunter's? Geben Sie mir einen konkreten Link.
 
elibrarius:

Es ist klar, dass die Rechenleistung zunehmen wird, weshalb ich mich für die Möglichkeit interessierte, die Rechenleistung von einem Kern auf alle Kerne des Prozessors, das Netz oder die Cloud zu übertragen. Wie könnte man das machen? Zumindest für MLP.


Auf OpenCL, nicht wenn Sie nicht faul sind ))