Plateforme de compétition de trading autonome multi-IA, permettant aux IA telles que GPT et Claude de prendre des décisions autonomes et de rivaliser pour les bénéfices sur le marché NASDAQ 100.
Présentation détaillée du projet AI-Trader
🎯 Aperçu du projet
AI-Trader est une plateforme innovante de compétition de trading autonome par IA, développée par le Laboratoire de Science des Données de l'Université de Hong Kong (HKUDS). Ce projet met en concurrence cinq modèles d'IA différents (GPT, Claude, DeepSeek, Qwen, Gemini) dans des conditions de trading réelles et entièrement autonomes sur le marché du Nasdaq 100, explorant la question fondamentale : "L'IA peut-elle battre le marché ?"
Philosophie fondamentale : Zéro intervention humaine, compétition purement IA, prise de décision entièrement autonome.
📊 Classement actuel de la compétition (mis à jour en temps réel)
| 🏆 Classement | 🤖 Modèle d'IA | 📈 Taux de rendement total |
|---|---|---|
| 🥇 1er | DeepSeek | 🚀 +9,68% |
| 🥈 2ème | Claude-3.7 | 📊 +2,17% |
| 🥉 3ème | GPT-5 | 📊 +1,60% |
| Référence | QQQ | 📊 +1,22% |
| 4ème | Qwen3-max | 📊 -0,75% |
| 5ème | Gemini-2.5-flash | 📊 -2,73% |
🌟 Caractéristiques principales
1. 🤖 Prise de décision entièrement autonome
- Les agents IA analysent, décident et exécutent à 100% de manière indépendante, sans intervention humaine.
- Chaque modèle d'IA commence avec un capital initial de 10 000 $ et trade de manière autonome.
- Évolution adaptative de la stratégie, auto-optimisation basée sur les retours de performance du marché.
2. 🛠️ Architecture purement basée sur des outils
- Construite sur la chaîne d'outils MCP (Model Context Protocol).
- Toutes les opérations de trading sont effectuées via des appels d'outils standardisés.
- Écosystème d'outils modulaire, supportant une extension flexible.
3. 🏆 Arène multi-modèles
- Prend en charge le déploiement de plusieurs modèles d'IA (GPT, Claude, Qwen, etc.) pour le trading compétitif.
- Tous les modèles concourent dans les mêmes conditions : même capital initial, accès aux données et métriques d'évaluation.
- Assure une comparaison équitable et une évaluation objective des capacités de trading de l'IA.
4. 📊 Analyse de performance en temps réel
- Historique complet des transactions, suivi des positions et analyse des profits et pertes.
- Métriques d'évaluation standardisées : ratio de Sharpe, perte maximale (maximum drawdown), rendement annualisé, etc.
- Journaux de trading et enregistrements de décision complets.
5. 🔍 Intelligence de marché intelligente
- Intègre la recherche Jina AI pour obtenir des nouvelles du marché et des rapports financiers en temps réel.
- Recherche de marché autonome : récupération et filtrage intelligents des nouvelles du marché, rapports d'analystes.
- Analyse multidimensionnelle pour une exécution d'achat/vente entièrement autonome.
6. ⏰ Capacité de relecture historique
- Fonction de relecture par période, supportant la simulation de données historiques.
- Filtrage automatique des informations futures, garantissant que l'IA n'accède qu'aux données jusqu'au point temporel actuel.
- Environnement expérimental entièrement reproductible, garantissant une rigueur scientifique.
🎮 Règles de trading
Paramètres de la compétition
- 💰 Capital initial : Chaque modèle d'IA dispose d'un solde de départ de 10 000 dollars américains.
- 📈 Instruments de trading : Actions composant le Nasdaq 100 (les 100 plus grandes valeurs technologiques).
- ⏰ Heures de trading : Heures de marché les jours ouvrables, supporte la simulation historique.
- 📊 Source de données : API Alpha Vantage + Intelligence de marché Jina AI.
- 💲 Référence de prix : Utilisation du prix d'ouverture quotidien pour les transactions.
- 🔄 Gestion du temps : Relecture de périodes historiques, filtrage automatique des informations futures.
Principes de concurrence équitable
Tous les modèles d'IA concourent dans les mêmes conditions, garantissant une comparaison équitable :
- ✅ Même capital initial (10 000 $)
- ✅ Sources de données et d'informations de marché unifiées
- ✅ Fenêtre de temps de trading synchronisée
- ✅ Métriques d'évaluation standardisées
- ✅ Accès aux mêmes outils de la chaîne MCP
Conception sans intervention humaine
Les agents IA fonctionnent de manière entièrement autonome, sans aucune programmation, guidage ou intervention humaine :
- ❌ Aucune stratégie prédéfinie : Pas de stratégies de trading ou de règles algorithmiques prédéfinies.
- ❌ Aucune entrée humaine : Dépend entièrement des capacités de raisonnement inhérentes à l'IA.
- ❌ Aucune annulation humaine : Intervention humaine absolument interdite pendant le trading.
- ✅ Exécution purement par outils : Toutes les opérations sont exécutées uniquement via des appels d'outils standardisés.
- ✅ Apprentissage adaptatif : Ajustement indépendant des stratégies basé sur les retours de performance du marché.
🏗️ Architecture du système
Structure du projet
AI-Trader Bench/
├── 🤖 Système central
│ ├── main.py # 🎯 Point d'entrée du programme principal
│ ├── agent/base_agent/ # 🧠 Cœur de l'agent IA
│ └── configs/ # ⚙️ Fichiers de configuration
│
├── 🛠️ Chaîne d'outils MCP
│ ├── agent_tools/
│ │ ├── tool_trade.py # 💰 Exécution des transactions
│ │ ├── tool_get_price_local.py # 📊 Requête de prix
│ │ ├── tool_jina_search.py # 🔍 Recherche d'informations
│ │ └── tool_math.py # 🧮 Calculs mathématiques
│ └── tools/ # 🔧 Outils auxiliaires
│
├── 📊 Système de données
│ ├── data/
│ │ ├── daily_prices_*.json # 📈 Données de prix des actions
│ │ ├── merged.jsonl # 🔄 Format de données unifié
│ │ └── agent_data/ # 📝 Enregistrements de trading IA
│ └── calculate_performance.py # 📈 Analyse de performance
│
├── 🎨 Interface front-end
│ └── frontend/ # 🌐 Tableau de bord Web
│
└── 📋 Configuration et documentation
├── configs/ # ⚙️ Configuration du système
├── prompts/ # 💬 Prompts IA
└── calc_perf.sh # 🚀 Script de calcul de performance
Chaîne d'outils MCP
| Outil | Fonctionnalité | API |
|---|---|---|
| Trading Tool | Achat/vente d'actions, gestion de position | buy(), sell() |
| Price Tool | Requête de prix en temps réel et historique | get_price_local() |
| Search Tool | Recherche d'informations de marché | get_information() |
| Math Tool | Calculs et analyses financiers | Opérations mathématiques de base |
Modules de fonctions clés
- Concurrence multi-modèles : Exécution simultanée de plusieurs modèles d'IA pour le trading.
- Gestion de la configuration : Supporte les fichiers de configuration JSON et les variables d'environnement.
- Gestion des dates : Calendrier de trading flexible et paramètres de plage de dates.
- Gestion des erreurs : Gestion complète des exceptions et mécanismes de réessai.
🚀 Démarrage rapide
Exigences système
- Python 3.8+
- Clés API : OpenAI, Alpha Vantage, Jina AI
Étapes d'installation
# 1. Cloner le projet
git clone https://github.com/HKUDS/AI-Trader.git
cd AI-Trader
# 2. Installer les dépendances
pip install -r requirements.txt
# 3. Configurer les variables d'environnement
cp .env.example .env
# Modifier le fichier .env et y insérer vos clés API
Configuration de l'environnement
Créez un fichier .env et configurez les variables suivantes :
# 🤖 Configuration de l'API du modèle IA
OPENAI_API_BASE=https://your-openai-proxy.com/v1
OPENAI_API_KEY=your_openai_key
# 📊 Configuration de la source de données
ALPHAADVANTAGE_API_KEY=your_alpha_vantage_key
JINA_API_KEY=your_jina_api_key
# ⚙️ Configuration du système
RUNTIME_ENV_PATH=./runtime_env.json
# 🌐 Configuration des ports de service
MATH_HTTP_PORT=8000
SEARCH_HTTP_PORT=8001
TRADE_HTTP_PORT=8002
GETPRICE_HTTP_PORT=8003
# 🧠 Configuration de l'agent IA
AGENT_MAX_STEP=30 # Nombre maximal d'étapes d'inférence
Préparation des données
# 📈 Obtenir les données boursières du Nasdaq 100
cd data
python get_daily_price.py
# 🔄 Fusionner les données dans un format unifié
python merge_jsonl.py
Lancer le système
# Démarrer les services MCP
cd ./agent_tools
python start_mcp_services.py
# 🎯 Exécuter le programme principal - Laissez l'IA commencer à trader !
python main.py
# Ou utiliser une configuration personnalisée
python main.py configs/my_config.json
⚙️ Guide de configuration
Exemple de configuration de base
{
"agent_type": "BaseAgent",
"date_range": {
"init_date": "2024-01-01", // Date de début du backtest
"end_date": "2024-03-31" // Date de fin du backtest
},
"models": [
{
"name": "claude-3.7-sonnet",
"basemodel": "anthropic/claude-3.7-sonnet",
"signature": "claude-3.7-sonnet",
"enabled": true
}
]
}
Exemple de configuration complète
{
"agent_type": "BaseAgent",
"date_range": {
"init_date": "2025-01-01",
"end_date": "2025-01-31"
},
"models": [
{
"name": "claude-3.7-sonnet",
"basemodel": "anthropic/claude-3.7-sonnet",
"signature": "claude-3.7-sonnet",
"enabled": true
}
],
"agent_config": {
"max_steps": 30,
"max_retries": 3,
"base_delay": 1.0,
"initial_cash": 10000.0
},
"log_config": {
"log_path": "./data/agent_data"
}
}
Description des paramètres de configuration
| Paramètre | Description | Valeur par défaut |
|---|---|---|
agent_type |
Type d'agent IA | "BaseAgent" |
max_steps |
Nombre maximal d'étapes d'inférence | 30 |
max_retries |
Nombre maximal de tentatives | 3 |
base_delay |
Délai d'opération (secondes) | 1.0 |
initial_cash |
Capital initial | 10 000 $ |
📊 Format des données
Format des enregistrements de transactions
{
"date": "2025-01-20",
"id": 1,
"this_action": {
"action": "buy",
"symbol": "AAPL",
"amount": 10
},
"positions": {
"AAPL": 10,
"MSFT": 0,
"CASH": 9737.6
}
}
Format des données de prix
{
"Meta Data": {
"2. Symbol": "AAPL",
"3. Last Refreshed": "2025-01-20"
},
"Time Series (Daily)": {
"2025-01-20": {
"1. buy price": "255.8850",
"2. high": "264.3750",
"3. low": "255.6300",
"4. sell price": "262.2400",
"5. volume": "90483029"
}
}
}
Structure de stockage des données
data/agent_data/
├── claude-3.7-sonnet/
│ ├── position/
│ │ └── position.jsonl # 📝 Enregistrements de position
│ └── log/
│ └── 2025-01-20/
│ └── log.jsonl # 📊 Journaux de trading
├── gpt-4o/
│ └── ...
└── qwen3-max/
└── ...
🔧 Extensibilité
Agent IA personnalisé
# Créer une nouvelle classe d'agent IA
class CustomAgent(BaseAgent):
def __init__(self, model_name, **kwargs):
super().__init__(model_name, **kwargs)
# Ajouter une logique personnalisée
# Enregistrer dans main.py
AGENT_REGISTRY = {
"BaseAgent": {
"module": "agent.base_agent.base_agent",
"class": "BaseAgent"
},
"CustomAgent": { # Nouveau
"module": "agent.custom.custom_agent",
"class": "CustomAgent"
},
}
Ajouter des outils personnalisés
# Créer un nouvel outil MCP
@mcp.tools()
class CustomTool:
def __init__(self):
self.name = "custom_tool"
def execute(self, params):
# Implémenter la logique de l'outil personnalisé
return result
Configurer des modèles personnalisés
{
"agent_type": "CustomAgent",
"models": [
{
"name": "your-custom-model",
"basemodel": "your/model/path",
"signature": "custom-signature",
"enabled": true
}
]
}
🎯 Innovations clés
1. Environnement de trading entièrement reproductible
L'une des innovations clés d'AI-Trader est son environnement de trading entièrement reproductible, garantissant la rigueur scientifique de l'évaluation des performances des agents IA.
Mécanisme de relecture temporelle :
{
"date_range": {
"init_date": "2025-01-01", // Date de début arbitraire
"end_date": "2025-01-31" // Date de fin arbitraire
}
}
Contrôle des limites d'information :
- 📊 Limites des données de prix : L'accès aux données de marché est restreint à l'horodatage de la simulation et à l'historique.
- 📰 Exécution temporelle des nouvelles : Filtrage en temps réel pour empêcher l'accès aux nouvelles et annonces futures.
- 📈 Chronologie des rapports financiers : Les informations sont limitées aux données officielles publiées à la date de simulation actuelle.
- 🔍 Portée de l'intelligence historique : L'analyse de marché est limitée à la disponibilité des données appropriées dans le temps.
2. Valeur de la recherche scientifique
- 📊 Recherche sur l'efficience du marché : Évaluer la performance de l'IA dans différentes conditions de marché et volatilités.
- 🧠 Analyse de la cohérence des décisions : Examiner la stabilité temporelle et les modèles de comportement de la logique de trading de l'IA.
- 📈 Évaluation de la gestion des risques : Vérifier l'efficacité des stratégies d'atténuation des risques pilotées par l'IA.
- 🏆 Accès égal à l'information : Tous les modèles d'IA utilisent les mêmes ensembles de données historiques.
- 🔍 Reproductibilité complète : Transparence expérimentale totale et résultats vérifiables.
📈 Analyse des performances
Lancer le tableau de bord Web
cd docs
python3 -m http.server 8000
# Accéder à http://localhost:8000
Indicateurs de performance
- 📊 Taux de rendement total
- 📈 Ratio de Sharpe
- 📉 Perte maximale (Maximum Drawdown)
- 💰 Rendement annualisé
- 📝 Fréquence des transactions
- 🎯 Statistiques de taux de réussite
🔮 Plans futurs
- 🇨🇳 Support des actions A - Extension au marché boursier chinois.
- 📊 Statistiques après-marché - Analyse automatique des profits et pertes.
- 🔌 Marché de stratégies - Ajout d'une plateforme de partage de stratégies tierces.
- 🎨 Interface front-end moderne - Tableau de bord Web modernisé.
- ₿ Cryptomonnaies - Support du trading de monnaies numériques.
- 📈 Plus de stratégies - Analyse technique, stratégies quantitatives.
- ⏰ Relecture avancée - Support de la précision temporelle à la minute et de la relecture en temps réel.
- 🔍 Filtrage intelligent - Détection et filtrage plus précis des informations futures.
🤝 Guide de contribution
Nous accueillons toutes les formes de contributions ! En particulier les stratégies de trading IA et les implémentations d'agents.
Méthodes de contribution
1. 🎯 Stratégies de trading
- Contribuez vos implémentations de stratégies de trading IA.
- Partagez des idées et des algorithmes de trading uniques.
2. 🤖 Agents personnalisés
- Implémentez de nouveaux types d'agents IA.
- Optimisez la performance des agents existants.
3. 📊 Outils d'analyse
- Ajoutez de nouveaux outils d'analyse de marché.
- Améliorez les indicateurs d'évaluation des performances.
4. 🔍 Sources de données
- Intégrez de nouvelles sources de données et API.
- Étendez la couverture du marché.
Domaines de contribution aux stratégies
- 📈 Stratégies d'analyse technique : Stratégies IA basées sur des indicateurs techniques.
- 📊 Stratégies quantitatives : Modèles multifactoriels et analyse quantitative.
- 🔍 Stratégies fondamentales : Stratégies d'analyse basées sur les données financières.
- 🌐 Stratégies macroéconomiques : Stratégies basées sur les données macroéconomiques.
Processus de soumission
- Forker le projet.
- Créer une branche de fonctionnalité.
- Implémenter votre stratégie ou fonctionnalité.
- Ajouter des cas de test.
- Créer une Pull Request.
📞 Contact et support
- 💬 Forum de discussion : GitHub Discussions
- 🐛 Remontée de problèmes : GitHub Issues
- 📧 Contact par e-mail : your-email@example.com
📄 Licence open source
Ce projet est sous licence MIT License.
🙏 Remerciements
Merci aux projets et services open source suivants :
- LangChain - Cadre de développement d'applications IA.
- MCP - Protocole de contexte de modèle.
- Alpha Vantage - API de données financières.
- Jina AI - Service de recherche d'informations.
⭐ Valeur du projet
AI-Trader n'est pas seulement un système de trading, mais une plateforme innovante pour explorer la capacité de l'IA à prendre des décisions autonomes sur les marchés financiers :
✨ Valeur académique : Fournit un cadre de recherche reproductible pour l'application de l'IA dans la finance. ✨ Valeur technique : Démontre la puissante capacité de la chaîne d'outils MCP dans des applications réelles. ✨ Valeur pratique : Offre une solution complète de trading autonome par IA. ✨ Valeur open source : Favorise le partage ouvert et la collaboration innovante des stratégies de trading IA.