Diskussion zum Artikel "Die praktische Verwendung eines neuronalen Kohonen-Netzes im algorithmischen Handel. Teil II. Optimierung und Vorhersage"

 

Neuer Artikel Die praktische Verwendung eines neuronalen Kohonen-Netzes im algorithmischen Handel. Teil II. Optimierung und Vorhersage :

Basierend auf universellen Tools, die für die Arbeit mit Kohonen-Netzwerken entwickelt wurden, konstruieren wir das System zur Analyse und Auswahl der optimalen EA-Parameter und besprechen die Vorhersage von Zeitreihen. In Teil I haben wir die öffentlich zugänglichen neuronalen Netzwerkklassen korrigiert und verbessert, indem wir notwendige Algorithmen hinzugefügt haben. Jetzt ist es an der Zeit, sie praktisch anzuwenden.

So sieht der Test im Zeitraum vom 1. Juli 2018 bis 1. Dezember 2018 aus.

Unity-Forecast: Vorhersage der Bewegungen von Silber auf dem Forex- und Gold-Cluster im MetaTrader 5 Tester

Unity-Forecast: Vorhersage der Bewegungen von Silber auf dem Forex- und Gold-Cluster im MetaTrader 5 Tester

Zeitweise erreicht die Genauigkeit 60 %. Wir können feststellen, dass im Grunde genommen die Methode funktioniert, wenn das aber auch die grundlegende Auswahl des Prognose-Objekts, die Vorbereitung der Eingaben und die langfristige, sorgfältige Konfiguration erfordert.

Autor: Stanislav Korotky

 
Vielen Dank für die Qualität und das interessante Material. Eigentlich sind es zwei Artikel in einem.
 
Ich habe mir den Artikel angeschaut - der zweite Teil ist recht originell, aber im ersten Teil gibt es nichts Nützliches über die Analyse der Optimierungsergebnisse. Obwohl das Thema der Analyse von Optimierungsergebnissen sehr wichtig für die Auswahl von Parametern ist, die eine stabile Arbeit des Expert Advisors garantieren. Eine recht bekannte Hypothese ist hier die Annahme, dass, wenn man ein solches lokales Rentabilitätsmaximum wählt, um das herum die Rentabilität bei Abweichungen in den Werten der Eingangsparameter gleichmäßig abnimmt, d.h. um das herum die Gradientenfunktion gleichmäßig abnimmt, dann wird sich die tatsächliche resultierende Leistung des Expert Advisors im Vergleich zu den während der Tests ermittelten Referenz- und Erwartungswerten gleichmäßig verschlechtern, auch wenn sich die Marktbedingungen ändern. In einem fortgeschritteneren Fall ist es erforderlich, in die Zielfunktion nicht nur die Rentabilität, sondern auch eine Bewertung der Stabilität anderer Output-Indikatoren aufzunehmen. D.h. es muss nicht nach Plateaus, sondern nach Hügeln im Raum der Outputvariablen gesucht werden, die aber auf benachbarten Bereichen der Inputvariablen liegen.
Leider habe ich nicht gesehen, dass der Autor dieses Problem mit Kohonen-Karten gelöst hat.
Darüber hinaus ist der Ansatz des Autors, unrentable Punkte zu entfernen, grundlegend falsch - diese können einfach benachbarte Punkte im Raum der Inputvariablen sein, deren Rentabilitätseinbrüche auf eine Instabilität der rentablen Kombination hinweisen.
 

Die Arbeit ist sicherlich von hoher Qualität. Ein gutes Tutorial über die Verwendung neuronaler Netze in der Analytik und im Handel.

Zur Diskussion möchte ich Folgendes anmerken (zum Abschnitt "Optimierung"):

Der Autor behauptet, dass "das Experiment keine optimalen Einstellungen ergeben hat". Meiner Meinung nach sind die Gründe dafür folgende:

1. Die Parameter der traditionellen Indikatoren(RSI, MA, Parabolic) wurden als die untersuchten (während der Optimierung) verwendet. Im Allgemeinen handelt es sich dabei um sehr grobe Analyseinstrumente, so dass erfahrene Händler sie in der Regel nicht für den realen Handel verwenden. Das Ergebnis dürfte sich verbessern, wenn anstelle dieser Indikatoren die Candlestick-Analyse, aber nicht-klassische Modelle verwendet werden (meine Erfahrung mit dem Testen von "Klassikern" hat deren Ineffizienz gezeigt). Das heißt, die Candlestick-Parameter (Amplitude, Größe des Candlestick-Körpers, Größe der Schatten) können als optimierte Parameter verwendet werden. Die Veränderung dieser Parameter im Laufe der Zeit ist ein viel genaueres Analyseinstrument als die Signale der traditionellen Indikatoren.

2. das Fehlen einer Multiskala ( es wird nur eine Skala verwendet), was die Genauigkeit der Analyse erheblich beeinträchtigt. Daher ist es besser, die gleichzeitige Analyse von Candlesticks von 3-4 Zeitrahmen (natürlich für das gleiche Finanzinstrument) zu verwenden.

Der Autor wählt Gold und Silber als analysierte Finanzinstrumente (Schutzwerte, die nach Meinung des Autors weniger von fundamentalen Faktoren abhängen). Ich bin der Meinung, dass für eine umfassende Analyse im Gegenteil die am meisten gehandelten Instrumente verwendet werden müssen, und vor allem EURUSD als das charakteristischste (in Bezug auf die Dynamik) Finanzinstrument. Auch sollte man (bei der Analyse) keine Angst vor der Volatilität und dem so genannten "Rauschen" des Marktes (Bewegungen auf kleinen Zeitskalen) haben, da dies Erscheinungsformen der Natur des Marktes, seiner natürlichen Elemente sind.

 
Ich stimme mit den Kommentaren überein. Einige Punkte in dem Artikel wurden erläutert (z. B. die Verwendung genetischer Optimierungsergebnisse, die Notwendigkeit, andere Skalen/Indikatoren hinzuzufügen usw.). Eines der Ziele war es, Werkzeuge und allgemeine Ansätze für die Forschung über Kampfroboter bereitzustellen. Teilen Sie Ihre Ergebnisse mit.
 
Stanislav Korotky:
Ich stimme mit den Kommentaren überein. Einige Punkte in dem Artikel wurden erläutert (z. B. die Verwendung genetischer Optimierungsergebnisse, die Notwendigkeit, andere Skalen/Indikatoren hinzuzufügen usw.). Eines der Ziele war es, Werkzeuge und allgemeine Ansätze für die Forschung über Kampfroboter bereitzustellen. Teilen Sie Ihre Erkenntnisse mit.

Dies sind keine Kommentare, sondern nur Vorschläge, denn der Artikel ist ausgezeichnet.

 

Die Suche durch den Parameterraum mit sehr großer Dimensionalität wird vom genetischen Algorithmus durchgeführt, und damit er nicht in den profitablen Bereichen "zusammenbricht", können Sie einen synthetischen Optimierungsparameter wie den folgenden verwenden:

TesterStatistics(STAT_PROFIT_TRADES)/TesterStatistics(STAT_LOSS_TRADES). Oder wie TesterStatistics(STAT_MAX_CONPROFIT_TRADES)/TesterStatistics(STAT_MAX_CONLOSS_TRADES). In Wirklichkeit müssen Sie mehr Parameter verknüpfen.

 

Ich interessiere mich für den Teil des Artikels, in dem es um die Plateauauswahl bei den Optimierungsergebnissen geht. Ich verstehe nicht ganz, wie man die Karten analysieren kann, wenn sie aus einer zufälligen CSV-Datei stammen? Im Artikel wird ausdrücklich darauf hingewiesen, dass ein einfaches GA durchgeführt wurde, bei dem der Müll anschließend verworfen wurde.


Wie können wir uns der Praxis nähern? Hier ist ein EA und wir müssen ein Plateau finden.


Außerdem. Nach welchem Prinzip werden die Zellen bei der Erstellung von Karten ausgewählt? Wahrscheinlich habe ich etwas in der Beschreibung übersehen, aber es ist sehr schwer zu verstehen.

 
fxsaber:

Ich interessiere mich für den Teil des Artikels, in dem es um die Plateauauswahl bei den Optimierungsergebnissen geht. Ich verstehe nicht ganz, wie man die Karten analysieren kann, wenn sie aus einer zufälligen CSV-Datei stammen? In dem Artikel wird ausdrücklich darauf hingewiesen, dass eine einfache GA durchgeführt wurde, bei der der Abfall anschließend verworfen wurde.

Wie können wir uns der Praxis nähern? Hier ist ein EA und wir müssen ein Plateau finden.

Und noch etwas. Nach welchem Prinzip werden die Zellen bei der Erstellung von Karten ausgewählt? Wahrscheinlich habe ich in der Beschreibung etwas übersehen, aber es ist sehr schwer zu verstehen.

In dem Artikel - mehr über das Werkzeug selbst, und wie die Daten für die Analyse erhalten wird - obwohl es gesagt wird, aber keine Forschung durchgeführt wurde. Dies ist ein Thema für mehr als einen Artikel - insbesondere für den Vergleich der Lösungsräume von konventionellen und genetischen Optimierungen. Vollständiges Überschwingen führt zu keiner Verzerrung - wenn man es kann, sollte man es verwenden. Der Begriff "zufällige CSV" ist jedoch kaum angemessen oder falsch gewählt - sonst könnte man sagen, dass alle Optimierungsergebnisse in MT zufällig sind. Das Verwerfen expliziter Ausreißer ist imho normale Praxis.

Was die Auswahl der Zellen bei der Erstellung von Karten betrifft, verstehe ich die Frage nicht.

 
Stanislav Korotky:

In dem Artikel geht es eher um das Werkzeug selbst und darum, wie die Daten für die Analyse gewonnen werden, obwohl dies zwar erwähnt wird, aber keine Forschung betrieben wurde. Dies ist eine Front für mehr als einen Artikel - insbesondere für den Vergleich von Lösungsräumen konventioneller und genetischer Optimierungen. Vollständiges Überschwingen führt zu keiner Verzerrung - wenn man es kann, sollte man es verwenden. Der Begriff "zufällige CSV" ist jedoch kaum angemessen oder falsch gewählt - sonst könnte man sagen, dass alle Optimierungsergebnisse in MT zufällig sind. Das Verwerfen von offensichtlichen Ausreißern ist imho normale Praxis.

Die Zufälligkeit der GA ist das Gleiten in ein lokales Extremum, das jedes Mal anders verlaufen kann. D.h. das Bild von GA und vollständiger Suche kann sehr unterschiedlich sein (nachdem man in beiden Varianten den Müll verworfen hat).

Ich bin auf solchen Unsinn bei GA gestoßen

Forum über Handel, automatisierte Handelssysteme und das Testen von Handelsstrategien

Neue Version von MetaTrader 5 build 1930: Schwebende Chart-Fenster und .Net-Bibliotheken in MQL5

fxsaber, 2019.02.02 09:54 AM

Genetisches Optimierungsprotokoll
PH      0       11:40:35.073    Tester  genetic optimization finished on pass 9216 (of 30240000)
FI      0       11:40:35.563    Statistics      optimization done in 1 minutes 51 seconds
JP      0       11:40:35.563    Statistics      shortest pass 0:00:00.014, longest pass 0:00:01.329, average pass 0:00:00.177
II      0       11:40:35.563    Statistics      local 3891 tasks (100%), remote 0 tasks (0%), cloud 0 tasks (0%)

Von 30 Millionen Varianten wurden weniger als 4K erstellt, was weniger als zwei Minuten dauerte. Wie kann man die Genauigkeit der GA erhöhen? Es wäre besser, 2 Stunden zum Zählen zu benötigen, aber ein objektiveres Ergebnis zu erzielen.

Bei MT4 ist das nicht der Fall.

Es stellt sich heraus, dass ich GA mindestens ein Dutzend Mal mit demselben OnTester laufen lassen muss, um mehr oder weniger objektiv zu sein. Ich habe gesehen, dass Sie verschiedene Kriterien für verschiedene Optimierungsansätze empfehlen. Aber die Standard-GA ist immer noch ein bisschen seltsam. Also habe ich beschlossen, es anders zu machen - siehe unten.

Was die Auswahl der Zellen bei der Erstellung von Karten betrifft, verstehe ich die Frage nicht.

In dem Artikel wird bei der Analyse verschiedener Karten die Eigenschaft verwendet, dass in zwei Karten eine Zelle mit übereinstimmenden Koordinaten (X; Y) demselben Satz von TK-Eingabeparametern entspricht. Wie wird diese Regel gebildet?


Vielen Dank für Ihre Arbeit in Form von Artikeln und Blogbeiträgen! Das Material unterscheidet sich stark vom Durchschnitt.

Auf der Grundlage Ihrer Implementierung der MHR möchte ich eine Alternative zum Standard-GA erstellen und eine vergleichende Analyse durchführen. Die Standard-GA hat eine sehr große Abweichung von Lauf zu Lauf. Und die Begrenzung auf 10.000 Durchläufe stimmt nicht mit dem MT4-GA überein. Ich habe Ihre Implementierung der Virtualisierung gesehen, ich möchte einen ähnlichen Ansatz verwenden, aber die GUI des Testers nutzen.

 

GA wird nie zu einem globalen Optimum konvergieren, es ist eine evolutionäre Methode, die auf Vielfalt abzielt. Sie muss nicht zu irgendetwas konvergieren.

https://www.monographies.ru/en/book/view?id=707