Aller au contenu
Laboratoire · CodeAvancé

Coder et backtester une stratégie

Écrivez en JavaScript les règles d’un croisement de moyennes mobiles, puis testez-les sur dix ans de cours réels du S&P 500.

Vos objectifs

0 sur 4

Vérifiés à chaque lancement sur le S&P 500, 2015 → 2026.

  1. Le code tourne sans erreur et passe au moins deux ordres : à faire
  2. Perte maximale plus faible que celle de l’indice : à faire
  3. Ratio de Sharpe supérieur à celui de l’indice : à faire
  4. Moins de 30 allers-retours, pour contenir les frais : à faire

Une stratégie de trading automatisée n’est rien d’autre qu’une règle écrite à l’avance, qu’un programme applique sans émotion. Le bot FRIMAU INVEST fonctionne ainsi : à chaque séance, il regarde les données, applique ses règles, et décide.

1.Une règle, pas une intuition

La règle la plus classique est le croisement de moyennes mobiles. On compare la moyenne des cours sur une période courte (20 séances) et sur une période longue (100 séances).

  • Quand la moyenne courte passe au-dessus de la longue, la tendance récente est haussière : on entre.
  • Quand elle repasse en dessous, on sort et on reste en liquidités.

Moyenne mobile(n) = (Clôture₁ + Clôture₂ + … + Clôtureₙ) ÷ n

2.Votre terminal

À droite, la fonction strategie(s) est appelée une fois par séance. L’objet s vous donne :

OutilCe qu’il renvoie
s.cloture, s.ouverture, s.haut, s.basLes prix de la séance
s.moyenne(n)Moyenne des n dernières clôtures
s.moyenneExpo(n)Moyenne exponentielle sur n séances
s.rsi(n)RSI sur n séances, de 0 à 100
s.plusHaut(n), s.plusBas(n)Extrêmes des n dernières séances
s.variation(n)Variation en % sur n séances
s.positiontrue si vous êtes investi
s.dateDate de la séance
s.ecartType(n), s.bollinger(n, k), s.atr(n), s.macd()Indicateurs avancés, débloqués au grade Vice President

Vous pouvez écrire console.log(...) : les messages s’affichent sous le graphique.

3.Lire les résultats

Trois chiffres comptent plus que la performance brute.

Perte maximale = (Point bas − Plus haut précédent) ÷ Plus haut précédent

La perte maximale (drawdown) est la pire chute subie entre un sommet et le creux suivant. C’est elle qui fait abandonner les investisseurs en cours de route.

Ratio de Sharpe = Rendement annuel ÷ Volatilité annuelle

Le ratio de Sharpe mesure le rendement obtenu par unité de risque. Au-dessus de 1, c’est excellent ; le S&P 500 a tourné autour de 0,8 entre 2015 et 2026.

4.Vos objectifs

Une stratégie qui sort du marché pendant les baisses gagne souvent moins que l’indice, mais avec des chutes plus courtes. C’est un choix : moins de rendement contre moins de stress.

Le code de départ calcule les deux moyennes mais ne passe encore aucun ordre : à vous d’écrire la règle d’entrée et la règle de sortie. Le croisement classique 20/100 réduit déjà la perte maximale, mais son Sharpe reste sous celui de l’indice : il sort trop tard et rentre trop tard. Les objectifs, vérifiés sur le S&P 500 de 2015 à 2026, vous demandent de faire mieux que l’indice en rendement par unité de risque, sans multiplier les ordres. Essayez d’autres durées de moyennes, ou une règle de sortie différente.

Les leçons à revoir

Contenu pédagogique et général : il ne constitue ni un conseil en investissement, ni une recommandation personnalisée. Investir comporte un risque de perte en capital ; les performances passées ne préjugent pas des performances futures.