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 4Vérifiés à chaque lancement sur le S&P 500, 2015 → 2026.
- Le code tourne sans erreur et passe au moins deux ordres : à faire
- Perte maximale plus faible que celle de l’indice : à faire
- Ratio de Sharpe supérieur à celui de l’indice : à faire
- 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 :
| Outil | Ce qu’il renvoie |
|---|---|
s.cloture, s.ouverture, s.haut, s.bas | Les 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.position | true si vous êtes investi |
s.date | Date 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.