SOM: Kochmethoden

 

Guten Tag!

Ich beschäftige mich schon seit langem mit der Verwendung von selbstorganisierenden Karten im Forex-Bereich. Ich habe mich für ein Experiment entschieden: Ich habe tägliche Balken von 2001 bis Ende März 2011 genommen, Eingangsvektoren für ein neuronales Netz mit der Größe 40 erstellt und SOM mit der Größe 7 mal 7 Neuronen trainiert, wodurch der Vektorraum in 49 Zellen aufgeteilt wurde. Dann berechnete ich für jede Zelle die Wahrscheinlichkeit einer Kursbewegung nach oben oder unten innerhalb von 5 Balken. Das Ergebnis der Analyse ist im Folgenden dargestellt:

Außerdem wählen wir Cluster aus, die aus praktischer Sicht interessant sind. Die gelb hervorgehobenen Cluster markieren die Einstiegspunkte für Käufe. Orangefarbene Einstiegspunkte sind Verkaufspunkte (von denen es weniger gibt, da EURUSD in den letzten 10 Jahren offenbar von Aufwärtstrends dominiert wurde).

Der nächste Schritt besteht darin, die Strategie in Excel nach einer unkomplizierten Formel umzusetzen. Die Strategie ist einfach: kaufen und halten oder verkaufen und halten. Die Transaktionsdauer beträgt 5 Takte, und für jede Transaktion habe ich eine Korrektur (Spread + Swap) von 0,0005 (5 vierstellige Punkte) eingeführt, da jede Transaktion über das Wochenende laufen wird...

Nachfolgend sehen Sie das sich daraus ergebende Gleichgewichtsdiagramm für den SOM-Untersuchungszeitraum (640 Abschlüsse über 9 Jahre):

Und jetzt...

- Bilanzdiagramm für den OOS-Zeitraum - letztes Jahr (66 Geschäfte, etwa 400% Gewinn):

Es ist möglich, in MT4, SOM zu implementieren, um in statistischen Paket zu trainieren und über dll verbinden, erhalten Zellzahl aus dem Netzwerk und geben Sie in Kauf, Verkauf oder warten.

Was meinen Sie dazu? Ich bin verwirrt durch große Drawdowns. Ein ganzes Viertel kann untergehen. Und die Strategie ist ziemlich primitiv.

 

Kohonen Maps können leicht in jeder Programmiersprache implementiert werden, einschließlich MQL4

Es wird keine Bibliothek benötigt

 

Seltsam, ich habe etwas Ähnliches gemacht - es hat nicht funktioniert - die Rückkopplung war überlastet.

Können Sie ein konkretes Beispiel für die Gestaltung von Ein- und Ausgängen nennen?

Eines der Projekte korreliert jetzt sowieso... könnten wir gleichzeitig das Kohonen's ausprobieren.

 

Was bedeutet die "Wahrscheinlichkeit einer Auf- oder Abwärtsbewegung"? Nur, dass der Preis in 5 Balken wahrscheinlicher nach oben (unten) aus dem aktuellen sein wird?

Welche Art von Netzwerk haben Sie? Ist sie einlagig oder zweilagig? 40 ist die Größe von was?


Nur eine kurze Vermutung... ein Netzwerk mit 40 Eingängen kann nicht mit einer so geringen Datenmenge trainiert werden (das ist noch milde ausgedrückt). Die obige Karte ist nicht beruhigend :) Im Allgemeinen gibt es dort keine Cluster. Ihr Ergebnis ist ein Glücksfall.

 
Vinin:

Kohonen Maps können leicht in jeder Programmiersprache implementiert werden, einschließlich MQL4

Die Bibliothek wird nicht benötigt


Ich danke Ihnen! Ich werde es wissen. Im Allgemeinen wollte ich eher die Verbindung dieser Methode mit einer Handelsstrategie und die Besonderheiten der Kohonen Maps in Bezug auf Devisenkurse oder andere Finanzmärkte erörtern, als die Möglichkeiten zur Implementierung von Kohonens ACS in Metatrader.

TheXpert

Konkret habe ich die letzten 40 Eröffnungskurse der Tagesbarren eingegeben, allerdings nicht in Rohform, sondern hochskaliert, um eine Nicht-Stationarität des Preisniveaus zu vermeiden. Ich verwende keine Ausgabevariablen für das SOM-Training, aber die Idee ist, dass ich bei der Analyse der nach Zellen aufgeschlüsselten Stichproben nachsehe, ob der Eröffnungskurs des fünften Balkens höher oder niedriger als der letzte bekannte Eröffnungskurs in der Zukunft sein wird.

Diamant

Wie können Sie sich der Zufälligkeit des Ergebnisses so sicher sein? Haben Sie diesen Thread eröffnet, um ein dummes Argument vorzubringen?

Was meinen Sie mit wenigen Daten? Wie viel kostet das? Wie viel ist genug?

 
alexeymosc:

Konkret wurden 40 letzte Eröffnungskurse von Tagesbarren eingegeben, allerdings nicht in Rohform, sondern skaliert, um eine Nicht-Stationarität des Preisniveaus zu vermeiden.

Und können Sie diese Inputs auch spüren?

Für das Training von SOM wurden keine Ausgangsvariablen verwendet, aber die Idee ist, dass ich bei der Analyse der Stichproben, aufgeschlüsselt nach Zellen, darauf achte, ob der Eröffnungskurs am fünften Balken in der Zukunft höher oder niedriger sein wird als der letzte bekannte Eröffnungskurs.

In Ihrer Tabelle beträgt die Summe für den Cluster nicht 100 %, d. h. außer einem einfachen Über-/Unter-Vergleich gibt es noch etwas anderes - eine Verteilungsrechnung?

 

Auf Eingaben, ok, ich bin jetzt bei der Arbeit, sobald ich frei bin - ich werde eine Excel-Datei im Archiv (privat) senden).

Die Summe ist nicht gleich 100% - wahr, und hier ist der Grund: Ich habe die folgende Berechnung gemacht: wenn Open [t+5] - 0.0010 > Open [t] 1 sonst 0. Das heißt, die Analyse umfasst Fälle, in denen der zukünftige Preis mindestens 10 Punkte höher ist als der aktuelle. Das Gleiche gilt für die Analyse einer Abwärtsbewegung (Schwelle von 10 Pips).

 

OK, vielen Dank. Ich kann nicht versprechen, dass es schnell gehen wird, aber ich werde es mir ansehen.

Ja, so in etwa hatte ich mir das vorgestellt.

 
alexeymosc:

Ich bin gerade bei der Arbeit, aber ich schicke Ihnen eine Excel-Datei, sobald ich Zeit habe (in einer privaten Nachricht).

Und darf ich auch? Oder Sie können es einfach hier abgeben, wenn es nicht zu viel Mühe macht.
 
Es wäre besser, das Archiv hier hochzuladen
 

Nun, es macht mir nichts aus, wenn Sie das Werk kennen lernen wollen.

Es wäre gut, das System in irgendeiner Weise zu verbessern.

Dateien: