La sélection naturelle appliquée au trading crypto

Algorithme génétique appliqué au trading crypto : comment la sélection naturelle a généré +362 % sur Bitcoin et Ethereum. Méthode complète + code open source.

La sélection naturelle appliquée au trading crypto

Et si la meilleure stratégie de trading n'avait pas besoin d'être codée, mais simplement... sélectionnée ? C'est l'idée derrière les algorithmes génétiques : laisser des milliers de stratégies aléatoires se reproduire, muter, et se faire éliminer génération après génération, jusqu'à ce qu'il n'en reste que les plus performantes.

Dans cet article, on décortique comment appliquer la théorie de l'évolution de Darwin au trading crypto, avec un backtest concret sur Bitcoin et Ethereum depuis 2021.

Code open source

Backtest-Tools-V2/strategies/genetic_trading at main · CryptoRobotFr/Backtest-Tools-V2
Contribute to CryptoRobotFr/Backtest-Tools-V2 development by creating an account on GitHub.

Vidéo complète

Le principe : faire évoluer des stratégies comme des espèces

Les algorithmes génétiques sont déjà connus pour faire émerger des comportements complexes à partir de règles simples. L'exemple le plus parlant est celui des créatures aquatiques de Code Bullet : sans aucune intelligence préalable, juste avec les règles de la sélection naturelle, des formes optimales de déplacement émergent au bout de centaines de générations. La créature finale ressemble à un serpent qui se déplace à toute vitesse. Personne ne l'a programmée explicitement, elle a évolué.

L'idée est de transposer ce mécanisme au trading : au lieu de coder une stratégie à la main, on définit un espace de stratégies possibles et on laisse l'évolution trouver les meilleures.

Étape 1 : définir les indicateurs

On part de 10 indicateurs classiques :

  • Rendements journaliers
  • RSI
  • Distance à la moyenne mobile
  • Volume normalisé
  • Mouvements sur 3 jours, 24h
  • Etc.

Chaque indicateur produit, à chaque bougie, une valeur normalisée entre -1 et 1.

Le trading de produits financiers, dont les dérivés, comporte des risques importants et ne convient pas à tous les investisseurs. En savoir plus

Étape 2 : combiner les indicateurs avec des poids

Une stratégie est définie par une simple liste de poids, un par indicateur. Le poids indique à quel point l'indicateur est important dans la décision finale.

Par exemple :

IndicateurPoids
RSI+0.30
Moyenne mobile 50-0.70
Volume Z-score+0.10
......

À chaque bougie, on multiplie les valeurs des indicateurs par leurs poids, puis on passe le tout dans une fonction tangente hyperbolique (tanh) pour obtenir un signal final entre -1 et 1.

Ce signal représente l'exposition souhaitée du portefeuille :

  • +0.74 = 74 % de notre capital exposé en long (pari à la hausse)
  • -0.50 = 50 % en short
  • 0 = pas de position

Toute la difficulté est de trouver la bonne combinaison de poids. Et c'est là que la génétique entre en jeu.

Étape 3 : la sélection naturelle

Population initiale aléatoire

On commence avec une population de stratégies dont les poids sont complètement aléatoires. Aucune intelligence, aucune intuition humaine. Juste du bruit.

Évaluation : le Sharpe ratio comme fitness

Pour chaque stratégie, on simule sa performance sur l'historique du marché. Le critère de sélection est le Sharpe ratio : un ratio rendement/risque qui résume en un chiffre la qualité d'une stratégie.

Plus le Sharpe est élevé, plus la stratégie a de chances de se reproduire.

Sélection des parents par tournoi

Pour faire des enfants, il faut deux parents. On utilise une sélection par tournoi :

  1. On tire 4 stratégies au hasard dans la population
  2. On garde celle qui a le meilleur Sharpe ratio comme parent A
  3. On répète pour obtenir le parent B

Reproduction (crossover)

L'enfant hérite des poids de ses deux parents, avec un coefficient aléatoire qui détermine, pour chaque poids, à quel point il tire vers le parent A ou le parent B. Cela introduit la diversité génétique.

Mutation

Pour simuler les phénomènes aléatoires de l'environnement, on applique des mutations sur certains poids de l'enfant. C'est l'équivalent biologique du "et si tout d'un coup quelqu'un naissait avec un troisième bras". Si la mutation est avantageuse, elle se propage. Sinon, elle disparaît rapidement.

Itération sur 40 générations

On répète ce processus pendant 40 générations. À chaque génération, les meilleures stratégies se reproduisent, les pires disparaissent, et la qualité moyenne de la population augmente.

Étape 4 : combattre la suroptimisation

C'est ici que tout se joue. Un algorithme génétique est une machine à overfitter : il va trouver la stratégie parfaite sur le passé, mais qui ne marchera pas du tout dans le futur.

Trois garde-fous ont été mis en place.

Walk forward (fenêtres glissantes)

Le marché change. Le Bitcoin de 2017 ne se comporte pas comme celui de 2026. Au lieu d'entraîner sur tout l'historique, on entraîne sur des fenêtres glissantes de 2 ans. Les paramètres bougent au cours du temps pour s'adapter au régime de marché actuel.

Le découpage classique :

  • Train : entraînement de l'évolution
  • Validation : sélection de la meilleure stratégie de la génération
  • Test : période jamais vue, pour mesurer la vraie performance

Multi-seeds : 5 départs aléatoires en parallèle

Le choix de la population initiale a un impact énorme sur le résultat final après 40 générations. Pour réduire ce biais, on lance 5 évolutions en parallèle, chacune avec une initialisation aléatoire différente. À la fin, on garde les 3 meilleures et on moyenne leurs poids pour obtenir le signal final.

Paliers de position de 20 %

Le signal varie en continu entre -1 et 1, mais trader chaque variation infinitésimale ferait exploser les frais. On applique donc des paliers de 20 % avec une logique d'hystérésis :

  • Pour passer de 0 à 20 % d'exposition, le signal doit franchir 0.20
  • Pour redescendre à 0, il faut repasser sous 0
  • Cela évite l'effet yo-yo entre deux niveaux

Les résultats sur Bitcoin + Ethereum

Backtest de 2021 à aujourd'hui, avec un mix Bitcoin/Ethereum et un levier 3 (la stratégie est défensive en absolu, le levier sert juste à amplifier les performances).

MétriqueValeur
Capital initial1 000 $
Capital final4 621 $
Performance totale+362 %
Sharpe ratio1.15
Drawdown max-17 %
Win rate45 %
Nombre de trades1 153
Durée moyenne d'un trade1j 20h
Performance Ethereum+428 %
Performance Bitcoin+154 %

Quelques observations :

  • Le drawdown de 17 % est négligeable comparé au drawdown du Bitcoin sur la période (proche de -80 %). La stratégie protège bien le capital.
  • Le win rate de 45 % indique une stratégie de tendance : on perd plus souvent qu'on ne gagne, mais les gains compensent largement les pertes.
  • Une courbe d'équité régulière, sans les énormes hauts et bas du Bitcoin nu.

Le point noir : 2025

Depuis un an, la stratégie est plate, voire légèrement négative (-7 %). Mon interprétation : depuis l'arrivée de Donald Trump et la politisation accrue du marché crypto, le prix incorpore de moins en moins d'information technique. Les mouvements réagissent surtout aux news, aux annonces macroéconomiques, aux tweets.

Or notre algorithme génétique ne lit ni les news ni Twitter. Il ne voit que le prix et les indicateurs dérivés. Quand le marché devient news-driven, l'avantage technique s'effondre.

Cela ne veut pas dire que la stratégie est morte, mais qu'elle traverse une période défavorable. C'est un rappel important : aucune stratégie ne marche tout le temps.

Ce que j'en retiens

L'algorithme génétique appliqué au trading est puissant pour plusieurs raisons :

  1. Il découvre des stratégies qu'aucun humain n'aurait codées, à partir de simples indicateurs de base.
  2. Il s'adapte au régime de marché grâce au walk forward.
  3. Il peut s'appliquer à plein de problèmes au-delà du choix de stratégie : optimisation de paramètres, allocation de portefeuille, sélection d'actifs.

Mais il a aussi ses limites :

  • C'est gourmand en puissance de calcul. 5 seeds x 40 générations x N stratégies x backtest complet = beaucoup d'heures CPU.
  • Le combat contre la suroptimisation est permanent. Sans walk forward, sans validation propre, sans multi-seeds, l'algorithme trouve une stratégie qui marche à 1000 % sur le passé et 0 % en live.
  • Il ne lit que le prix. Tout ce qui est sentiment, news, macro, lui échappe complètement.

Bonne sélection.

Le trading de produits financiers, dont les dérivés, comporte des risques importants et ne convient pas à tous les investisseurs. En savoir plus