Investor's wiki

Backtesting

Backtesting

Qu'est-ce que le backtesting ?

Le backtesting est la méthode générale pour voir dans quelle mesure une stratégie ou un modèle aurait fonctionné ex-post. Le backtesting évalue la viabilité d'une stratégie de trading en découvrant comment elle se déroulerait à l'aide de données historiques. Si le backtesting fonctionne, les traders et les analystes peuvent avoir la confiance nécessaire pour l'utiliser à l'avenir.

Comprendre le backtesting

Le backtesting permet à un trader de simuler une stratégie de trading en utilisant des données historiques pour générer des résultats et analyser le risque et la rentabilité avant de risquer un capital réel.

Un backtest bien mené qui donne des résultats positifs assure aux traders que la stratégie est fondamentalement saine et qu'elle est susceptible de générer des bénéfices lorsqu'elle est mise en œuvre dans la réalité. En revanche, un backtest bien mené qui donne des résultats sous-optimaux incitera les traders à modifier ou à rejeter la stratégie.

Les stratégies de trading particulièrement compliquées, telles que les stratégies mises en œuvre par des systèmes de trading automatisés, s'appuient fortement sur le backtesting pour prouver leur valeur, car elles sont trop obscures pour être évaluées autrement.

Tant qu'une idée de trading peut être quantifiée, elle peut être backtestée. Certains commerçants et investisseurs peuvent rechercher l'expertise d'un programmeur qualifié pour développer l'idée sous une forme testable. En général, cela implique qu'un programmeur code l'idée dans le langage propriétaire hébergé par la plate -forme de négociation.

Le programmeur peut incorporer des variables d'entrée définies par l'utilisateur qui permettent au commerçant de "modifier" le système. Un exemple de ceci serait dans le système de croisement de moyenne mobile simple (SMA). Le commerçant serait en mesure d'entrer (ou de modifier) les longueurs des deux moyennes mobiles utilisées dans le système. Le trader pourrait alors effectuer un backtest pour déterminer quelles longueurs de moyennes mobiles auraient le mieux fonctionné sur les données historiques.

Le scénario de backtesting idéal

Le backtest idéal choisit des données d'échantillon d'une période de temps pertinente d'une durée qui reflète une variété de conditions du marché. De cette façon, on peut mieux juger si les résultats du backtest représentent un coup de chance ou un bon trading.

échantillon véritablement représentatif d'actions, y compris celles d'entreprises qui ont finalement fait faillite ou ont été vendues ou liquidées. L'alternative, qui n'inclut que les données des actions historiques qui existent encore aujourd'hui, produira des rendements artificiellement élevés lors du backtesting.

Un backtest doit prendre en compte tous les coûts de trading, même insignifiants, car ils peuvent s'additionner au cours de la période de backtesting et affecter considérablement l'apparence de la rentabilité d'une stratégie. Les commerçants doivent s'assurer que leur logiciel de backtesting tient compte de ces coûts.

Les tests hors échantillon et les tests de performance avancés fournissent une confirmation supplémentaire de l'efficacité d'un système et peuvent montrer les vraies couleurs d'un système avant que de l'argent réel ne soit en jeu. Une forte corrélation entre les résultats des tests rétrospectifs, hors échantillon et des tests de performance avancés est essentielle pour déterminer la viabilité d'un système commercial.

Backtesting vs. Forward Performance Testing

Les tests de performance avancés, également connus sous le nom de paper trading,. fournissent aux traders un autre ensemble de données hors échantillon sur lesquelles évaluer un système. Les tests de performance vers l'avant sont une simulation du trading réel et impliquent de suivre la logique du système sur un marché réel. Il est également appelé trading papier puisque toutes les transactions sont exécutées uniquement sur papier ; c'est-à-dire que les entrées et les sorties de transactions sont documentées avec tout profit ou perte pour le système, mais aucune transaction réelle n'est exécutée.

Un aspect important des tests de performance avancés est de suivre exactement la logique du système ; sinon, il devient difficile, voire impossible, d'évaluer avec précision cette étape du procédé. Les commerçants doivent être honnêtes à propos de toutes les entrées et sorties de transactions et éviter les comportements tels que la sélection de transactions ou la non-inclusion d'une transaction sur papier justifiant que "je n'aurais jamais pris cette transaction". Si l'échange aurait eu lieu selon la logique du système, il devrait être documenté et évalué.

Backtesting vs analyse de scénario

Alors que le backtesting utilise des données historiques réelles pour tester l'adéquation ou le succès, l'analyse de scénarios utilise des données hypothétiques qui simulent divers résultats possibles. Par exemple, l'analyse de scénarios simulera des changements spécifiques dans les valeurs des titres du portefeuille ou des facteurs clés qui se produisent, comme un changement du taux d'intérêt.

L'analyse de scénarios est couramment utilisée pour estimer les variations de la valeur d'un portefeuille en réponse à un événement défavorable et peut être utilisée pour examiner un scénario théorique du pire cas.

Quelques pièges du backtesting

Pour que le backtesting fournisse des résultats significatifs, les traders doivent développer leurs stratégies et les tester de bonne foi, en évitant autant que possible les biais. Cela signifie que la stratégie doit être développée sans s'appuyer sur les données utilisées dans le backtesting.

C'est plus difficile qu'il n'y paraît. Les traders construisent généralement des stratégies basées sur des données historiques. Ils doivent être stricts sur les tests avec des ensembles de données différents de ceux sur lesquels ils forment leurs modèles. Sinon, le backtest produira des résultats éclatants qui ne signifient rien.

De même, les traders doivent éviter le dragage de données, dans lequel ils testent un large éventail de stratégies hypothétiques par rapport au même ensemble de données, ce qui produira également des succès qui échoueront sur les marchés en temps réel car il existe de nombreuses stratégies invalides qui battrait le marché sur un période de temps spécifique par hasard.

Une façon de compenser la tendance au dragage des données ou à la sélection de cerises est d'utiliser une stratégie qui réussit dans la période pertinente, ou dans l'échantillon, et de la tester avec des données d'une période différente ou hors échantillon. . Si les backtests dans l'échantillon et hors échantillon donnent des résultats similaires, alors ils sont plus susceptibles d'être prouvés valides.

Points forts

  • La thĂ©orie sous-jacente est que toute stratĂ©gie qui a bien fonctionnĂ© dans le passĂ© est susceptible de bien fonctionner Ă  l'avenir, et inversement, toute stratĂ©gie qui a mal fonctionnĂ© dans le passĂ© est susceptible de mal fonctionner Ă  l'avenir.

  • Le backtesting Ă©value la viabilitĂ© d'une stratĂ©gie de trading ou d'un modèle de tarification en dĂ©couvrant comment il se serait dĂ©roulĂ© rĂ©trospectivement Ă  l'aide de donnĂ©es historiques.

  • Lors du test d'une idĂ©e sur des donnĂ©es historiques, il est avantageux de rĂ©server une pĂ©riode de donnĂ©es historiques Ă  des fins de test. S'il rĂ©ussit, le tester sur des pĂ©riodes alternatives ou sur des donnĂ©es hors Ă©chantillon peut aider Ă  confirmer sa viabilitĂ© potentielle.