Le Grid Search pour des Bots de Trading Plus Performants!

Crypto Robot12 février 20245 min

Optimisez votre bot de trading avec la recherche en grille, tout en évitant les pièges de la sur-optimisation. Découvrez des techniques avancées pour maximiser vos gains et minimiser les risques.

Preview_image

Le Grid Search pour des Bots de Trading Plus Performants!

Introduction sur l’Optimisation de paramètre

Vous avez un bot de trading sur une cryptomonnaie utilisant une stratégie basée sur le croisement de moyennes mobiles exponentielles et le RSI. Il achète lorsque la moyenne mobile à court terme est supérieure à la moyenne à long terme et que le RSI n’est pas en sur-achat. Inversement, il vend lorsque la moyenne courte est inférieure à la longue et que le RSI n’indique pas de survente. Une question se pose alors immédiatement :

Quels paramètres choisir pour ces moyennes mobiles afin de maximiser les gains futurs tout en minimisant les risques ?

La réponse à cette question passe généralement par une phase d’optimisation mathématique basée sur des données historiques. Aujourd'hui, nous nous penchons sur l'une des techniques d'optimisation les plus couramment utilisées : la recherche en grille ou "grid search". Nous verrons aussi pourquoi un recours excessif à cette méthode peut souvent conduire à des pertes.

La Grid Search Expliquée

Comment Appliquer le Grid Search ?

Étapes Clés :

  1. Configuration : Vous avez deux paramètres principaux : la période de l'EMA courte et celle de l'EMA longue. Pour chaque combinaison de ces deux paramètres, vous effectuez un backtest pour évaluer la performance de la stratégie sur des données historiques.
  2. Processus : Imaginez un tableau où chaque case représente un ensemble de paramètres (par exemple, EMA courte de 10 jours et EMA longue de 50 jours). Vous testez la stratégie pour chaque ensemble de paramètres, parcourant ainsi chaque case du tableau, d'où le nom de "recherche en grille".
  3. Évaluation : Pour chaque combinaison backtestée, vous évaluez des indicateurs de performance. Cela vous permet de visualiser quels paramètres offrent les meilleurs résultats, mais aussi de mesurer le risque associé.
  4. Visualisation : Vous représentez cela dans un graphique comme dans l’exemple ci-dessous (sur la paire ETH/USDT en données journalières depuis 2017). Les zones chaudes (plus marron) indiquent des paramètres plus performants en termes de gains, tandis que les zones froides (plus bleues) signalent des performances moindres.

Screenshot_2024-02-06_083803.png

Ce processus systématique permet de couvrir l'intégralité de l'espace des paramètres défini, offrant ainsi une carte des résultats possibles sur un large éventail de configurations. Vous pouvez également générer des graphiques pour le drawdown maximal, le win rate, le nombre de trades, le Sharpe ratio, les gains moyens par trade, etc.

Pourquoi Utiliser la Grid Search ?

Le terme “grille” est généralement utilisé, mais il n’est pas toujours pertinent. Avec deux paramètres, vous avez bien une grille. Au-delà de cela, il s’agit de volumes de dimension 3, 4, etc.

Les Pièges de la Sur-Optimisation

Le Principal Risque

Le principal risque de choisir le meilleur jeu de paramètres basé sur ces cartes est la sur-optimisation. En ajustant trop finement les paramètres pour correspondre parfaitement aux données historiques, vous créez une stratégie qui performe exceptionnellement bien sur ces données, mais qui échouera probablement sur les données futures. Sélectionner un des points optimaux sur cette grille conduit souvent à élaborer une stratégie qui saisit davantage le bruit du marché que ses véritables tendances. Ce bruit étant spécifique à l'échantillon de backtest, il ne se reproduira pas de la même manière à l'avenir. Ainsi, cette stratégie risque de perdre de l'argent une fois activée.

Comment Éviter la Sur-Optimisation ?

Utilisation de Segments de Données

Pour éviter la sur-optimisation, vous pourriez diviser vos données historiques en sous-ensembles et optimiser votre stratégie indépendamment pour chacun d'eux. Vous pourriez alors déterminer quels paramètres fonctionnent le mieux dans différentes conditions de marché. L'objectif est de choisir, à la fin, un ensemble de paramètres qui minimise les risques et offre de bonnes performances globales, même s'il ne se démarque pas particulièrement dans un contexte spécifique. Cette approche est connue sous le nom de validation croisée, un concept fondamental dans le trading algorithmique.

Méthodes Alternatives

Il existe des méthodes systématisant ce type de protocole itératif, comme le Walk Forward Analysis, qui consiste à optimiser une stratégie par tranche historique successive. Nous verrons cette méthode plus en détail dans une future newsletter. Aussi, n’oubliez pas qu’un moyen de tester si une stratégie est sur-optimisée est les simulations de Monte Carlo que nous avons abordées il y a quelque temps.

Sur le plan algorithmique, la grid search est facile à mettre en œuvre, mais le nombre de combinaisons de paramètres croît de manière exponentielle à mesure que le nombre de paramètres augmente. Par exemple, optimiser deux paramètres avec 100 valeurs différentes pour chacun donne 10 000 combinaisons et donc 10 000 backtests. Avec un troisième paramètre, cela donne 1 million de backtests ! Vous comprenez donc qu'une exploration précise de plusieurs paramètres peut rapidement devenir extrêmement coûteuse en temps et en ressources informatiques. C'est pourquoi d'autres méthodes d'optimisation existent, telles que les régressions utilisant le machine learning ou les méthodes de marche aléatoire (Random Search). Nous aborderons ces méthodes à l'avenir.