Adrien Guillon
Active
·Python 3.12LiteLLMDuckDByfinance

AI Trading Arena

Arena multi-IA de paper trading : 4 LLMs en compétition continue sur un univers cross-asset (SPY, GLD, IBIT, NVDA, FXE, TLT), avec exécution simulée mark-to-market et benchmark scientifique.

4 LLMs
IAs en arène
6 actifs
Univers
4 heures
Cycle
0 €
Coût mensuel

Problème

Les LLMs frontières (Gemini, Claude, GPT, Mistral, Llama) sont régulièrement présentés comme « meilleurs » les uns que les autres sur des benchmarks abstraits (raisonnement, code). Mais sur une tâche concrète et mesurable en P&L, qui décide vraiment mieux ? Inspiration directe : l'AI Trading Arena d'Obside qui met en compétition Qwen, Kimi, Gemini, Claude et DeepSeek. Ce projet en est une réimplémentation indépendante, plus ouverte et reproductible (open-source, données brutes accessibles, méthodologie publiée).

Solution

Architecture hexagonale légère (Domain / Application / Infrastructure / Presentation), ~9000 LOC Python, 276 tests passants. À chaque cycle de 4h, un seul appel LLM par IA décide l'allocation sur les 6 actifs en une réponse JSON stricte. Les indicateurs (RSI, SMA, Bollinger, vol) sont précalculés côté code — les LLMs sont mauvais en math sur tableaux bruts, économie ~60 % de tokens. Un prompt_hash SHA-256 par cycle garantit la reproductibilité totale.

Architecture

Fetch OHLCV : yfinance sur les 6 actifs
Indicateurs scalaires : RSI, SMA 20/50, Bollinger, vol annualisée
News 24h : RSS multi-sources + extraction LLM (mapping noms → tickers)
Mémoire courte : 5 derniers trades cross-tickers de l'agent
Décision : UN appel LLM par IA → JSON strict PortfolioCycleDecision
Exécution : PaperExecutor local, frais 10 bps, mark-to-market
Persistance : DuckDB transactionnel + trace Langfuse Cloud

L'univers cross-asset

SPY (S&P 500 broad), GLD (or safe haven), IBIT (Bitcoin spot ETF), NVDA (tech single name high beta), FXE (proxy EUR/USD), TLT (20+yr Treasury, rate-sensitive). Six actifs choisis pour leur faible corrélation et leur compatibilité full Alpaca, en vue d'une bascule paper API réel.

Les 4 IA en arène

Mistral Medium (Mistral 22B, gratuit ~1 Md tokens/mois). Gemini 2.5 Flash (Google AI Studio, 1500 req/jour gratuites). Llama 3.3 70B via Groq (~1800 req/h gratuites). Mistral Small (~7B, gratuit). Coût opérationnel total : 0 €/mois.

Comportements divergents observés

Tous les agents reçoivent les mêmes données, mais leurs stratégies divergent : Mistral Medium très conservatif (2 positions), Llama 3.3 très agressif (6 positions), Mistral Small entre les deux. La convergence des allocations se fait naturellement au cycle suivant grâce à l'exécution séquentielle.

État actuel et roadmap

Phases 10.1 à 10.5 livrées : exécution, persistance DuckDB, news enrichies, déploiement EC2, export JSON public. Phase 10.6 en cours : page /arena live. Phase 11 prévue : bascule sur Alpaca paper API pour fills réalistes. Phase 12 : extension à 6-8 IA dont une Claude API payante pour benchmark frontier.

Stack complète

Python 3.12LiteLLMDuckDByfinanceLangfuse CloudsystemdAWS EC2