Trading-Attitude
Les meilleurs indicateurs techniques
-

Expert Advisor et overfitting : quand les algos dépendent trop des données mais pas celui-ci

Overfitting c’est quand un Expert Advisor est trop dépendants des données.  Tout trader a essayé de créer des algos de trading. Des robots, encore nommés Expert Advisor dans MetaTrader. Ces algorithmes sont backtestés sur des données historiques. Et on est content quand il est gagnant. En général, il est très difficile d’en trouver un qui marche tout le temps. Voyons comment la notion d’overfitting explique cela.

 

OVERFITTING

 

 

Difficile de trouver un Expert Advisor qui fonctionne

Comme tout trader j’ai essayé de trouver un EA efficace. Mais on déchante vite. Si un EA fonctionne :

  • Soit il accumule les moyennes à la baisse. Voir cet article.
  • Soit il ne fonctionne que sur une paire de devises, une action, ou sur une UT.
  • Soit il se contente de faire du swing trading sur une action qui monte de 1000%.

Et j’ajouterai : pendant un certain temps…

Dans le premier cas il perd tout d’un coup lorsque le marché change foncièrement.

Dans le second, souvent il y a peu de trades.

Dans le troisième il fait bien moins que du Buy & Hold.

 

Overfitting : quand les données collent à la peau

Le problème des EA c’est qu’ils sont testés sur un historique. Cet ensemble de données prix est limité en longueur. Et en diversité des situations.

Quand en plus on optimise les paramètres d’un algo on peut aboutir à de bons résultats…

Mais il est parfait pour cet historique de données.

Et risque de mal généraliser. C’est-à-dire mal prédire les bons trades sur de nouvelles données.

On parle de Overfitting : il mappe trop bien les données d’entraînement.

C’est une notion très utilisée en Machine Learning.

 

J’ai trouvé un algo qui fonctionne

Mais il ne fonctionne que sur une UT de 1H et sur la paire AUDUSD. J’ai fait des tests mais moins complets sur EURGBP où il semble fonctionner.

Pourquoi il semble fonctionner ?

  • Il est chaque fois gagnant.
  • Le drawdown est faible.
  • Il profite des longues tendances haussières et baissières.

Ce qui peut nuire à un EA c’est quand une tendance s’installe et lui fait perdre les pédales.

 

Faiblesses de cet EA

Du coup, ce robot de trading est sensible aux longues périodes de trading range.

 

Tests réalisés

J’ai testé de 2012 à 2018. En UT 1H. Les résultats sont médiocres mais encourageants.

AUD/USD

TesterGraphAUDUSD2ea-AUDUSD

Il y a un creux sur la gauche, mais sur une période de test plus courte, la forme est similaire à celle de la paire suivante.

Je l’ai testé sur de nouvelle données pendant plusieurs jours. Un mois environ. Il semble bien se comporter sur les nouvelles données.

 

EUR/GBP

TesterGraphEURGBP2

ea-EURGBP

On constate que si les drawdowns ne sont pas grands, le facteur de profit est très faible. Trop faible.

 

Les règles de trading

Quant aux règles… Tout d’abord je ne vous les divulgue pas. Ensuite, elles n’ont aucun sens en terme d’Analyse Technique. Elles sont purement trouvées par combinaisons de différentes règles afin d’optimiser un résultat.

C’est donc purement fortuit.

Le truc positif c’est que cet algo généralise bien. Et donc pas d’overfitting.

Quant à son fonctionnement de tout temps ? Rien ne peut le garantir.

 

Ce que l’on peut en conclure

Si les algos de trading en général font de l’overfitting celui-ci s’en sort bien.

On peut constater que son profit factor est trop faible. Et comme souvent, le nombre de trades est réduit.

De plus on ne comprends pas trop ses règles. Elles sont d’origine statistique.

Si l’on change la date de début de trade, les performances ne sont plus les mêmes. On peut aussi avoir un drawdown différent.

Tout cela fait que cet EA n’est pas intéressant. Bien qu’il en ait l’air.

 

 

 

Illustration : canva.com

Leave a reply

Your email address will not be published.

You may use these HTML tags and attributes:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

CommentLuv badge