ace-trading-lab
Une expérience où deux traders LLM, GPT et Grok, opèrent côte à côte selon des règles identiques, avec une cage de risque déterministe entre chaque décision et chaque ordre. Comptes papier et testnet uniquement. L’intérêt est l’architecture, l’évaluation et les contrôles, pas les rendements.
Dépôt privé
01De quoi s’agit-il
Deux modèles de langage tradent le même univers de paires crypto sur des portefeuilles virtuels distincts : GPT via la CLI Codex et Grok via la CLI Grok Build, toutes deux sur des abonnements existants. À chaque cycle, ils reçoivent le même instantané de marché et répondent par une décision structurée. C’est une expérience d’ingénierie sur la confiance que l’on peut accorder à un modèle autorisé à agir, et non un conseil en investissement.
02Ce que j’ai construit
Un service Python et FastAPI avec un ordonnanceur, un collecteur de données de marché et d’actualités, un orchestrateur, des adaptateurs de places de marché interchangeables pour le testnet spot de Binance et un compte papier Interactive Brokers, ainsi qu’une base SQLite pour les décisions, les ordres, les exécutions et les événements d’audit. Le garde-fou de risque est du code ordinaire : plafonds de position et d’exposition, limite quotidienne d’ordres, délai minimal entre deux ordres, positions longues uniquement, liste blanche de places de marché et coupe-circuit sur le drawdown. Chaque refus est enregistré avec la règle qui l’a déclenché. Un tableau de bord React sur Cloudflare Pages affiche les courbes de capital, le raisonnement derrière chaque décision et les événements de risque.
03Comment ça tourne
Un cycle collecte les prix, des titres d’actualité et un indice de sentiment, pose la même question aux deux traders et compare leurs réponses, avec un mode combiné implémenté mais désactivé. Une réponse illisible, un délai dépassé ou une limite de débit devient un hold accompagné d’un événement d’audit, jamais une boucle de nouvelles tentatives. Les réglages se modifient depuis le tableau de bord, mais l’API valide chaque valeur et ne fait jamais confiance au tableau de bord. Le backend est déployé sur un VPS et le frontend sur Cloudflare Pages depuis GitHub Actions, uniquement si les tests passent, et l’API est jointe par un tunnel Cloudflare derrière Cloudflare Access.
04Ce que j’ai appris
Les traders ne s’évaluent jamais eux-mêmes : un auditeur distinct lit la base et note l’espérance de gain et les frais, pas le profit brut. Un bogue m’a le plus appris. Un ordre limite en attente a été exécuté sur la place de marché, mais jamais enregistré dans ma base, si bien qu’un trader semblait avoir perdu une grande partie de son capital. J’ai ajouté une étape de réconciliation qui compare à chaque cycle les exécutions de la place de marché avec mes propres enregistrements. J’ai aussi appris à distinguer un trader bridé d’un trader prudent, car un agent silencieux peut signifier deux choses très différentes.
Comment c’est construit
- Cycle de décision
- Piste d’audit
- Supervision
- Livraison
Contexte de marché
Données publiques
Cycle de décision
Planifié
Traders LLM
Mêmes règles, même entrée
Cage de risque
Code déterministe
Traces et livraison
Décisions, supervision, livraison
Sélectionnez un élément du schéma pour voir son rôle. Chaque couleur est un flux à travers le système.