Brancher DeepSeek, Claude ou Codex sur un backtester par MCP : le parcours réel
« Quelle IA pour trader ? » La question revient sans cesse, et la réponse habituelle est un avis. Ici, nous décrivons autre chose : comment brancher une IA (DeepSeek, Claude, Codex ou un modèle local) sur un vrai backtester par MCP, le protocole qui permet à une IA d'utiliser un logiciel, et ce qui s'est réellement passé quand DeepSeek a piloté notre Lab pendant quatre sessions de recherche, du 10 au 12 octobre 2026.
Ce n'est pas un classement. C'est un parcours, avec ses erreurs.
Brancher l'IA
La Lab est une application gratuite (Windows et Linux) qui tourne sur votre PC. Elle n'écoute que sur 127.0.0.1, avec un jeton privé ; tout est calculé localement. Le bouton « Brancher mon IA » de la Lab donne une configuration prête pour votre client, avec le vrai chemin et le vrai port, et peut l'écrire elle-même dans le fichier du client.
Les formats, tels que la Lab les génère (remplacez CHEMIN, PORT et JETON par ce qu'elle affiche) :
Claude Code, en stdio :
claude mcp add strategyarena-lab -- node "CHEMIN"
opencode avec DeepSeek, fichier ~/.config/opencode/opencode.json :
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"strategyarena-lab": {
"type": "remote",
"url": "http://127.0.0.1:PORT/mcp",
"headers": { "Authorization": "Bearer JETON" },
"enabled": true
}
}
}
Codex, fichier ~/.codex/config.toml (une preuve peut prendre plusieurs minutes, d'où le délai d'outil long) :
[mcp_servers.strategyarena_lab]
command = "node"
args = ["CHEMIN"]
startup_timeout_sec = 20.0
tool_timeout_sec = 630.0
Claude Desktop, Cursor et LM Studio ont aussi leur format ; tout est sur la page MCP de la Lab. La Lab ne regarde pas quel modèle est derrière le client : le juge est le même pour toutes les IA.
Le parcours
Une fois branchée, l'IA appelle start_here. La Lab lui répond avec le parcours et des arguments prêts à envoyer :
list_sandbox_datasets: choisir un marché dans la réserve de données locale ;validate_sandbox_strategy: faire vérifier le script (un script invalide reçoit une erreur nommée et un exemple minimal ; il ne coûte rien) ;prove_sandbox_script: la preuve. Le juge choisit sur l'entraînement, ouvre une seule fois la période scellée, compte chaque essai déclaré, et répond « résiste », « mirage » ou « non concluant » ;export_sandbox_pine: l'export Pine de la stratégie jugée, à coller dans TradingView.
Les backtests et balayages GPU servent à explorer. Ils décrivent le passé ; seule la preuve juge.
Session 1 : un chiffre spectaculaire, un verdict « non concluant »
DeepSeek a balayé 2 000 variantes d'un croisement de moyennes mobiles sur BTC 4 h (moins d'une seconde sur GPU), retenu la meilleure, puis l'a soumise à la preuve sur une période scellée de 1 800 bougies. Sur cette période, la règle faisait +35,8 % quand l'achat-conservation faisait −8,8 %.
Le juge a répondu « non concluant » : un seul réglage soumis, donc ni PBO, ni SPA, ni CPCV calculables. Une contre-épreuve a ensuite montré deux erreurs de méthode dans cette session : la colonne « holdout » du balayage recouvrait la période de test, et les 2 000 essais n'avaient pas été déclarés. Rejugée sur ETH et SOL 4 h avec ses 2 004 essais déclarés, la même famille donnait un Sharpe déflaté de 0,7 % : mirage.
Session 2 : préenregistrer, et trop compter
DeepSeek a changé de méthode : hypothèse écrite avant tout calcul (un canal de Donchian multi-échelles), réglages figés d'avance, aucun balayage, une seule preuve sur des marchés jamais ouverts par cette famille (ADA et ATOM 4 h). Mais il a déclaré les 2 004 essais de la session précédente comme essais antérieurs. Le Sharpe déflaté est tombé de 98,6 % à 3,3 %.
C'était une erreur dans l'autre sens. Les essais à déclarer sont ceux qui ont servi à choisir cette règle, pas l'historique du projet. Pour une règle écrite d'avance, sans sélection, c'est 0 (le juge ajoute de lui-même les règles fixées récemment dans la Lab). Compter les essais est simple à dire, plus délicat à faire.
Session 3 : quatre familles préenregistrées, aucune en gain absolu
Avec la bonne règle de comptage, DeepSeek a préenregistré et jugé quatre familles classiques (canal de Donchian, régime EMA long-court, module de vente à découvert, momentum de série temporelle à la Moskowitz-Ooi-Pedersen), chacune sur une paire de marchés neuve. La fenêtre de test commune à toutes les données disponibles était baissière.
Mesure : les quatre familles limitaient la baisse face à l'achat-conservation (de +19,7 à +38,9 points d'écart), mais aucune ne finissait en gain absolu sur la période de test. Le juge exige un gain absolu en plus de l'écart : verdict « mirage » pour chacune. La seule famille en gain absolu sur ces données était le croisement de la session 1, sélectionné parmi 2 000 essais, donc déjà jugé mirage. Une règle de momentum n'était pas exportable en Pine (l'indicateur CHANGE sort du sous-ensemble exportable) : la Lab l'a refusé avec un message nommé.
Session 4 : un échec documenté
La mission : améliorer une stratégie long terme existante, « V3 », jugée en walk-forward (4 plis d'environ 2 ans) sur BTC journalier, 2018-2026. Le préenregistrement et les deux scripts candidats ont été figés et versionnés avant tout calcul, avec un critère gelé : un meilleur ratio de Calmar sur tous les plis.
- Variante A (frein quand le prix décroche de 25 % sous son plus haut de 180 jours) : moins bonne sur les 4 plis.
- Variante B (rachat sur RSI(3) < 15) : jamais strictement meilleure.
- Le comparateur de preuves (bootstrap par blocs apparié) : p = 6,5 % pour V3 contre A, p = 88,9 % pour V3 contre B. Aucune différence significative.
- Témoin ETH, mêmes scripts sans retouche : un effet de risque isolé sur un pli pour la variante A, non confirmé ailleurs.
- V3 relancée à l'identique : mêmes chiffres au bit près.
Aucune des deux variantes n'améliore la V3. Le résultat négatif est publié tel quel. DeepSeek a aussi voulu juger les deux mois les plus récents : la Lab a refusé la preuve formelle (minimum 300 bougies, il en restait 54) et n'a donné qu'une lecture descriptive, étiquetée comme telle. Ce refus a fait naître une demande d'amélioration : dire « il faut encore X semaines de données pour conclure ».
Ce que ces quatre sessions montrent
- Une IA branchée sur un juge apprend la méthode. De la session 1 à la 4, DeepSeek est passé d'un balayage non déclaré à un préenregistrement versionné avant calcul.
- Les erreurs de méthode sont visibles. Recouvrement de la période de test, essais non déclarés, puis trop déclarés : chacune a laissé une trace dans les rapports et a été corrigée.
- Le juge ne s'est pas laissé amadouer. Un +35,8 % sur un réglage unique reste « non concluant ». Quatre familles qui limitent la baisse restent des mirages sans gain absolu.
- Un échec bien mené est un résultat. La session 4 répond à sa question : non.
Limites : ces sessions ont tourné sur une version de travail de la Lab (245), sur des données crypto qui couvrent la même fenêtre récente, et un modèle de langage peut avoir mémorisé l'histoire des marchés antérieure à sa date de coupure : le test qui compte est une période future. Ces résultats décrivent une méthode et ses verdicts, pas une stratégie à suivre.
Et Claude, Codex ?
La configuration est la même. Codex a utilisé la Lab par MCP pour l'auditer : 25 défauts confirmés sur 27. Pour la boucle qui laisse une IA chercher toute la nuit, mesurée sur du bruit : une IA peut-elle trouver une stratégie de trading ?. Pour les comparaisons entre IA : quelle IA utiliser pour trader et le classement des IA.
Pour brancher la vôtre : le guide MCP de la Lab, puis télécharger la Lab (gratuite). La page de téléchargement sert aujourd'hui la version 243 ; le parcours start_here qui passe d'abord par le juge arrive avec la 246, en cours de vérification.
À retenir
- Claude Code, Codex et opencode avec DeepSeek se branchent sur la Lab par MCP en quelques lignes ; le juge est le même pour tous.
- Parcours :
start_here, données, validation, preuve scellée, export Pine. - Quatre sessions DeepSeek : un réglage unique « non concluant », un comptage d'essais corrigé dans les deux sens, quatre familles préenregistrées sans gain absolu, une amélioration préenregistrée qui échoue.
- Une IA qui cherche a besoin d'un juge qu'elle ne peut pas amadouer.
Recherche sur données passées, pas un conseil d'investissement. Les chiffres cités sont des mesures de recherche sur données passées, avec les limites indiquées.
⚠️ Avertissement — Cet article est publié à titre informatif et éducatif uniquement. Il ne constitue en aucun cas un conseil en investissement ou une recommandation d'achat/vente. Les performances passées ne préjugent pas des performances futures. Strategy Arena est un simulateur éducatif avec capital virtuel. Faites vos propres recherches avant toute décision d'investissement.