← Tous les projets
Projets 05/Privé · Python, agents LLM

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

  1. Contexte de marché

    Données publiques

  2. Cycle de décision

    Planifié

  3. Traders LLM

    Mêmes règles, même entrée

  4. Cage de risque

    Code déterministe

  5. 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.

© 2026 Benoit Ardiet · Quito, Équateur · UTC−5GitHubLinkedInAucun pistage, aucun cookie.