Backtesting d'une stratégie

From FxCodeBaseWiki
(Redirected from Backtesting Strategy/fr)
Jump to: navigation, search

Présentation du backtesting

Le backtesting correspond à l'exécution d'une stratégie ou d'un signal sur des données historiques. Vous « faites comme si » les cours historiques avaient « actuellement » cours et voyez comment la stratégie aurait fonctionné dans ces conditions de marché. Pour réaliser un backtesting, vous devez choisir la stratégie à examiner et l'intervalle historique sur lequel tester votre stratégie. Il est généralement intéressant de backtester une stratégie sur une longue période, par exemple sur des mois et parfois même des années.

À titre d'exemple, vous trouverez ci-dessous, affichées sur un graphique 1 heure, les courbes de progression du capital et de solde de la stratégie MA_ADVISOR standard exécutée sur l'historique 2010 de la paire EUR/CHF (3,5 millions de ticks, 8 ticks par minute), appliquée sur une unité de temps 15 minutes, avec des paramètres MA courts/longs de 15/55, sans ordres stop ni limites. Vous pouvez voir tous les problèmes « classiques » des stratégies basées sur la moyenne mobile : elles ont tendance à bien fonctionner sur les marchés dont la tendance est bien marquée, mais pas sur les marchés calmes.

Backtest1.png

Le backtesting s'apparente au débogage d'une stratégie. Vous pouvez voir exactement les mêmes données (journal des ticks, statistiques, graphiques). La seule différence est que vous exécutez la stratégie sans débogage et ne voyez que le résultat final. Les fonctionnalités de débogage n'étant pas utilisées, le backtesting s'exécute aussi rapidement que la stratégie elle-même. Il faut moins d'une minute pour backtester une stratégie bien conçue sur toute une année.

Configuration du backtesting

Pour backtester une stratégie, utilisez la commande Check Performance/Backtest (Tools->Check Performance/Backtest) de Strategy Debugger. La liste des stratégies s'affiche. Veuillez noter qu'il est possible de backtester à la fois les stratégies des utilisateurs et standard. Une fois la stratégie sélectionnée, ses paramètres s'affichent.

La configuration du backtesting s'effectue de la même manière que la configuration des paramètres d'une session de débogage. Aussi veuillez lire intégralement l'article Débogage d'une stratégie pour obtenir des informations détaillées.

Quelques remarques :

  • Il est fortement recommandé d'utiliser des données 1 minute pour simuler le marché pendant le backtesting.
  • Le SDK ne contient pas les fichiers de données de cours de toute l'année. Marketscope ne peut en outre pas être utilisé pour enregistrer des données 1 minute sur plus d'une semaine. Pour obtenir les données de cours, vous pouvez consulter l'Archive des cours CodeBase ou télécharger les données via le SDK, à l'aide du gestionnaire de cotations.
  • N'oubliez pas d'autoriser le trading dans votre stratégie. La plupart des stratégies ne tradent que si vous les y autorisez de façon explicite.

Exécution du backtester

Le backtesting commence une fois que vous avez cliqué sur OK dans les paramètres de la stratégie. Le nombre de ticks simulés et le temps écoulé vous indiquent la progression de l'opération. Un historique annuel 1 minute produit entre 3,5 (semaine de trading de cinq jours) et 5 millions (semaine de trading de sept jours) de ticks. Sur un processeur 3 GHz, l'exécution d'une stratégie bien conçue doit durer 1 minute maximum. Le nombre de cœurs n'entre pas en ligne de compte. En effet, le backtester (à la différence de l'optimiseur de stratégie) n'utilise qu'un seul cœur. Si l'opération dure trop longtemps, vous pouvez arrêter le processus de backtesting et choisir une période plus courte.

Si vous êtes un développeur et que c'est votre stratégie qui prend trop de temps à s'exécuter en mode de backtesting, veuillez lire l'article Optimisation des stratégies ; il vous fournira des informations pour améliorer la performance de votre stratégie.

Résultat du backtesting

Une fois le backtesting terminé, les données suivantes s'affichent :

  • La durée du backtesting, le nombre de ticks simulés, la performance de la stratégie (ticks par seconde) (dans l'onglet Output)
  • Un journal complet des ticks du backtesting (dans l'onglet Streams)
  • La performance globale du trading (dans l'onglet Statistics)
  • Les résultats de la stratégie, affichés sous forme graphique (dans l'onglet Chart)

Pour savoir comment lire et utiliser les données affichées dans ces onglets, consultez l'article Débogage d'une stratégie.

Les onglets liés aux tables et à l'optimiseur sont vides.

Avertissement spécial concernant les rapports de backtesting

En matière de performance, les résultats hypothétiques ou simulés présentent certaines limites. À la différence d'un enregistrement de performance réel, les résultats simulés ne représentent pas le trading réel. De plus, étant donné que les trades n'ont pas été exécutés, il est possible que les résultats aient, le cas échéant, été sous- ou surcompensés pour tenir compte de l'incidence de certains facteurs du marché, tels que le manque de liquidité. En règle générale, les programmes de simulation de trading sont également soumis au fait qu'ils sont conçus avec du recul. Aucun commentaire n'indique qu'un compte dégagera ou est susceptible de dégager un profit ou des pertes similaires à ceux affichés.

Voir également

Optimisation des paramètres de stratégie avec SDK 2.0 (Instructions détaillées)

Cet article dans d'autres langues

Language: English  • español • français • русский • 中文 • 中文(繁體)‎