Tests de robustesse et analyse

L'adaptation de la stratégie aux données historiques sur lesquelles elle a été construite est le plus grand danger des stratégies générées à l'aide d'un processus d'apprentissage automatique.
Après avoir élaboré une nouvelle stratégie, vous devez vous assurer qu'elle est solide, ce qui augmente la probabilité qu'elle fonctionne également à l'avenir.

Qu'est-ce que la robustesse ?
Il s'agit simplement de la propriété de la stratégie d'être capable de faire face à des conditions changeantes.
- Tout d'abord, la stratégie doit fonctionner sur des données inconnues (si les caractéristiques du marché n'ont pas changé) avec ou sans réoptimisation périodique des paramètres.
- Il ne devrait pas se désagréger si certaines transactions sont manquées.
- La stratégie robuste ne doit pas être trop sensible aux paramètres d'entrée - elle doit fonctionner même si vous modifiez légèrement les valeurs des paramètres d'entrée, tels que la période de l'indicateur ou une certaine constante.

Comment tester la robustesse des stratégies

1. Utiliser les périodes d'échantillonnage et de non-échantillonnage

le test de robustesse le plus élémentaire consiste à tester la stratégie sur des données hors échantillon. Si vous exécutez l'évolution génétique, la stratégie n'évolue que sur la partie des données de l'échantillon. La partie hors échantillon est "inconnue" de la stratégie et peut donc être utilisée pour déterminer si la stratégie fonctionne également sur une partie inconnue des données.

La partie bleue de chaque graphique représente les données hors échantillon (inconnues). Nous pouvons voir que la stratégie de gauche est également performante sur cette partie, tandis que la stratégie de droite échoue sur les données inconnues - il est presque certain qu'elles s'ajustent à la courbe.

2. Tester la stratégie sur plusieurs symboles et/ou périodes

Le deuxième test de robustesse est très important : il s'agit de tester la même stratégie sur un ou plusieurs symboles différents et/ou sur une ou plusieurs périodes différentes. Une stratégie robuste devrait idéalement fonctionner sur plusieurs symboles/horaires.

En réalité, comme chaque marché a ses propres caractéristiques, sa volatilité quotidienne, etc., il ne sera pas facile de trouver une stratégie qui ait la même performance parfaite sur plusieurs symboles en utilisant un seul ensemble de paramètres.
Nous pouvons être satisfaits si la stratégie fonctionne sur d'autres marchés avec au moins un certain degré de rentabilité, ou si elle est légèrement perdante.

StrategyQuant vous permet de spécifier des symboles supplémentaires pour construire/tester les stratégies dans la section Données supplémentaires. Vous pouvez même tester la stratégie sur le même symbole avec un horizon temporel différent.


(cliquez sur l'image pour l'agrandir)

Dans les deux graphiques ci-dessus, vous pouvez voir le test de la stratégie sur EURUSD (ligne verte), GBPUSD (ligne cyan) et le portefeuille des deux (ligne bleue).
Alors que sur le graphique de gauche, la stratégie est performante sur les deux devises, sur le graphique de droite, vous pouvez voir que la performance sur le GBPUSD est mauvaise. Cette stratégie n'est probablement pas assez robuste.

3. Utiliser l'outil Robustness Tests dans StrategyQuant

StrategyQuant vous permet d'activer les tests de robustesse. L'outil Robustness Tests teste simplement la stratégie de manière répétée avec différents changements aléatoires dans les paramètres d'entrée et les données en effectuant une simulation Monte Carlo.

L'idée sous-jacente à ce test de robustesse est de vérifier la performance de la stratégie en cas de légères modifications des données d'entrée, des données historiques ou d'autres éléments de la stratégie.

Vous pouvez simuler différentes propriétés :

- Ordre aléatoire des transactions - Il s'agit du test le plus simple, qui consiste à modifier de manière aléatoire l'ordre des transactions. Cela ne change pas le bénéfice net obtenu, mais c'est très utile pour examiner les différentes variations de l'amortissement qui peuvent résulter d'un ordre différent des transactions.

- Sauter aléatoirement des échanges - il sautera aléatoirement des transactions avec une probabilité donnée. Dans les transactions réelles, il arrive souvent que vous manquiez une transaction en raison d'une défaillance de la plateforme ou d'Internet, ou simplement parce que vous avez interrompu vos transactions pendant un certain temps. Ce test vous donnera une idée de l'aspect de la courbe d'équité si certaines transactions sont ignorées de manière aléatoire.

- Randomiser la barre de départ - ceci testera le comportement de la stratégie lorsque le test commence sur une barre de départ différente. Il est évident qu'une bonne stratégie ne peut pas être sensible à la barre de départ du test.

- Randomiser les paramètres de la stratégie - Chaque stratégie utilise des paramètres, tels que la période d'un indicateur ou une constante utilisée dans la comparaison. Ce test vérifie la sensibilité de la stratégie à une légère modification de la valeur du paramètre. La probabilité de changement est la probabilité qu'un paramètre change de valeur. La variation maximale du paramètre est le pourcentage maximal auquel le paramètre change de valeur. Par exemple, si vous fixez la modification maximale du paramètre à 10%, un paramètre d'une valeur de 60 peut être modifié de manière aléatoire dans une fourchette de 54 à 66 (+- 10% de sa valeur initiale de 60).

- Randomiser les données historiques - Un cas très courant d'ajustement de courbe est lorsque la stratégie est trop dépendante des données historiques. Cette option permet de vérifier le comportement de la stratégie face à une modification des données historiques.
La probabilité de changement définit pour chaque barre la probabilité que le cours d'ouverture, le cours le plus haut, le cours le plus bas ou le cours de clôture soit modifié. Le changement de prix maximum est une valeur en pourcentage du changement par rapport à l'ATR (Average True Range).
Ainsi, si par exemple le prix de clôture est choisi au hasard pour être modifié, que la valeur ATR est de 10 pips et que le changement de prix maximum est de 20%, alors le prix peut changer de +- 2 pips.

Interprétation des résultats
Les tests de robustesse produisent les résultats sous la forme d'un ensemble de graphiques d'équité pour chaque série de tests ET d'un tableau montrant les résultats de la simulation de Monte Carlo.

Dans cet exemple, nous avons effectué 10 simulations, avec des changements aléatoires dans les paramètres de la stratégie, les données historiques et les transactions sautées de manière aléatoire.
Nous pouvons voir quels seraient les fonds propres pour chacune de ces simulations et le tableau de gauche nous fournit des informations précieuses sur les propriétés de la stratégie au cours de ces simulations.

Que signifient ces valeurs ?
La première ligne affiche les valeurs du bénéfice net, de la baisse maximale de %, etc. de la stratégie originale à des fins de comparaison.
Les autres lignes affichent des valeurs à différents niveaux de confiance.
Ces chiffres sont le résultat d'une analyse Monte Carlo appliquée à nos 10 simulations aléatoires.

Par exemple, des valeurs à un niveau de confiance de 80% signifient qu'il y a 20% de chances que le Bénéfice net, le Drawdown, etc. soient inférieurs aux valeurs du niveau de confiance.
Les valeurs au niveau de confiance 90% signifient qu'il y a 10% de chances que le Bénéfice net, le Drawdown, etc. soient inférieurs aux valeurs du niveau de confiance.
Les valeurs au niveau de confiance 95% signifient qu'il n'y a que 5% de chances que le Bénéfice net, le Drawdown, etc. soient inférieurs à ces valeurs.

La simulation Monte Carlo de notre stratégie nous montre donc qu'en sautant 10% de transactions aléatoires et en apportant de petites modifications aléatoires aux paramètres d'entrée et aux données, notre bénéfice net peut diminuer de $ 6990 à $ 3943, et le Drawdown maximum peut augmenter de 6,97% à 11,36%.
Cela signifie qu'il n'y a que 5% de chances que le bénéfice net soit inférieur à $ 3943. En examinant les niveaux de confiance les plus élevés, nous constatons qu'aucun de nos tests n'a obtenu de résultats inférieurs à $ 3943, de sorte que la stratégie semble relativement robuste face aux changements auxquels nous l'avons exposée.

Les tests de robustesse étant générés de manière aléatoire, les graphiques d'actions et les valeurs du tableau seront légèrement différents chaque fois que vous testerez à nouveau la stratégie. En outre, plus vous effectuerez de simulations, plus la signification statistique de ce test sera importante.

4. Utiliser la matrice Walk-Forward comme test de robustesse

Le quatrième type de vérification de la robustesse est le test utilisant la matrice Walk-Forward. Si la stratégie réussit ce test, cela signifie qu'avec l'aide de la réoptimisation des paramètres, elle peut s'adapter à un large éventail de conditions de marché.

Consultez ces liens pour des articles détaillés sur Optimisation de la marche en avant et Matrice de la marche en avant.

S'abonner
Notification pour
0 Commentaires
Commentaires en ligne
Afficher tous les commentaires

Poursuivre la lecture