English Русский 中文 Português
preview
Prognosen im Trading mit Grey-Modellen

Prognosen im Trading mit Grey-Modellen

MetaTrader 5Beispiele |
30 0
Aleksej Poljakov
Aleksej Poljakov

Einführung

Moderne Finanzmärkte sind hochvolatil und dynamisch, daher spielt eine genaue und zeitnahe Prognose eine entscheidende Rolle bei Handelsentscheidungen. Jeder Trader strebt danach, Prognosemethoden zu entwickeln und anzuwenden, die es ihm ermöglichen, zukünftige Preisbewegungen vorherzusehen und Gewinne zu maximieren.

Die technische Analyse bietet eine große Vielfalt an Prognosemethoden. Aber viele Prognosemethoden haben ihre Grenzen. Zum Beispiel erfordert ein statistischer Ansatz für Prognosen eine große Menge an historischen Daten. Andere Ansätze funktionieren nur bei stationären Zeitreihen usw.

In diesem Zusammenhang wächst das Interesse an Prognosemethoden, die mit begrenzten und unvollständigen Informationen umgehen können. Ein solcher Ansatz sind Grey-Modelle (GM), die in Situationen, in denen Daten begrenzt, unzuverlässig oder verrauscht sind, sehr nützlich sein können. Solche Situationen sind an den Finanzmärkten recht häufig. In diesem Artikel werden wir die Grundlagen von GM und deren Anwendung auf die Prognose von Finanzzeitreihen betrachten.


Klassisches GM(1,1)-Modell

Grey-Modelle können zur Lösung einer Vielzahl von Problemen eingesetzt werden. Mithilfe von GM können wir eine Zeitreihe analysieren, sie glätten oder die wichtigsten Trends in der Preisbewegung identifizieren. Das Modell lässt sich jedoch auch zur Prognose einsetzen. Der Hauptvorteil der Verwendung von GM besteht darin, dass dieses Modell keinerlei Einschränkungen hinsichtlich der Stationarität der Zeitreihe auferlegt. Zum Beispiel zeigt ein SMA seine besten Eigenschaften, wenn die Zeitreihe stationär ist und ihre Werte normalverteilt sind. Wenn die Zeitreihe nicht stationär ist (mit anderen Worten, es gibt einen Trend), dann wird SMA stark verzögert reagieren. Für GM sind diese Anforderungen nicht wichtig und es kann mit jeder Zeitreihe umgehen. Oder zumindest sollte es das. Die Anforderungen an GM sind einfach und leicht zu erfüllen:

  • die Länge der Zeitreihe sollte mindestens 4 betragen;
  • die Werte der Zeitreihe sollten streng positiv sein und in gleichen Zeitabständen ohne Lücken auftreten.

Die Konstruktion eines jeden GM-Modells beginnt mit der Anwendung der Accumulated Generating Operation (AGO). Das Wesen dieser Operation ist sehr einfach – man muss den aktuellen Wert der Zeitreihe mit allen vorherigen Werten summieren. In Zukunft werde ich eine solche Zeitreihe als Grey-Reihe (GS) bezeichnen. Nehmen wir 5 Preise als Beispiel. Dann sieht die auf sie angewendete AGO-Operation wie folgt aus:

Diese Operation dient zwei Hauptzwecken. Erstens reduzieren wir den Einfluss von Rauschen. Zweitens wird die neue Zeitreihe besser vorhersagbar – sie ist streng monoton steigend und kann zum Beispiel so aussehen:

Sobald wir die Werte der neuen Zeitreihe erhalten haben, können wir mit der Konstruktion von GM(1,1) beginnen. In dieser Notation gibt die erste Zahl die Ordnung der Differentialgleichung an und die zweite die Anzahl der verarbeiteten Grey-Reihen (GS). Das GM(1,1)-Modell wird durch eine lineare Differentialgleichung beschrieben.

Um diese Gleichung zu lösen, benötigen wir ein System für symbolische Mathematik. Ich verwende Maple. Zuerst schreiben wir die Ausgangsgleichung auf, dann legen wir die Anfangsbedingung fest und erhalten die Lösung. In Maple sehen all diese Operationen wie folgt aus:

de:=diff(x(t),t)+a*x(t)=b; #original equation cond:=x(1)=X[1];           #initial condition dsolve({de,cond},x(t));    #solving the equation


Somit haben wir die Abhängigkeit der Änderung des GS von der Zeit erhalten. Bitte beachten Sie, dass der Index t die Zeit darstellt und von der Vergangenheit in die Zukunft zunimmt, beginnend bei 1. Aus dieser Gleichung können wir die gleiche Beziehung für die Preisänderung ableiten:

In Maple würde die Lösung für diese Gleichung wie folgt aussehen:

eq:=price[t]=(b+(a*X[1]-b)*exp(-a*t))/a-(b+(a*X[1]-b)*exp(-a*(t-1)))/a;#difference between 2 consecutive GS values simplify(eq);#simplify the result

Lassen Sie uns das Ergebnis manuell ein wenig vereinfachen, dann nimmt die Formel ihre endgültige Form an.

Aus dieser Formel wird deutlich, dass wir durch die Kenntnis der Parameter a und b die Preiswerte schätzen können. Mit anderen Worten: Damit lässt sich die ursprüngliche Zeitreihe glätten. Um diese Parameter zu schätzen, müssen wir die Differentialgleichung nehmen und sie diskretisieren. Dazu wird der folgende Übergang verwendet:

Nach diesem Übergang erhalten wir eine diskrete Version.

Die Koeffizienten einer solchen Gleichung können einfach mithilfe der Methode der kleinsten Quadrate (OLS) geschätzt werden. Hier beginnt der Spaß. Wir können eine geglättete Schätzung der GS-Werte erhalten. Diese Art der Glättung ist von rein akademischem Interesse und hat keinen praktischen Nutzen.

Oder wir können die ursprüngliche Zeitreihe sofort glätten.

Jetzt sind wir bereit für den nächsten Schritt. Wie Sie sich vielleicht erinnern, legt die Formel für die Berechnung der Preiswerte keine Beschränkung für die Fortschreibung der Zeitvariable fest. Mit anderen Worten: Wir können die Zeitreihe beliebig weit in die Zukunft fortschreiben. In diesem Fall erhalten wir eine Prognose der Preisbewegung. Natürlich basiert diese Prognose auf der Annahme, dass die Eigenschaften der ursprünglichen Zeitreihe unverändert bleiben. Ich werde eine Prognose für 5 Schritte im Voraus erstellen.

Wie Sie sehen können, kommt dieses Modell gut mit linearen Trends zurecht. Aber deswegen könnte es andere wichtige Preisbewegungen verpassen. Lassen Sie uns versuchen, komplexere GM-Modelle anzuwenden, und sehen, wie sie sich verhalten.


Modifikationen des GM(1,1)

Die einfachste Erweiterung des klassischen GM(1,1) wird als Rolling GM (RGM) bezeichnet. Das Wesen dieser Erweiterung ist sehr einfach. Wir kombinieren mehrere GM-Modelle mit unterschiedlichen Perioden und bilden daraus den Durchschnitt. Mit diesem Ansatz können wir eine glattere Schätzung der Preiswerte erhalten. Die Prognose wird ebenfalls glatter sein. Lassen Sie uns ein RGM erstellen, das aus mehreren GM(1,1) mit Zeiträumen von 4 bis 24 zusammengesetzt ist. So sieht das im Chart aus:

Das RGM-Modell kann ebenfalls modifiziert werden. Die Grundidee dieser Modifikation besteht darin, jedem einzelnen GM-Modell ein eigenes Gewicht zuzuweisen. Diese Gewichte können entweder fest sein oder vom Prognosefehler abhängen. Der erste Fall ist recht trivial. Wir können die Gewichte nach frei gewählten Kriterien festlegen. Wir erhalten dann eine gewichtete Summe der Modelle.

Wenn die Gewichte vom Prognosefehler abhängen, erhalten Sie eine adaptive Version des RGM. In diesem Fall kann das Gewicht jedes GM wie folgt bestimmt werden. Zuerst berechnen wir den Prognosefehler für jedes GM separat:

Der GM-Gewichtungsfaktor hängt von diesem Fehler ab – je größer der Fehler, desto geringer das Gewicht:

Auf diese Weise gewichtet das RGM vor allem jene Trends stärker, die am besten zur Preisbewegung passen. Dementsprechend kann sich auch die Qualität der Prognose verbessern.

Eine weitere Erweiterung betrifft die Vorverarbeitung der ursprünglichen Zeitreihe. Anstelle von Preisen können wir beispielsweise SMA-Werte verwenden. Dann liefert GM(1,1) glattere Ergebnisse. In der Praxis kann dieser Ansatz verwendet werden, um Trendgrenzen zu bestimmen.

Der Kanal kann jedoch anders aufgebaut werden. Zuerst müssen wir die GM(1,1)-Parameter berechnen. Genauer gesagt benötigen wir jetzt nur noch den a-Wachstumsparameter. Nun berechnen wir für jeden realen Preiswert seinen Parameter b.

Von allen möglichen Optionen interessieren uns die Maximal- und Minimalwerte dieses Parameters. Mit ihrer Hilfe können wir die oberen und unteren Grenzen des Trendkanals erhalten.

So sieht ein solcher Kanal in einem Chart aus:

Es gibt eine große Anzahl verschiedener Modifikationen von Grey-Modellen. Einige dieser Modifikationen sind nur auf bestimmte Zeitreihen anwendbar. Andere, wie GM(1,1), sind universell. Alle diese Modifikationen haben ein Ziel: die Genauigkeit von Prognosen zu erhöhen und die Merkmale von Zeitreihen zu identifizieren.


Diskrete GM-Modelle

Die Lösung von Differentialgleichungen sieht sicherlich schön aus, aber selbst eine leichte Komplizierung der Modelle führt zu sehr komplexen Lösungen. Darüber hinaus kann die Schätzung der Modellparameter numerisch instabil sein. Ein einziger Fehler, selbst tief in den Dezimalstellen, kann das Chart unbrauchbar machen.

Diskrete GM-Varianten sind frei von diesen Nachteilen. Versuchen wir, eine solche Variante für GM(1,1) zu konstruieren. Ein solches Modell kann durch die folgende lineare Rekursionsgleichung ausgedrückt werden:

Mit anderen Worten, wir konstruieren eine lineare Abhängigkeit des aktuellen Wertes der GS vom vorherigen. Die Schätzung der Parameter dieser Gleichung ist nicht schwierig. Nun müssen wir die Gleichungsparameter finden.

re:=x(n+1)=a*x(n)+b;              #original equation

cond:=x(1)=X[1];                  #initial condition
simplify(rsolve({re,cond},x(t))); #solving the equation

Als Ergebnis erhalten wir eine Gleichung mit explizit angegebenen GS-Werten.

Aus dieser Gleichung können wir eine Preisschätzung ableiten.

So sieht ein auf diesem Modell basierender Indikator aus:

Das Experiment war erfolgreich. Versuchen wir nun, das GM(0,2)-Modell zu erstellen. Aus der Notation geht hervor, dass in diesem Modell keine Ableitungen verwendet werden und die Anzahl der berücksichtigten Faktoren zunimmt. Übrigens kann dieses Modell nur in diskreter Form existieren.

Dieses Modell verwendet zwei GS. Nehmen wir an, dass die Periode des Modells N ist. Wir erstellen die erste GS wie gewohnt, beginnend mit dem Preis mit dem Index N-1. Um die zweite zu konstruieren (ich werde sie als Y bezeichnen), verwenden wir Preise, die um 1 Zählwert zurückverschoben sind, beginnend mit dem Preis mit dem Index N. Die Gleichung für dieses Modell sieht wie folgt aus:

Natürlich können wir eine Rekursionsgleichung aufstellen und deren Lösung finden. Dieses Modell wird jedoch besonders einfach, wenn wir uns auf eine 1-Schritt-Vorausprognose beschränken. Zuerst werden wir also die Modellparameter mittels OLS schätzen. Wir können die X-Reihe nicht fortsetzen – der neue Preis ist noch nicht bekannt. Für die Y-Reihe ist der nächste Preis jedoch bereits bekannt, und wir können ihren neuen Wert ermitteln.

Nachdem wir einen neuen Wert für die Y-Reihe erhalten haben, können wir auch den zukünftigen Wert der X-Reihe schätzen.

Danach wird eine Preisprognose nicht schwierig sein. So sieht der auf diesem Modell basierende Indikator aus:

Das GM(0,2)-Modell ähnelt der linearen Regression. Die Erhöhung der Anzahl der berücksichtigten GS kann das Modell flexibler machen und die Prognosequalität verbessern. Diese Verbesserung wird bei einem kurzen Indikatorzeitraum besonders deutlich sein.

Wir sind nun bereit, mit der Konstruktion des diskreten GM(1,2)-Modells fortzufahren. Es kombiniert die Ansätze der beiden vorherigen Modelle und lässt sich durch die folgende Formel beschreiben:

Mit anderen Worten: Wir erstellen dieselbe lineare Regression für zwei GS. Wir können den zukünftigen Preiswert mithilfe der für diese Regression gefundenen Parameter schätzen. So sieht ein auf diesem Modell basierender Indikator aus:

Der diskrete Ansatz macht es recht einfach, Modelle höherer Ordnung zu konstruieren. Als Beispiel nehme ich das GM(2,1)-Modell. Es auf die herkömmliche Weise zu lösen und die Werte seiner Parameter zu finden, ist nicht jedermanns Sache. Aber lassen Sie uns dieses Modell in eine diskrete Form umwandeln, dann sieht seine Gleichung wie folgt aus:

Die Berechnung der Parameter dieses Modells wird nicht schwierig sein. Der Einfachheit halber beschränken wir uns zudem auf eine Prognose einen Schritt im Voraus. Im Chart sieht der Indikator so aus:

Dieser Indikator kann nicht als Glättung bezeichnet werden. Er reagiert jedoch recht schnell auf Änderungen der Marktsituation. Deshalb verdient er Beachtung. Wenn Sie eine glattere Option wünschen, ziehen Sie die Verwendung von RGM in Betracht.

Zusammenfassend lässt sich sagen, dass diskrete Modelle in ihren Berechnungen einfacher sind. Dies ist ihr unbestrittener Vorteil. Diese Einfachheit schränkt jedoch den Prognosehorizont ein. Meistens funktionieren diskrete Modelle nur einen Schritt im Voraus gut. Versuche, den Prognosehorizont zu erweitern, führen zu unnötigen Komplikationen und sind in der Praxis wahrscheinlich nicht nützlich.


Schlussfolgerung

Grey-Modelle sind ein vielversprechendes Werkzeug zur Modellierung und Beschreibung von Finanzzeitreihen. GM können zur Glättung, Trenderkennung und Prognose zukünftiger Preiswerte sowie zur Konstruktion von Trendkanälen verwendet werden.

Der unbestrittene Vorteil von GM ist die Möglichkeit, sie an fast alle externen Bedingungen anzupassen. Ein schwerwiegender Nachteil ist die mathematische Komplexität einiger Ansätze. Auf jeden Fall erfordern GM weitere Untersuchungen und die Identifizierung der für den Trader am besten geeigneten Optionen.

Die folgenden Programme sind dem Artikel beigefügt:

Name Typ Beschreibung
sGM Skript Das Skript demonstriert die Konstruktion von GS und die Glättung unter Verwendung des GM(1,1)-Modells. Wenn ScreenShot aktiviert ist, wird das Bild im Ordner Files gespeichert.
GM11 Indikator

Der Indikator demonstriert die Funktionsweise der klassischen Version von GM(1,1)

  • iPeriod – Periodenlänge des Indikators;
  • Forecast – Prognosehorizont
  • Shift – Indikatorverschiebung
RGM11 Indikator Der Indikator zeigt den Durchschnitt mehrerer GM(1,1)-Varianten an
GM11sma Indikator Anstelle von Preisen werden SMA-Werte als Eingaben verwendet.
GM11Ch Indikator Der Indikator erstellt einen Trendkanal auf Basis von GM(1,1)
DGM11 Indikator
Diskrete Version von GM(1,1)
DGM02 Indikator
Analogon der bivariaten linearen Regression
DGM12 Indikator
Diskretes GM(1,1)-Modell mit zwei Eingabefaktoren
DGM21 Indikator
Diskretes Analogon des Modells zweiter Ordnung

Übersetzt aus dem Russischen von MetaQuotes Ltd.
Originalartikel: https://www.mql5.com/ru/articles/19012

Beigefügte Dateien |
sGM.mq5 (2.25 KB)
GM11.mq5 (6.85 KB)
RGM11.mq5 (8.01 KB)
GM11sma.mq5 (3.64 KB)
GM11Ch.mq5 (4.63 KB)
DGM11.mq5 (3.37 KB)
DGM02.mq5 (2.98 KB)
DGM12.mq5 (3.43 KB)
DGM21.mq5 (3.26 KB)
Die Übertragung der Trading-Signale in einem universalen Expert Advisor. Die Übertragung der Trading-Signale in einem universalen Expert Advisor.
In diesem Artikel wurden die verschiedenen Möglichkeiten beschrieben, um die Trading-Signale von einem Signalmodul des universalen EAs zum Steuermodul der Positionen und Orders zu übertragen. Es wurden die seriellen und parallelen Interfaces betrachtet.
Optionshandel ohne Optionen (Teil 2): Einsatz im Live-Handel Optionshandel ohne Optionen (Teil 2): Einsatz im Live-Handel
Der Artikel betrachtet einfache Optionsstrategien und deren Implementierung in MQL5. Wir werden einen grundlegenden EA entwickeln, der modernisiert und komplexer gestaltet wird.
Eine alternative Log-datei mit der Verwendung der HTML und CSS Eine alternative Log-datei mit der Verwendung der HTML und CSS
In diesem Artikel werden wir eine sehr einfache, aber leistungsfähige Bibliothek zur Erstellung der HTML-Dateien schreiben, dabei lernen wir auch, wie man eine ihre Darstellung einstellen kann (nach seinem Geschmack) und sehen wir, wie man es leicht in seinem Expert Advisor oder Skript hinzufügen oder verwenden kann.
Wie wir die leistungsfähigste, KI-gestützte Handelsplattform entwickelt haben: Die Evolution von MQL und MetaTrader anhand von Archiven, Foren und Releases Wie wir die leistungsfähigste, KI-gestützte Handelsplattform entwickelt haben: Die Evolution von MQL und MetaTrader anhand von Archiven, Foren und Releases
Eine technische Geschichte der MQL-Entwicklung: von den begrenzten Sprachen MQL und MQL II über das prozedurale MQL4 bis hin zum objektorientierten MQL5 mit nativer Kompilierung, umfangreichen APIs und einer vollwertigen Entwicklungsumgebung. Wir zeigen hier die wichtigsten Fähigkeiten der Sprache und ihre Integrationen mit Python, OpenCL, ONNX, OpenBLAS, Datenbanken, DirectX, dem agentenbasierten KI-Assistenten und dem Model Context Protocol (MCP), das KI-Systeme mit dem Terminal, MetaEditor, Marktdaten, Handelsoperationen und Entwicklungstools verbindet. Dieser Artikel untersucht Archivmaterialien zu den Ursprüngen von MetaQuotes und MetaTrader, den Start von MQL4.COM und MQL5.COM, die Wettbewerbe, Algo Forge und deren Auswirkungen auf das Ökosystem.