Une analyse des raisons pour lesquelles les Expert Advisors échouent
Introduction
Les Expert Advisors (EA) peuvent bien performer sur une période de plusieurs mois et même de quelques années, mais il y a toujours des périodes où les performances sont médiocres. Les EA montrent rarement un bénéfice stable sur une longue période de temps, par exemple dix ans. Si un EA a connu des périodes de performances médiocres, peut-on s'attendre à ce qu'il fonctionne bien à l'avenir ?
Dans cette analyse, deux questions sont posées : Quels changements peuvent se produire dans les données de séries chronologiques pouvant affecter fortement les performances de l'EA ? Existe-t-il un indicateur technique pouvant prédire quand un EA aura de mauvaises performances et quand il aura de bonnes performances ? Cet indicateur serait des plus précieux !
Déclenchement du croisement de moyenne mobiles
Pour étudier ces questions, des données sur les devises de 15 minutes sur une période de seize ans sont utilisées avec une stratégie de test, le Moving Average Crossover (Croisement de Moyennes Mobiles). Pour le déclenchement du croisement de moyenne mobile (MAC), un signal d'achat est généré lorsque la moyenne mobile simple (SMA) rapide croise la SMA lente et un signal de vente est généré lorsque la SMA rapide croise la SMA lente. La stratégie MAC devrait fournir un bon banc de test pour l'étude. Les paramètres d'entrée clés pour la stratégie MAC sont les périodes rapide et lente des SMA. La période SMA rapide est généralement entre 1 et 4 dans ces études. La période SMA lente est entre 10 à 150. Les deux sont supposées être fixes pendant la période de test.
La figure 1 montre le comportement du rendement des bénéfices du déclencheur Croisement SMA pour la paire de devises EURUSD de janvier 2006 à décembre 2021. Pour les périodes rapides et lentes optimisées des SMA de 2 et 80, l'EA a un rendement positif pour certains intervalles et un rendement négatif pour d'autres intervalles. La période de 01/2008 à 06/2013 a une croissance régulière des bénéfices. La figure 2 montre le comportement de rendement des bénéfices du déclenchement du Croisement des SMA pour la paire de devises GBPUSD pour le même intervalle pour les périodes SMA optimisées de 1 et 80. Le graphique du GBPUSD ne montre que de brèves périodes de performance positive des bénéfices.
Figure 1. Bénéfice du déclenchement du croisement EURUSD SMA (0,1 lot)
Figure 2. Bénéfice du déclenchement du croisement GBPUSD SMA (0,1 lot)
Compte tenu des comportements temporels illustrés dans les figures 1 et 2, nous pouvons examiner le comportement temporel des indicateurs techniques courants pour déterminer s'il existe une relation entre le comportement de l'indicateur et la période de profit du croisement des moyennes mobiles.
Comportement des indicateurs techniques traditionnels
Plusieurs indicateurs techniques standards peuvent être examinés pour voir si leur comportement est différent dans les régions temporelles de rendement positif périodes et négatif. La figure 3 montre l'Average True Range (ATR) mensuel sur une période de seize ans pour l'EURUSD. L'ATR fournit une mesure de la volatilité de la paire de devises. Il présente un comportement dépendant du temps, mais rien ne correspond au comportement de temps de profit de la figure 1. Fait intéressant, la figure 3 montre l'extrême volatilité autour de la crise économique de fin 2008 et à nouveau au début de 2020. Cela suggère également qu'il est imprudent d'utiliser des seuils absolus de variation de prix pour déclencher la logique et que la valeur ATR lissée devrait être prise en compte. Un autre indicateur technique courant est l’écart des Bandes de Bollinger supérieures et inférieures. Cet indicateur est influencé à la fois par la volatilité et la force de la tendance. Son comportement mensuel à long terme, comme le montre la figure 4, est étonnamment presque identique à l'indicateur ATR. Comme celui-ci, il n'a pas de comportement correspondant aux périodes avec des retours positifs et négatifs dans les données EURUSD de la figure 1. Des résultats similaires sont observés pour les données du GBPUSD. La volatilité à long terme ne tient pas compte du comportement observé dans les figures 1 et 2.
Figure 3. EURUSD ATR, Moyenne mensuelle
Figure 4. Écart des Bandes de Bollinger sur l’EURUSD, Moyenne mensuelle
Fonction d'autocorrélation comme indicateur
Contrairement à l’ATR et aux Bandes de Bollinger, la fonction d'autocorrélation (ACF) ne dépend pas de la volatilité. L'ACF est un outil très intéressant pour trouver des modèles dans les données de séries chronologiques. L'ACF mesure la corrélation des éléments d'une série temporelle avec des éléments de cette série retardés d'un certain délai. Lorsqu'une tendance est présente dans les données, l'ACF aura des valeurs positives pour de petits décalages. Dans cette analyse, l'élément Yi de la série chronologique est défini comme le (Cours de clôture - Prix d'ouverture) de la barre i.
Pour une série temporelle de N éléments : Yi , i =1...N. L'ACF est défini comme :
La fonction d'autocorrélation d'une série de données de prix est très différente de l'autocorrélation d'une série de données de variation de prix barre à barre. Par exemple, pour une série de nombres {1,2,3..14}, l'ACF est de 0,786. Pour une série de différences entre des éléments consécutifs de ce tableau, l'ACF sera proche de zéro (en supposant un peu de bruit dans les valeurs pour éviter une division par zéro).
Le calcul de l'ACF est implémenté dans le code suivant :
double GetAtCorrVal(double &ClsOpn[],int CorrPer, int LagPer,int joff ) { double corr; double AIn[],BIn[]; double XMean,XNum,XDen; int jj; ArrayResize(AIn,CorrPer); ArrayResize(BIn,CorrPer); XMean = 0.; XNum = 0.; XDen = 0.; corr = 0.; if(CorrPer<2) { Print("No AutoCorr Processing Allowed "); return(corr); } // mean for(jj=0;jj<CorrPer;jj++) { XMean +=ClsOpn[jj+joff]; } XMean = XMean/CorrPer; // variances for(jj=0;jj<CorrPer;jj++) { if(jj<(CorrPer-LagPer)) XNum += (ClsOpn[jj+joff]-XMean)*(ClsOpn[jj+LagPer+joff]-XMean); XDen += (ClsOpn[jj+joff]-XMean)*(ClsOpn[jj+joff]-XMean); } if(XDen==0.) { corr = 0.; } else corr = XNum/XDen; return(corr); } //----------------------------------------------------------------
La figure 5 montre la moyenne mensuelle de l'ACF sur une période de seize ans pour les données EURUSD avec une période de lissage de six mois. La figure 1 montre une performance rentable entre 2008 et la fin de 2012. La figure 5 montre également une valeur ACF légèrement plus élevée dans cette période, suggérant une relation possible entre la performance de profit de la stratégie MAC et la valeur de l'ACF.
Figure 5. Fonction d'autocorrélation EURUSD Moyenne mensuelle
Pour les données GBUUSD illustrées à la figure 6, un faible lien peut être observé entre la performance des bénéfices (illustrée à la figure 2) et la valeur ACF.
Figure 6. Fonction d'autocorrélation GBPUSD Moyenne mensuelle
La fonction d'autocorrélation peut être utilisée comme indicateur (AutoCorr.mq5), mais comme le montre la figure 7, ce n'est pas un bon indicateur d'identification de tendance.
Figure 7. Indicateur ACF, décalage = 1
Comportement de l’ACF dans le temps et stratégie de croisement SMA
Plus d'informations peuvent être trouvées en regardant le comportement temporel de l'ACF juste avant le point de croisement des SMA (Trigger ACF). Mais aussi, juste après le point de croisement, pendant que la position est encore ouverte (Trade ACF). Les deux types d'ACF, Trade ACF et Trigger ACF ont des propriétés différentes. Les figures 8 et 9 montrent le Trade ACF calculé pour les données EURUSD et GBPUSD. À l'aide du testeur de stratégie, la valeur de l’ACF peut être tracée séparément pour les transactions à profit et pour les transactions à perte en fonction du temps. Les deux graphiques montrent une séparation dans le temps de l'ACF entre les transactions de profit et de perte. La période rentable de 01/2008 à 06/2013 de la figure 1 (EURUSD) correspond à peu près à une période de la figure 8 où la séparation de l'ACF est également importante. À partir de 01/2018, il y a peu de séparation entre les valeurs ACF pour les trades gagnants et perdants. Dans la figure 1, cela correspond à une période plate dans les rendements des bénéfices.
Figure 8. Autocorrélation des trades pour l’EURUSD pour les croisements de SMA
Figure 9. Autocorrélation des trades pour GBPUSD pour les croisements de SMA
Les figures 10 et 11 montrent le Trigger ACF pour les données de l’EURUSD et du GBPUSD. Le but de ces deux graphiques est de déterminer si la valeur Trigger ACF peut être utilisée comme filtre dans un Expert Advisor pour améliorer la rentabilité de la stratégie Croisements des SMA. Par rapport aux données de Trade ACF, les données ACF de déclenchement montrent moins de séparation entre les rendements positifs et négatifs. Sa valeur en est donc affaiblie en tant que filtre de déclenchement. Cependant, la valeur ACF est plate dans le temps, ce qui indique qu'un seuil fixe pour l'ACF pourrait être utilisé comme filtre de déclenchement. Les courbes profits/pertes rebondissent largement les unes sur les autres, ce qui signifie qu'il y a des périodes où les transactions ne seraient pas rentables.
Figure 10. Autocorrélation des déclenchements pour l’EURUSD pour les déclenchements des croisements de SMA
Figure 11. Autocorrélation des déclenchements pour le GBPUSD pour les déclenchement des croisements de SMA
Filtre ACF pour le déclenchement du croisement des SMA
Malgré les petites différences de l’ACF entre les transactions avec des rendements positifs et négatifs (Figures 10 et 11), si une exigence de seuil d'autocorrélation est ajoutée au déclencheur SMA Crossover, la performance de rendement de l’Expert Advisor est bien améliorée pendant les périodes où les performances de profit sont médiocres. Les figures 12 et 13 montrent le rendement des profits de l'EA avec un filtre ACF supplémentaire pour les données EURUSD et GBPUSD. La durée totale de seize ans est utilisée. En comparant les figures 1 et 2 aux figures 12 et 13 respectivement, les performances de rendement pour les données EURUSD et GBPUSD sont grandement améliorées lorsqu'une exigence de seuil d'autocorrélation est appliquée.
Figure 12. Déclenchement du croisement EURUSD avec filtre ACF
Figure 13. Déclenchement du croisement GBPUSD avec filtre ACF
La figure 14 montre les résultats de performance du testeur de stratégie. Une amélioration significative est observée pour les données sur l’EURUSD et le GBPUSD. Dans les deux cas, le profit total augmente d'environ 50 % lorsque le filtre ACF est activé, et le profit par transaction (PO) est également grandement amélioré.
Type de déclenchement | # Trades | Profit en $ (0,1 lot) | Profit / Perte (PF) | Profit / Trade (PO) |
Croisement EURUSD SMA | 3160 | 5830 | 1,10 | 1,85 |
Croisement EURUSD SMA + ACF | 1548 | 8511 | 1,33 | 5,50 |
Croisement GBPUSD SMA | 3672 | 5352 | 1,07 | 1,46 |
Croisement GBPUSD SMA + ACF | 3096 | 8317 | 1,13 | 2,69 |
Figure 14. Tableau des performances de test pour les données de l’EURUSD et du GBPUSD
Lien entre ACF et la période lente de la SMA pour la stratégie de croisement SMA
Il est également intéressant d'examiner la dépendance de la fonction d'autocorrélation moyenne sur le choix de la période lente de la SMA pour les transactions gagnantes et perdantes. Ceci est illustré pour les données de l’EURUSD M15 dans la figure 15. Aucun seuil de corrélation n'est utilisé dans le cadre de la stratégie d'ouverture de trades. Sans tenir compte de la valeur ACF, la période lente optimale pour la stratégie Croisement SMA a été déterminée à 80. La figure 15 montre que le plus grand écart de la valeur ACF moyenne, entre les transactions gagnantes et perdantes, se produit pour les périodes lentes entre 65 et 80. Une analyse plus approfondie peut conduire à l'utilisation des informations de l’ACF pour déterminer la période lente optimale en fonction de la valeur d'autocorrélation mesurée au moment de l'ouverture de la transaction.
Figure 15. ACF Moyen vs. Période lente de la SMA pour EURUSD
Conclusion
La fonction d'autocorrélation est un indicateur précieux pour améliorer les performances de l'Expert Advisor. Il améliore les performances du déclencheur de test en filtrant les périodes où les performances sont médiocres.
En général, les coefficients de corrélation, y compris la fonction d'autocorrélation, constituent un domaine de recherche fructueux pour améliorer l'efficacité du trading. Ils sont immunisés contre les effets de la volatilité et sont sensibles aux modèles de prix, y compris la formation et l'inversion des tendances.
Traduit de l’anglais par MetaQuotes Ltd.
Article original : https://www.mql5.com/en/articles/3299
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Vous acceptez la politique du site Web et les conditions d'utilisation