Kursbewegungen: Mathematische Modelle und technische Analyse
Einführung
Als größter Finanzmarkt zieht der Devisenmarkt eine große Zahl von Händlern an, die von Wechselkursschwankungen profitieren wollen. Die Volatilität und Unvorhersehbarkeit der Märkte macht es jedoch sehr schwierig, die Kursentwicklung vorherzusagen. Daher ist die Entwicklung und Anwendung effektiver Prognosemodelle eine der wichtigsten Aufgaben eines Händlers.
Trotz der scheinbaren Zufälligkeit unterliegen die Kursbewegungen auf dem Devisenmarkt bestimmten Mustern. Eine wirksame Vorhersage bleibt jedoch eine schwierige Aufgabe. Mathematische Modelle, die auf statistischer Analyse beruhen, versuchen, diese Muster in historischen Daten zu erkennen und formale Algorithmen zu entwickeln, die in der Lage sind, Kursbewegungen vorherzusagen. Diese Modelle (die sich grob in „komplex“ und „sehr komplex“ einteilen lassen) ermöglichen es Ihnen, die Wahrscheinlichkeit verschiedener Szenarien zu bewerten und fundierte Handelsentscheidungen zu treffen.
Dagegen bietet die technische Analyse, die sich auf die grafische Analyse und die Verwendung von Indikatoren stützt, einen intuitiveren Ansatz für die Prognose. Händler studieren Kursdiagramme, identifizieren Unterstützungs- und Widerstandsniveaus und verwenden verschiedene Indikatoren, um Handelsentscheidungen zu treffen.
In diesem Artikel werden sowohl mathematische Modelle als auch Methoden der technischen Analyse zur Vorhersage von Kursentwicklungen untersucht. Wir werden uns verschiedene Ansätze, ihre Vor- und Nachteile ansehen und die Möglichkeiten ihrer Kombination zur Verbesserung der Effizienz von Handelsstrategien diskutieren. Wenn Sie verstehen, wie mathematische Modelle und technische Analysemethoden funktionieren, können Sie Ihre Handelseffizienz verbessern, das Risiko von Verlusten verringern und die Wahrscheinlichkeit erfolgreicher Geschäfte erhöhen.
Einfache Modelle
Schauen wir uns eine Handelsstrategie mit diesen Regeln an:
- Wenn eine neue Bar eröffnet wird, wird die zuvor eröffnete Position geschlossen und eine neue eröffnet;
- die Richtung der geöffneten Position wird zufällig festgelegt.
Sie werden sich vielleicht fragen: „Was gibt es denn hier Neues“? Neu ist, dass ich plötzlich ein Fan der Markteffizienzhypothese geworden bin. Wenn auch Sie ein Anhänger dieser Hypothese sind, dann werden auch Sie argumentieren, dass die Vorhersage von Kursbewegungen sinnlos ist. Die Kurse bewegen sich, wo und wie sie wollen. Der Markt verarbeitet offenbar vollständige Informationen, auf deren Grundlage sich die Kurse verändern. Der Händler verfügt nicht über solche Informationen und kann nur hoffen, dass seine Entscheidung mit der Marktrichtung übereinstimmt.
Lassen Sie uns diese Strategie ausprobieren. Der einzige konfigurierbare Parameter ist die Initialisierungsnummer des Zufallszahlengenerators. Durch Änderung dieses Parameters können wir die gewünschte Folge von Trades auswählen.

Wie Sie sehen können, gibt es in 800 Optimierungsdurchläufen nicht einmal einen Hauch von Rentabilität. Dieses Ergebnis kann auf den Einfluss des Spreads zurückzuführen sein. Aufgrund des Spreads kann die Differenz zwischen dem Eröffnungs- und dem Schlusskurs von Positionen sogar negativ sein. Um dies zu vermeiden, sollten wir vielleicht zu einem höheren Zeitrahmen wechseln. Ein solcher Übergang ist jedoch gleichbedeutend mit der längeren Haltedauer einer Position. Berücksichtigen wir die erzielten Ergebnisse und nehmen wir einige Anpassungen an der Handelsstrategie vor:
- die Positionsrichtung bleibt zufällig;
- die Positionshaltezeit wird von einem Händler festgelegt;
- eine neue Position wird eröffnet, wenn keine anderen Positionen offen sind;
- Positionen werden durch Stop-Orders geschlossen.
Ich habe Stop Loss und Take Profit aus diesem Artikel übernommen. Der zu optimierende Parameter bleibt derselbe. Offensichtlich haben sich die Änderungen positiv auf die Strategie ausgewirkt. Wir haben einige erfolgreiche Optionen.

Um die beste Initialisierungsnummer zu finden, können Sie im Allgemeinen das Sekretärinnenproblem verwenden. Wir haben N verschiedene Optionen. Dann kann die Anzahl der zu prüfenden Optionen mithilfe der folgenden Gleichung ermittelt werden:
![]()
In diesem Fall erhalten wir den folgenden Wert:
![]()
Wir merken uns die Option mit dem besten Ergebnis und prüfen die übrigen Möglichkeiten weiter. Wenn ein besseres Ergebnis als das gespeicherte erscheint, kann die weitere Suche abgebrochen werden. Mit sehr hoher Wahrscheinlichkeit haben wir die beste aller möglichen Optionen gefunden.
Der einzige Nachteil dieses Algorithmus ist, dass seine Implementierung sehr zeitaufwändig sein kann. Wenn Sie jedoch das Potenzial dieser Strategie voll ausschöpfen wollen, müssen Sie diesen Algorithmus verwenden. Ich habe einfach die beste Option nach 1000 Durchläufen gewählt. Die Ergebnisse sehen gut aus.

Bis jetzt haben wir die Art der zu eröffnenden Position zufällig gewählt. Was wäre, wenn es einige Muster in den Kursbewegungen gibt, die bei dieser Wahl helfen können? Versuchen wir es mit einer naiven Prognosemethode. Diese Prognose lässt sich wie folgt formulieren: Die Vergangenheit bestimmt die Zukunft. Es genügt ein Blick auf ein beliebiges Diagramm, um zu verstehen, dass diese Methode nicht funktioniert. Lassen Sie mich diese Prognosemethode ein wenig abändern: Der nächste Kurs entspricht dem aktuellen Kurs zuzüglich eines Fehlers:
![]()
Bei diesem Ansatz ist der Hauptfaktor, der die Prognose beeinflusst, nicht der Kurs, sondern der Fehler. Ich verwende den Begriff „Fehler“ wegen der Wahl des Prognosemodells. Er kann jedoch durch „Kursanstieg“ ersetzt werden. Der Begriff hat sich geändert, aber das Wesentliche ist gleich geblieben. Werfen wir einen Blick auf die Statistik dieser Kursinkremente.

Sieht aus wie Laplace-Verteilung. Bei der Untersuchung von Finanzzeitreihen versuchen viele Forscher, die erzielten Ergebnisse mit klassischen Verteilungen zu erklären. Dieser Ansatz ist sehr praktisch. Die Eigenschaften dieser Verteilungen sind bekannt, und die Modellierung von Zeitreihen anhand dieser Verteilungen ist nicht schwierig. Aber so einfach ist es nicht. Klassische Verteilungen sind mathematische Abstraktionen, die in der Realität fast nie vorkommen.
Die Verteilung der realen Kurswerte ist das, was für einen Trader wirklich wichtig ist. Solche Verteilungen werden als „empirisch“ bezeichnet. Sie ergeben sich aus Beobachtungen, nicht aus theoretischen Annahmen. Wir haben also eine empirische Verteilung der Kursinkremente. Verwerfen wir das untere und obere Drittel der Inkremente. Dann haben wir einen Kanal, den wir zur Vorhersage des zukünftigen Kurswertes verwenden können.

Beachten Sie, dass wir nur den aktuellen Kurs benötigen, um eine Prognose zu erstellen. Dieses Modell kann noch flexibler gestaltet werden. Um dies zu erreichen, müssen wir jedoch erhebliche Komplikationen in Kauf nehmen. Wenn Sie interessiert sind, schreiben Sie bitte in die Kommentare. Kommen wir nun zu komplexeren Modellen.
Linearer Trend
Alle Trader lieben Trends. Vor allem, wenn die Richtungen einer Position und eines Trends übereinstimmen. Ein linearer Trend wird durch eine einfache Gleichung definiert:
![]()
Diese Gleichung verwendet die Zeit als unabhängige Variable. MetaQuotes schlägt vor, die Zeit ab dem 1. Januar 1970 zu zählen. Was ist, wenn sie sich irren? Vielleicht hätten wir mit der Zeitzählung am 29. Februar beginnen sollen? Versuchen wir, diesen Mangel zu beheben und den genauesten Anfang der Zeit zu finden.
Die linearen Trendgleichungen für zwei aufeinanderfolgende Bars sehen wie folgt aus:
![]()
![]()
Nun bilden wir die Differenz dieser Gleichungen.
![]()
Wenn wir diese Gleichung vereinfachen, erhalten wir den folgenden Ausdruck:
![]()
Es ist bequemer, die Zeitdifferenz als die Anzahl der Bars zwischen den Kursen auszudrücken. Dann wird die Gleichung noch einfacher:
![]()
Bitte beachten Sie, dass einer der Trendparameter und die Zeit nicht mehr benötigt werden. Der Wert des nächsten Kurses ergibt sich aus der Addition des aktuellen Kurses und der Trendrate. Nach der Vereinfachung beginnen die Schwierigkeiten. Die Parameter des Trends lassen sich beispielsweise mit der Methode der kleinsten Quadrate bestimmen. Es kann aber auch ein anderer Ansatz verfolgt werden.
Gehen wir davon aus, dass wir die Trendrate bereits kennen. Wenn dann ein neuer Kurs auftaucht, passen wir die Trendrate nach der folgenden Regel an: Der Prognosefehler und die Veränderung der Trendrate sollten gegen Null tendieren. Diese Regel lässt sich auch anders formulieren: Die Trendrate sollte über einen längeren Zeitraum hinweg stabil sein. Die Gleichung sieht dann wie folgt aus:
![]()
Daraus ergibt sich die folgende Gleichung zur Berechnung des aktualisierten Wertes der Trendrate:
![]()
Um das Vorhandensein eines Trends zu erkennen, sollte eine gerichtete Kursbewegung über eine Reihe von Bars vorhanden sein. In diesem Fall erhalten wir mehrere Gleichungen der Form:
![]()
Kombiniert man diese Gleichungen zu einer, so wird die Geschwindigkeit des Trends im Verhältnis zum durchschnittlichen Kurswert gemessen, der mithilfe des SMA ermittelt werden kann. Und die Gleichung der Trendrate nimmt ihre endgültige Form an:
![]()
Der anhand dieser Gleichung erstellte Indikator sieht folgendermaßen aus:

Auf der Grundlage dieses Indikators kann eine einfache Handelsstrategie erstellt werden. Das Öffnen und Schließen von Positionen erfolgt, wenn sich das Vorzeichen der Indikatorwerte ändert.

Wir haben einige Ergebnisse erzielt, aber der Indikator selbst muss weiter untersucht und verfeinert werden. Die Veränderung der Trendrate kann auch einem eigenen Trend unterworfen sein. Und diese Trends müssen ebenfalls hervorgehoben werden. Die Summe solcher Trends (falls es sie wirklich gibt) könnte genauere Signale liefern.
Bewegung entlang des Kursverlaufs
Eines der interessanten Modelle ist mit dem Random Walk verwandt. Wenn die Kursbewegung zufällig ist, dann sind die vom Kurs zurückgelegte Strecke und die Zeit wie folgt aufeinander bezogen:
![]()
Gehen wir davon aus, dass wir einen beliebigen Zeitexponenten haben können. Mit anderen Worten, die Kursbewegung unterliegt dem folgenden Muster:
![]()
Schauen wir uns einen Algorithmus an, der zur Berechnung des Zeitexponenten und des Proportionalitätsverhältnisses verwendet werden kann. Zunächst müssen wir den N-Indikatorzeitraum festlegen. Bei der Zeit ist alles einfach – sie wird durch nichtnegative ganze Zahlen von 1 bis N definiert. Die zurückgelegte Strecke erfordert etwas mehr Aufwand. Die von einem Kurs zurückgelegte Strecke kann durch Addition der absoluten Werte der Differenzen zwischen zwei aufeinanderfolgenden Kursen berechnet werden:
![]()
In diesem Fall sollte die zurückgelegte Strecke von der Vergangenheit in die Zukunft berechnet werden, indem die neuen Werte mit den vorherigen addiert werden. Dann ergibt sich folgende Darstellung.
![]()
![]()
Nun müssen wir die erhaltenen Entfernungen normalisieren. Dazu müssen alle Werte durch die kleinste zurückgelegte Strecke R[N-1] geteilt werden.
![]()
Wir messen also nicht die reale Entfernung, sondern die relative. Es bleibt nur noch wenig zu tun – wir müssen den Logarithmus der erhaltenen Zahlen bilden. Außerdem sollten wir den Logarithmus sowohl der Wege als auch der Zeit nehmen.
![]()
![]()
Beachten Sie, dass die Logarithmen der ältesten Entfernungs- und Zeitwerte 0 sind. Sie wirken sich in keiner Weise auf weitere Berechnungen aus. Unter Berücksichtigung dieser Tatsache können der Exponent und das Proportionalitätsverhältnis anhand der Gleichungen ermittelt werden:
![]()
![]()
Schauen wir uns nun an, wie sich der Exponent im Laufe der Geschichte verändert hat.

Dieser Parameter kann zur Bewertung der Art der Kursbewegung verwendet werden. Liegt er nahe bei 0, deutet dies auf eine schwache Kursveränderung hin – ein Flat. Bei einem linearen Trend ist dieser Indikator gleich 1. Der Exponent variiert in einem sehr breiten Bereich von 0 bis etwa 2,5. Aus diesem Grund werden Indikatoren wichtig, die den jüngsten Kurswerten Vorrang einräumen. Zu diesen Indikatoren gehören die bekannten EMA und LWMA.
Wir werden versuchen, einen Indikator zu entwickeln, dessen Gewichte anhand von Polygonalzahlen (Figurative Numbers) bestimmt werden. L sei das Niveau einer Zahl. Dann kann die n-te Polygonzahl mithilfe der folgenden Gleichung berechnet werden:
![]()
Diese Zahlen dienen als Gewichte für den Indikator. Ein solcher Indikator reagiert schneller auf Kursänderungen als der LWMA. Aber sein „Gedächtnis“ ist länger als das des EMA, sodass er die Zeitreihen besser glättet.

Testen wir diesen Indikator anhand einer einfachen Strategie, die Signale erzeugt, wenn der Kurs die Indikatorlinie kreuzt.

Die Testergebnisse sind nicht beeindruckend. Es ist jedoch wichtig, daran zu denken, dass eine große Anzahl von Indikatoren auf der Grundlage von Polygonalzahlen gebildet werden kann, von denen jeder auf seinen eigenen Trend reagieren wird. Wenn die Signale der einzelnen Indikatoren getrennt verarbeitet werden, können die Ergebnisse angenehm überraschend sein.
Schlussfolgerung
In diesem Artikel haben wir verschiedene Ansätze zur Beschreibung und Vorhersage von Kursbewegungen auf dem Devisenmarkt untersucht. Selbst eine einfache Strategie, die auf einer zufälligen Auswahl der Positionsrichtung basiert, kann bei entsprechender Optimierung der Parameter, wie z. B. der Haltedauer der Position sowie der Stop-Loss- und Take-Profit-Werte, profitabel sein. Dies unterstreicht die Bedeutung des Risikomanagements und der Anpassung an die Marktbedingungen.
Die Vielfalt der Ansätze zur Vorhersage von Devisenkursbewegungen macht deutlich, wie wichtig es ist, je nach den spezifischen Marktbedingungen und den Zielen des Händlers das geeignete Modell zu wählen. Weitere Forschungs- und Entwicklungsarbeiten in diesem Bereich könnten zur Entwicklung noch effizienterer und zuverlässigerer Prognosemodelle führen, die es den Händlern ermöglichen, besser fundierte Entscheidungen zu treffen und ihre Rentabilität zu steigern.
Die folgenden Programme wurden bei der Erstellung dieses Artikels verwendet.
| Name | Typ | Einstellungen |
|---|---|---|
| EA Picky Bride | EA |
|
| Error | Skript |
|
| Price Increments | Indikator |
|
| Trend | Indikator |
|
| EA Trend | EA | |
| Wandering | Indikator |
|
| Figurative Numbers | Indikator |
|
| EA Figurative Numbers | EA |
Übersetzt aus dem Russischen von MetaQuotes Ltd.
Originalartikel: https://www.mql5.com/ru/articles/18086
Warnung: Alle Rechte sind von MetaQuotes Ltd. vorbehalten. Kopieren oder Vervielfältigen untersagt.
Dieser Artikel wurde von einem Nutzer der Website verfasst und gibt dessen persönliche Meinung wieder. MetaQuotes Ltd übernimmt keine Verantwortung für die Richtigkeit der dargestellten Informationen oder für Folgen, die sich aus der Anwendung der beschriebenen Lösungen, Strategien oder Empfehlungen ergeben.
Von der Grundstufe bis zur Mittelstufe: Struktur (VII)
Auf Markov-Ketten basierendes Matrix-Prognosemodell
Einsatz von Computer Vision im Handel mit MQL5 MQL5 (Teil 2): Erweiterung der Architektur auf die 2D-RGB-Bildanalyse
Von der CPU zur GPU in MQL5: Ein praktisches OpenCL-Framework zur Beschleunigung von Analysen, Optimierungen und Mustererkennung
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.