Ce système de trading automatisé combine plusieurs technologies de pointe pour créer un trader IA capable d'analyser les marchés, prendre des décisions éclairées et exécuter des ordres de manière totalement autonome, tout en respectant des contraintes de sécurité strictes.
Le cœur du système repose sur Grok-3, le modèle d'IA développé par xAI (entreprise d'Elon Musk). Contrairement à un simple algorithme de trading, Grok raisonne comme un trader humain expérimenté.
Grok reçoit un contexte complet : état du portfolio, positions ouvertes, prix en temps réel, historique sur 5 jours, et ses trades passés.
Grok peut rechercher des actualités et analyses récentes sur n'importe quelle action pour comprendre le sentiment du marché.
Capacité à récupérer et analyser les données fondamentales d'une entreprise (P/E ratio, croissance, dividendes).
Chaque décision est accompagnée d'une explication détaillée du raisonnement suivi par l'IA.
Tous les 5 trades, Grok analyse ses propres performances et identifie ses erreurs pour s'améliorer.
Grok calcule automatiquement la taille de position optimale en fonction du risque et du capital disponible.
15h30 - Début du cycle de trading
1. Grok reçoit le contexte :
- Portfolio : $95,000 cash, 10 actions AAPL (+$125 profit)
- Watchlist : AAPL, MSFT, GOOGL, JPM, WMT, JNJ, XOM, BAC, COST, UNH, CVX
- Prix en temps réel + historique 5 jours
2. Grok analyse chaque action :
- AAPL : déjà en position, profit actuel +7%
- MSFT : recherche web → "Azure cloud revenue +28% YoY"
- GOOGL : tendance baissière depuis 3 jours
3. Grok décide :
{
"decision": "BUY",
"symbol": "MSFT",
"reasoning": "Microsoft montre une forte croissance Azure.
Tendance haussière confirmée. Bon point d'entrée.",
"confidence": 0.78,
"quantity": 12
}
4. Risk Manager valide :
✅ MSFT dans watchlist
✅ Prix acceptable
✅ Position < 10% du portfolio
✅ Aucun circuit breaker actif
→ TRADE APPROUVÉ
5. Exécution (Bracket Order) :
- Achat : 12 MSFT @ $420 = $5,040
- Stop-loss auto : $378 (-10%)
- Take-profit auto : $483 (+15%)
6. Logging complet dans la base de donnéesLa sécurité est au cœur du système. Plusieurs mécanismes empêchent tout comportement dangereux :
Pause automatique d'1 heure pour éviter une spirale de pertes.
Arrêt jusqu'au lendemain si la perte quotidienne dépasse 5%.
Pause de 30 minutes si Grok génère des erreurs techniques.
Bouton d'arrêt d'urgence dans le dashboard pour stopper immédiatement.
Chaque ordre d'achat est automatiquement accompagné de deux ordres de protection :
Interface web en temps réel (Streamlit) avec thème Matrix pour visualiser toute l'activité du bot :
Valeur du portfolio, cash disponible, buying power, positions ouvertes - mise à jour automatique toutes les 30 secondes.
Courbe verte style Matrix montrant l'évolution de la valeur du portfolio dans le temps.
Taux de réussite, nombre de trades, graphique succès vs échecs.
Tableau détaillé avec symbole, quantité, prix d'entrée, prix actuel, P&L en $ et %.
Historique des 10 dernières décisions avec raisonnement complet et niveau de confiance.
Tous les trades exécutés avec statut (succès/échec) et détails.
Affichage en temps réel des mécanismes de sécurité déclenchés.
Bouton d'arrêt d'urgence pour stopper le trading instantanément.
Backend :
- Python 3.13
- SQLAlchemy 2.0 (ORM)
- APScheduler (cycles automatiques)
- OpenAI SDK (client Grok)
APIs :
- Alpaca Markets API (broker paper trading)
- xAI Grok API (intelligence artificielle)
Frontend :
- Streamlit (dashboard web)
- Plotly (graphiques interactifs)
Base de données :
- SQLite (4 tables : trades, portfolio_snapshots,
grok_decisions, circuit_breaker_events)Lundi-Vendredi, 9h30-16h00 ET (15h30-22h00 Paris)
Toutes les 30 minutes :
1. ✅ Vérifier circuit breakers actifs
2. 📊 Récupérer données marché (11 actions watchlist)
3. 💰 Récupérer état du portfolio
4. 🤖 Demander décision à Grok AI
└─ Tool calling : web_search, get_stock_details, calculate_position_size
5. 🛡️ Valider avec Risk Manager (8 checks)
6. 💵 Exécuter bracket order si validé
7. 📝 Logger tout dans la base de données
8. 📸 Sauvegarder snapshot du portfolio
9. 🎯 Auto-critique si cycle % 5 == 0Chaque action du bot est enregistrée dans une base de données SQLite locale :
Historique complet de tous les trades exécutés (réussis ou échoués) avec timestamp, symbole, action, quantité, prix, reasoning, order_id.
État du portfolio à chaque cycle : valeur totale, cash, positions (JSON), buying power, P&L quotidien.
Toutes les décisions de Grok (exécutées ou rejetées) avec contexte complet, analyse, niveau de confiance, et raison de rejet si applicable.
Événements de sécurité : type (consecutive_losses, daily_loss, etc.), raison, durée, timestamp de reprise.
Le système intègre un mécanisme d'apprentissage par auto-critique :
Watchlist (11 actions) :
AAPL, MSFT, GOOGL, JPM, WMT, JNJ, XOM, BAC, COST, UNH, CVX
(Grandes capitalisations stables uniquement)
Blacklist (interdites) :
GME, AMC, TSLA (trop volatiles)
Limites de trading :
- Max positions : 5
- Max position size : 10% du portfolio
- Max absolue : $20,000 par trade
- Stop-loss : -10%
- Take-profit : +15%
Fréquence :
- Cycle : 30 minutes
- Heures : Lun-Ven 9h30-16h00 ET (15h30-22h00 Paris)Ce projet est avant tout expérimental et éducatif. Les objectifs principaux sont :
Les résultats de cette expérimentation permettront de mieux comprendre :
Projet développé par François MENGUY
Stack : Python 3.13, Grok-3 (xAI), Alpaca Markets, Streamlit, SQLAlchemy
Mode : Paper Trading exclusivement | Février 2026