Dans le domaine du trading, extraire les tendances tout en filtrant les bruits est crucial. L'analyse spectrale singulière (SSA) est une méthode efficace pour atteindre cet objectif. En ajustant les paramètres de l'indicateur, vous pouvez contrôler la douceur de la tendance extraite et le seuil de filtrage du bruit.
Le cadre temporel de votre stratégie de trading détermine comment vous allez segmenter les données en composantes de tendance, de basse fréquence et de haute fréquence. Contrairement aux méthodes de filtrage classiques, l'indicateur de tendance (tendance lissée) ne présente pas de délais de phase.
L'indicateur, basé sur la méthode « Chenille », décompose la série de prix en composantes additives. Il n'est pas nécessaire que la série soit stationnaire, ni même d'avoir des informations sur le modèle de tendance ou la présence de composants périodiques.
Les capacités de cet indicateur permettent de lisser la série, d'extraire la tendance et, en ajustant les paramètres du modèle par rapport à la série de prix initiale, de tenir compte de la contribution des oscillateurs sur une échelle de temps plus petite, permettant ainsi de filtrer les fluctuations de « bruit ».
Paramètres de l'indicateur
Les principaux paramètres sont :
- SegmentLength — longueur du fragment d'historique le plus récent dans la série de prix.
- SegmentLag — longueur de la chenille. À choisir entre 1/4 et 1/2 de la longueur du fragment. Cela affecte la discriminabilité des composantes et la douceur de la tendance.
- EigMax — nombre de composantes principales (modes de découpage). Définit la dimension de l'espace des signaux et prend en compte les fluctuations à différentes échelles.
- EigNoiseFlag — indicateur pour le calcul du nombre de composantes principales, permettant de passer entre un nombre « fixe » de modes et la valeur de bruit autorisée. Options = 0,1,2.
- EigNoiseLevel — pourcentage de bruit autorisé dans l'énergie globale des fluctuations de la série, si EigNoiseFlag != 0. Ce paramètre prévaut sur le EigMax lors des calculs.
Options du paramètre entier EigNoiseFlag :
- 0 - la dimension de l'espace des signaux est fixe : [1,EigMax] ( EigNoiseLevel est ignoré. Si EigMax dépasse la valeur autorisée, elle est limitée à celle-ci).
- 1 — la part d'une valeur de mode individuelle par rapport à la somme totale de valeurs n'est pas inférieure à l'erreur spécifiée EigNoiseLevel. EigMax est sélectionné automatiquement.
- 2 — considère les modes dont la part totale diffère de « un » (complet) de pas plus de EigNoiseLevel. EigMax est sélectionné automatiquement.
Sélection typique et impact des paramètres :
- SegmentLength — longueur du fragment de la série de prix à la fin de l'historique de données. À choisir en fonction de la stabilité de l'historique et de la nature plus ou moins uniforme des variations de données ou de la période de stratégie.
- SegmentLag — définit la dimension de la « largeur de filtre » pour les modes individuels (proportionnellement inverse). Cela affecte la douceur et l'ajustement de la tendance à la volatilité du graphique des prix.
- EigMax — fixe la dimension de l'espace « signal » contenant des informations utiles. Définit le seuil de « bruit ».
- EigNoiseLevel — fixe la valeur de « bruit » dans la dispersion totale de la série. Doit être spécifié en tant que pourcentage.
Implémentation
La classe CCaterpillar, implémentée dans le fichier CCaterpillar.mqh, contient tout le nécessaire pour le calcul de la tendance, à l'exception des procédures d'algèbre linéaire (la bibliothèque ALGLIB est utilisée pour la découpe singulière de la matrice de trajectoire). Le code présent dans le fichier inclut les descriptions des membres et des procédures de la classe.
Le fonctionnement de l'indicateur nécessite les fichiers :
- 1) MQL5\Include\SSA\CCaterpillar.mqh
- 2) MQL5\Indicators\SingularMA.mq5
- La bibliothèque ALGLIB (je rejoins de nombreuses personnes qui remercient Sergey Bochkanov pour avoir fourni cette merveilleuse bibliothèque de méthodes numériques)
Particularités d'utilisation
Il est déconseillé de choisir un fragment de données supérieur à 300 valeurs en raison de la charge de calcul élevée. Il est optimal d'utiliser entre 150 et 200 valeurs. Vous pouvez toujours passer à une autre période de calcul sur le graphique pour couvrir un intervalle historique plus large.
Il est conseillé de modifier la fenêtre de la « chenille » dans la plage de 1/3 à 1/2 de la longueur du fragment. Si la fenêtre dépasse la moitié du fragment, en raison de la symétrie de la trajectoire et de la matrice transposée, cela équivaut à un segment de longueur symétrique par rapport au milieu du fragment. Une petite longueur de fenêtre ne permet pas un lissage qualitatif et une séparation des informations par modes spécifiques.
Si des données s'affichent lentement dans l'interface graphique de la série de prix, les solutions possibles peuvent être : a) réduire la longueur du fragment ; b) augmenter le paramètre ReCalcLim de la discrétion de recalcul dans la fonction OnCalculate.

Fig. 1. Période de 5 minutes. Deux tendances SSA(120,50,4), SSA(50,20,7) et moyenne mobile MA(14)

Fig. 2. Période de 1 heure. Deux tendances SSA(120,50,4), SSA(50,20,7) et moyenne mobile MA(14)

Fig. 3. Période de 1 jour. Deux tendances SSA(120,50,4), SSA(50,20,7) et moyenne mobile MA(14)
Utiliser l'analyse singulière pour mettre en œuvre un indicateur de tendance de cette manière est une illustration basique. L'utilisation répandue des méthodes SSA dans le secteur financier pour l'analyse et la prévision des séries temporelles est bien documentée.
Références
- Elsner J.B., Tsonis A.A. Analyse Spectrale Singulière : Un nouvel outil dans l'analyse des séries temporelles. Plenum Press. New York, 1996. 164 p.
- D. L. Danilov et A. A. Zhiglyavskii Composantes Principales dans les Séries Temporelles : la méthode Chenille. Université d'État de Saint-Pétersbourg, Saint-Pétersbourg, 1997 -308 p.
- N. E. Golyandina La méthode « Chenille »-SSA : analyse des séries temporelles : Guide d'étude. Saint-Pétersbourg : 2004. - 76 p.
- Composantes Principales dans les Séries Temporelles : la méthode Chenille, éditée par D. L. Danilov, A. A. Zhigljavsky. Saint-Pétersbourg : Presskom, 1997. P. 308.
- Méthode de « Chenille »-SSA — ARIMA — SIGARCH et ARSIMA — SIGARCH modèle pour l'analyse et la prévision des séries temporelles financières et économiques : Actes de la Deuxième Conférence Scientifique Internationale "Méthodes mathématiques, modèles et technologie de l'information en économie", 4-6 mai 2011, Chernivtsi. — P. 306—308.
- Kozhihova N.A., Shiryaev V.I. Prévision des séries temporelles en utilisant des composantes chaotiques. Bulletin de l'Université d'État du Sud Oural, n° 22, 2010, P. 22-25.
- A.M. Avdeenko Conseillers et indicateurs basés sur les modèles SSA et généralisations non-linéaires // voir. arXiv:
Articles connexes
- Découvrez le 3ème Génération XMA : L'indicateur essentiel pour MetaTrader 5
- Découvrez l'indicateur Tymen STARC Bands MTF pour MetaTrader 5
- WKBIBS : L'oscillateur incontournable pour MetaTrader 5
- Découvrez l'indicateur 3 en 1 Stochastic pour MetaTrader 5
- Découvrez l'Indicateur Donchian Ultimate pour MT5 : Un Outil Indispensable pour les Traders