Qu'est ce qu' un Backtest ?

Un backtest est un processus, en général automatisé, par lequel un trader peut estimer comment une stratégie donnée se serait comportée dans le passé. C'est une simulation de trading sur des données passées.

Conditions de backtest

Comme dans toute simulation, le backtest sera d'autant plus utile qu'il sera réaliste.

Pour cela les conditions ci-dessous devront idéalement être remplies:

  • Les données historiques doivent être fournies avec un intervalle de temps entre chaque donnée le plus réduit possible (idéalement chaque tick)
  • Le cout des transactions doit être pris en compte: spread, commissions, swap si les positions sont gardées plusieurs jours…
  • L'exécution des ordres doit être le plus réaliste possible (slippage, requote)
  • La stratégie se base uniquement sur les données passées et n'utilise pas les données dans le futur
  • Le backtest est réalisé sur différentes phases de marché incluant le maximum de configurations possibles (tendance haussière, tendance baissière, consolidation)

Cas de MT4

  • Les données historiques sont en général fournies chaque minute (open, close, high, low). La valeur des ticks est seulement évaluée par l'outil de backtest. Comme les données en tick sont seulement estimées il faut privilégier les données purement historiques et travailler par exemple en prenant en compte uniquement la valeur du close à chaque minute.
  • L'outil de backtest prend en compte le swap et le spread. En général les brokers MT4 n'ajoutent pas de commission donc le coût est relativement réaliste. La raison du «relativement» vient de la façon dont le spread et le swap sont pris en compte. Les valeurs historiques du spread et du swap ne sont pas conservées et les valeurs prises en compte sont les valeurs courantes. Cela à l'intérêt de pouvoir utiliser les mêmes données historiques pour différents brokers qui peuvent avoir des valeurs différentes pour le spread et le swap. Néanmoins ceci a aussi l'inconvénient de ne pas avoir des données réalistes dans certains cas spéciaux, en particulier l'augmentation importante du spread lors de l'annonce de nouvelles économiques. L'influence que cela a sur le résultat final dépend de la stratégie utilisée mais cela doit être gardé en mémoire lorsqu'on effectue un backtest.
  • Lors d'un backtest il n'y a pas de slippage et de requote.

Résultat d'un backtest

Voir notre avis sur le test du broker AvaTrade qui propose la plateforme MT4

Deux types de résultats sont attendus d'un backtest. Les résultats détaillés permettant d'analyser les ordres passés et ainsi de vérifier que l'implémentation de la stratégie était correcte et le résumé qui permet d'analyser la stratégie globalement.

Les résultats détaillés sont en général une simple liste d'ordres avec pour chacun d'eux :

  • la date, l'heure et le prix d'ouverture de l'ordre
  • la date, l'heure et le prix de fermeture de l'ordre
  • les autres coûts associés au passage de l'ordre
  • Le résultat final pour cet ordre.

Le résumé est en général plus complexe et offre des informations de synthèse telles que:

  • Le solde final à la fin de la période de backtest
  • Les totaux cumulés des gains et des pertes
  • Le nombre total d'ordres et le pourcentage d'ordres gagnants (idem en séparant les ordres d'achats et de vente)
  • Le facteur de profit
  • La croissance annualisée du compte
  • La chute maximale au cours du test en valeur absolue et en pourcentage

Interprétation des résultats

Le réflexe des traders novices est de considérer en priorité le solde du compte en valeur brute à la fin du test. Cependant ceci n'est souvent pas la valeur la plus intéressante à prendre en compte. Deux autres données au moins fournissent des informations plus importantes pour le fonctionnement de la stratégie en réel:

  • La chute maximale
  • Le facteur de profit (profit brut / perte brute)

La chute maximale est une information critique car en général un trader ne peut pas tolérer une chute supérieure à un certain pourcentage du compte sans remettre en cause totalement la stratégie. Selon le trader cela pourra être 10, 20, 30%... Mais c'est principalement ce paramètre qui définira le levier à appliquer et la taille des lots pour les ordres. C'est pour cela que le profit seul ne fourni pas d'information suffisante et qu'il vaut mieux comparer le profit pour une valeur de la chute maximale donnée.

Le facteur de profit est un ratio et donc est plus intéressant que des valeurs absolues. Il est clair que plus ce ratio est haut plus la stratégie est performante. Un haut facteur de profit montre que la stratégie est capable de déterminer efficacement les trades ayant un bon potentiel.

Risques inhérents au backtest

Ce n'est pas parce qu'une stratégie a fonctionné dans le passé qu'elle continuera de fonctionner dans le futur. Souvent de bons résultats peuvent être le fait de l'utilisation d'une quantité de données insuffisante ou tout simplement de la chance. Il est donc important de tester sur des périodes différentes et dans différentes configuration de marché.

La sur-optimisation de la stratégie par rapport aux données est aussi un des facteurs les plus importants de la création de backtests non réalistes. Avec les ordinateurs de plus en plus puissants, il devient très facile de tester la stratégie avec un grand nombre de combinaisons de paramètres et de sélectionner la combinaison la plus performante. Cette approche a le défaut de se focaliser sur l'optimisation du passé ce qui en général donne des résultats décevants pour le futur. Il est important de sélectionner un ensemble de paramètres robustes et pour se faire de tester la stratégie sur différentes périodes en vérifiant que le comportement séparément sur chaque période est similaire.

Le codage de la stratégie est aussi une source d'erreurs et donc de backtests pouvant montrer des résultats faramineux. C'est souvent un souci que l'on trouve avec MetaTrader pour des EAs ayant 2 caractéristiques: stratégie de scalp et codage basé sur le tick en cours. Comme mentionné plus haut, le tick en cours est seulement une valeur estimée sauf pour les open et close de chaque minute (si vous avez les données historiques correspondantes bien sur). L'influence de cette estimation est d'autant plus forte que la stratégie se base sur des mouvements de faible amplitude. Si on prend comme exemple un cas extrême et en faisant abstraction du spread pour simplifier:

La bougie 1 minute a les valeurs suivantes open 1.0000, close 1.0001, high 1.0003, low 0,9998. Vous passer un ordre achat à l'ouverture de la bougie à 1.0000 avec un stop loss et un take profit de 1 pip. Il est impossible de savoir quelle valeur a été vraiment atteinte la première. L'outil de backtest estime le possible mouvement à l'intérieur de la bougie mais il n'est pas du tout garanti que cela se soit passé ainsi dans la réalité. Les stratégies se basant sur des mouvements très faibles du marché sont beaucoup plus difficiles à backtester car elles sont beaucoup plus influencées par l'ordre d'arrivé des ticks ainsi que par la valeur du spread. Pour ce type de stratégies l'utilisation de données au niveau tick et d'un historique du spread sont nécessaires.

Si le résultat du backtest est trop beau pour y croire, c'est probablement dû à un des problèmes mentionnés ci-dessus.

Conclusion

Le backtest est un des aspects les plus importants du développement d'une stratégie de trading. Utilisé de façon appropriée il peut aider les traders à améliorer leurs stratégies et aussi éliminer rapidement des stratégies n'offrant pas de bonnes perspectives. Il faut cependant éviter les écueils de la sur-optimisation et des tests sur des périodes non représentatives et traiter les résultats des backtests comme aide indicative et non pas comme une vérité absolue.

Plus d'information sur le même thème

Photo of Arnaud Jeulin

Arnaud Jeulin Responsable de la publication, Trader

Après un diplôme d'ingénieur, Arnaud a commencé une carrière de développeur. Il a travaillé avec des traders et des services de back office pour mettre en place des prototypes et des outils de trading. Il a ensuite créé sa propre entreprise en 2003.

Il a été responsable du webmarketing pour la Banque en ligne Suisse Synthesis, depuis rachetée par Saxo Bank. Il a aussi fait des audits pour différents brokers et participé à plusieurs salons professionnels pour les courtiers à Londres, Paris et Chypre.

Depuis 21 ans Arnaud a approfondi sa connaissance des brokers et des marchés, il utilise son expérience pour améliorer Mataf afin d'éviter d'orienter les visiteurs vers des brokers malhonnêtes ou des stratégies de trading dangeureuses.

Vous pouvez le joindre via les réseaux sociaux suivants ou par email :

.
  Se connecter