Mit der Methode der singulären Spektralanalyse lassen sich Trends extrahieren und Störgeräusche filtern. Durch die Anpassung der Indikatorparameter kann die Glätte des extrahierten Trends sowie der Schwellenwert für die Geräuschfilterung gesteuert werden.
Der Zeitrahmen der Handelsstrategie bestimmt die optimale Zerlegung der Daten in Trend-, niederfrequente und hochfrequente additive Komponenten, gefolgt von der Signalrekonstruktion. Im Gegensatz zu herkömmlichen Filtermethoden und gleitenden Durchschnitten zeigt der Indikator (glatter Trend) keine Phasenverzögerungen.
Der Trendindikator auf Basis der „Caterpillar“-Methode erweitert die Preisserie in additive Komponenten. Dies erfordert nicht, dass die Serie stationär ist, und man benötigt kein Trendmodell oder Informationen über das Vorhandensein von Periodenkomponenten und deren Perioden [1-4].
Die Möglichkeiten des entwickelten Indikators ermöglichen es, die Serie zu glätten, den Trend zu extrahieren und (durch Auswahl der Anpassungsparameter des Modells für die ursprüngliche Preissserie) den Beitrag der Oszillatoranteile auf einer kleineren Zeitskala zu berücksichtigen – also die „Rausch“-Schwankungen herauszufiltern.
Indikatorparameter
Die Hauptparameter sind:
- SegmentLength — Länge des „neueste Geschichte“-Fragments in der Preissserie.
- SegmentLag — Länge der Caterpillar. Wird im Bereich von 1/4 bis 1/2 der Fragmentlänge ausgewählt. Beeinflusst die Unterscheidbarkeit der Komponenten und die Glätte des Trends.
- EigMax — die Anzahl der Hauptkomponenten (Zerlegungsmodi). Definiert die Dimension des Signalsubraums und die Berücksichtigung der Schwankungen auf verschiedenen Skalen.
- EigNoiseFlag — Flag zur Berechnung der Anzahl der Hauptkomponenten, um zwischen einer „festen“ Anzahl von Modi und dem Wert des zulässigen Rauschens umzuschalten. Optionen = 0,1,2.
- EigNoiseLevel — zulässiger Rauschanteil in der gesamten „Schwankungsenergie“ der Serie, wenn EigNoiseFlag != 0. Überschreibt EigMax während der Berechnungen.
Optionen des EigNoiseFlag-Parameters:
- 0 - die Dimension des Signalraums ist fest: [1,EigMax] (EigNoiseLevel wird ignoriert. Wenn EigMax größer als zulässig ist, wird es auf den erlaubten Wert begrenzt).
- 1 — der Anteil eines einzelnen Moduswerts an der Gesamtsumme der Werte ist nicht geringer als der angegebene Fehler EigNoiseLevel. EigMax wird automatisch ausgewählt.
- 2 — Berücksichtigt die Modi mit dem Gesamtschatz, der nicht mehr als EigNoiseLevel von „eins“ (voll) abweicht. EigMax wird automatisch ausgewählt.
Typische Auswahl und Einfluss der Parameter:
- SegmentLength — Länge des Preisserienfragments am Ende der Datenhistorie. Es wird basierend auf der Stabilität der Historie und der mehr oder weniger gleichmäßigen Natur der Änderungen in den Daten oder der Strategieperiode ausgewählt.
- SegmentLag — setzt die Dimension für die „Filterbreite“ für einzelne Modi (invers proportional). Beeinflusst die Glätte und Anpassung des Trends an die Volatilität des Preisdiagramms.
- EigMax — setzt die Dimension des „Signale“ Subraums mit nützlichen Informationen. Setzt die „Rausch“-Schwelle.
- EigNoiseLevel — setzt den „Rausch“-Wert in der Gesamtstreuung der Serie. Sollte als Prozentsatz angegeben werden.
Implementierung
Die CCaterpillar-Klasse, die in der Datei CCaterpillar.mqh implementiert ist, enthält alles Notwendige zur Berechnung des Trends, außer den linearen Algebraverfahren (die ALGLIB-Bibliothek wird für die singuläre Zerlegung der Trajektorienmatrix verwendet). Der im Datei präsentierte Code enthält die Beschreibungen der Mitglieder und Prozeduren der Klasse.
Der Betrieb des Indikators erfordert die Dateien:
- 1) MQL5\Include\SSA\CCaterpillar.mqh
- 2) MQL5\Indicators\SingularMA.mq5
- Die ALGLIB-Bibliothek (Ich schließe mich vielen Menschen an, die Sergey Bochkanov für die Bereitstellung der wunderbaren ALGLIB-Bibliothek für numerische Methoden danken)
Besonderheiten der Nutzung
Es wird nicht empfohlen, ein Datenfragment von mehr als 300 Werten einzustellen, da dies eine hohe Rechenlast verursacht. Optimal ist die Verwendung von 150-200. Man kann immer zu einem anderen Zeitraum für die Diagrammberechnungen wechseln, um einen größeren Geschichtsintervall abzudecken.
Es ist ratsam, das „Caterpillar“-Fenster im Bereich von 1/3 bis 1/2 der Fragmentlänge zu ändern. Wenn das Fenster mehr als die Hälfte des Fragments überschreitet, ist dies aufgrund der Symmetrie der Trajektorie und der transponierten Matrix gleichwertig mit einem Segment der Länge, das symmetrisch zur Mitte des Fragments ist. Eine kleine Fensterlänge bietet keine qualitativ hochwertige Mittelung und Aufspaltung der Informationen in bestimmte Modi.
Wenn es im grafischen Interface der Preissserie zu einem langsamen Datenfluss kommt, können mögliche Lösungen sein: a) die Fragmentlänge verringern; b) den ReCalcLim-Parameter der Neuberechnung der Diskretheit in der OnCalculate-Funktion erhöhen.

Abb.1. Period von 5 Minuten. Zwei Trends SSA(120,50,4), SSA(50,20,7) und gleitender Durchschnitt MA(14)

Abb. 2. Period von 1 Stunde. Zwei Trends SSA(120,50,4), SSA(50,20,7) und gleitender Durchschnitt MA(14)

Abb. 3. Period von 1 Tag. Zwei Trends SSA(120,50,4), SSA(50,20,7) und gleitender Durchschnitt MA(14)
Die Verwendung der singulären Analyse zur Implementierung eines Trendindikators in dieser Form ist eine grundlegende Illustration. Eine weitverbreitete Nutzung der SSA-Methoden im Finanzsektor zur Analyse und Vorhersage von Zeitreihen wird in [5-7] beschrieben.
Literaturverzeichnis
- Elsner J.B., Tsonis A.A. Singuläre Spektralanalyse: Ein neues Werkzeug in der Zeitreihenanalyse. Plenum Press. New York, 1996. 164 S.
- D. L. Danilov und A. A. Zhiglyavskii Hauptkomponenten in Zeitreihen: Die Caterpillar-Methode. St. Petersburger Staatliche Universität, St. Petersburg, 1997 - 308 S.
- N. E. Golyandina Die „Caterpillar“-SSA-Methode: Analyse von Zeitreihen: Lernhilfe. St. Petersburg: 2004. - 76 S.
- Hauptkomponenten in Zeitreihen: Die Caterpillar-Methode, herausgegeben von D. L. Danilov, A. A. Zhigljavsky. St. Petersburg: Presskom, 1997. S. 308.
- Methode der «Caterpillar»-SSA — ARIMA — SIGARCH und ARSIMA — SIGARCH-Modell zur Analyse und Vorhersage der finanziellen und wirtschaftlichen Zeitreihen: Proceedings of the Second International Scientific Conference "Mathematische Methoden, Modelle und Informationstechnologie in der Wirtschaft", 4-6 Mai 2011, Chernivtsi. — S. 306—308.
- Kozhihova N.A., Shiryaev V.I. Zeitreihenprognose unter Verwendung chaotischer Komponenten. Bulletin der Süduralen Staatlichen Universität, Nr. 22, 2010, S. 22-25.
- A.M. Avdeenko Berater und Indikatoren auf Basis der SSA-Modelle und nichtlinearen Verallgemeinerungen // siehe arXiv:
Verwandte Beiträge
- iMFISignAlert: Das perfekte Signal-Tool für MetaTrader 5
- iStochKomposterAlert: Ein leistungsstarker Indikator für MetaTrader 5
- Ideal ZigZag: Der schnelle Indikator für MetaTrader 5
- Tägliche prozentuale Veränderung in MT5 – Indikator für MetaTrader 5
- Hull Moving Average: Ein unverzichtbarer Indikator für MetaTrader 5