- PROJECT_STATUS.md : réécriture complète — phases 1-4b terminées à 100%, routes API exhaustives, fixes critiques documentés, à-faire priorisé - STRATEGY_GUIDE.md : ajout section ML-Driven Strategy avec features, labels, usage API et paramètres de configuration - AI_FRAMEWORK.md : ajout section ML-Driven + tableau statut implémentation, différenciation HMM/Optuna/MLStrategy - ARCHITECTURE.md : ajout structure réelle du code avec les nouveaux fichiers ml_strategy_model.py, features/, ml_driven/ annotés [NOUVEAU] Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
6.8 KiB
6.8 KiB
État d'Avancement du Projet — Trading AI Secure
Dernière mise à jour : 2026-03-08 Version : 0.5.0-beta Statut Global : 🟡 En Développement Actif
Vue d'Ensemble
| Phase | Statut | Progression |
|---|---|---|
| Phase 1 : Architecture & Infrastructure | ✅ Terminé | 100% |
| Phase 2 : IA Adaptative | ✅ Terminé | 100% |
| Phase 3 : Stratégies & Backtesting | ✅ Terminé | 100% |
| Phase 4 : Interface & Dashboard | ✅ Terminé | 100% |
| Phase 4b : ML-Driven Strategy | ✅ Terminé | 100% |
| Phase 5 : IG Markets (Live) | ⚪ Planifié | 0% |
Phase 1 — Architecture & Infrastructure ✅
Docker (8 services)
| Container | Port | Statut |
|---|---|---|
| trading-api | 8100 | ✅ Opérationnel |
| trading-ml | 8200 | ✅ Opérationnel |
| trading-dashboard | 8501 | ✅ Opérationnel |
| trading-jupyter | 8888 | ✅ Opérationnel |
| trading-grafana | 3100 | ✅ Opérationnel |
| trading-db (TimescaleDB) | interne | ✅ Opérationnel |
| trading-redis | interne | ✅ Opérationnel |
| trading-prometheus | interne | ✅ Opérationnel |
Modules Core
| Module | Fichier | Statut |
|---|---|---|
| ConfigLoader | src/utils/config_loader.py |
✅ Env vars + YAML + Docker overrides |
| Logger | src/utils/logger.py |
✅ |
| RiskManager (Singleton) | src/core/risk_manager.py |
✅ VaR/CVaR/circuit breakers/Telegram |
| NotificationService | src/core/notifications.py |
✅ Telegram + Email |
| StrategyEngine | src/core/strategy_engine.py |
✅ |
| DataService | src/data/data_service.py |
✅ Yahoo Finance + Alpha Vantage |
| SQLAlchemy models | src/db/models.py |
✅ Trade, OHLCVData, BacktestResult, MLModelMeta |
Phase 2 — IA Adaptative ✅
| Composant | Fichier | Statut | Notes |
|---|---|---|---|
| MLEngine | src/ml/ml_engine.py |
✅ | Intégré à StrategyEngine |
| RegimeDetector (HMM) | src/ml/regime_detector.py |
✅ | 3 régimes : trend/range/volatile |
| FeatureEngineering | src/ml/feature_engineering.py |
✅ | 50+ features |
| ParameterOptimizer (Optuna) | src/ml/parameter_optimizer.py |
✅ | TPE Sampler + MedianPruner, walk-forward |
| WalkForwardAnalyzer | src/ml/walk_forward.py |
✅ | Out-of-sample validation |
| PositionSizing (Kelly) | src/ml/position_sizing.py |
✅ |
Optuna Optimizer — résultats sur EURUSD/1h (50 trials)
- best_sharpe = -0.378 (scalping légèrement perdant sur ce timeframe)
- Best params : bb_period=30, rsi_period=16, risk_per_trade=0.003
Phase 3 — Stratégies & Backtesting ✅
Stratégies Implémentées
| Stratégie | Fichier | Timeframe | Statut |
|---|---|---|---|
| ScalpingStrategy | src/strategies/scalping/ |
1h | ✅ Win rate ~39% (EURUSD) |
| IntradayStrategy | src/strategies/intraday/ |
4h | ✅ |
| SwingStrategy | src/strategies/swing/ |
1d | ✅ |
| MLDrivenStrategy | src/strategies/ml_driven/ |
Configurable | ✅ Nouveau (Phase 4b) |
Backtesting
| Composant | Statut | Notes |
|---|---|---|
| BacktestEngine | ✅ | DataService réel + fallback synthétique |
| WalkForwardAnalyzer | ✅ | Vrai out-of-sample |
| MetricsCalculator | ✅ | Sharpe, Drawdown, Win Rate, Profit Factor |
| PaperTradingEngine | ✅ | Boucle async avec asyncio.create_task |
Fixes critiques (sessions debug)
yfinance>=1.0.0(v0.2.32 était cassé, erreur HTTP 429)max_position_size=5.0(forex : notional value >> capital, ancien 0.05 rejetait tous les trades)scalping_strategy.py: volume_ratio=2.0 si forex, MACD momentum (pas zero-crossing), risk_per_trade=0.005- Optuna : objective retourne vrai Sharpe (pénalité -999 seulement si < 5 trades)
Phase 4 — Interface & Dashboard ✅
| Composant | Fichier | Statut |
|---|---|---|
| Dashboard Streamlit (5 onglets) | src/ui/dashboard.py |
✅ |
| Page Live Trading | src/ui/pages/live_trading.py |
✅ |
| Page ML Monitor | src/ui/pages/ml_monitor.py |
✅ |
| Page Analytics (Monte Carlo) | src/ui/pages/analytics.py |
✅ |
| API Client httpx | src/ui/api_client.py |
✅ |
Phase 4b — ML-Driven Strategy ✅ (2026-03-08)
Nouvelle stratégie qui apprend à trader comme un humain à partir de features TA classiques. Voir docs/ML_STRATEGY_GUIDE.md pour la documentation complète.
| Composant | Fichier | Statut |
|---|---|---|
| TechnicalFeatureBuilder (~50 features) | src/ml/features/technical_features.py |
✅ |
| LabelGenerator (forward simulation) | src/ml/features/label_generator.py |
✅ |
| MLStrategyModel (XGBoost/LightGBM) | src/ml/ml_strategy_model.py |
✅ |
| MLDrivenStrategy (hérite BaseStrategy) | src/strategies/ml_driven/ml_strategy.py |
✅ |
| Route POST /trading/train | src/api/routers/trading.py |
✅ |
| Route GET /trading/train/{job_id} | src/api/routers/trading.py |
✅ |
| Route GET /trading/ml-models | src/api/routers/trading.py |
✅ |
| Route GET /trading/ml-models/{s}/{tf}/importance | src/api/routers/trading.py |
✅ |
| Documentation | docs/ML_STRATEGY_GUIDE.md |
✅ |
Routes API — État Complet
| Méthode | Route | Statut |
|---|---|---|
| GET | /health |
✅ |
| GET | /ready |
✅ |
| GET | /trading/risk/status |
✅ |
| POST | /trading/risk/emergency-stop |
✅ |
| POST | /trading/risk/resume |
✅ |
| GET | /trading/positions |
✅ |
| GET | /trading/signals |
✅ Redis |
| GET | /trading/trades |
✅ DB |
| GET | /trading/ml/status |
✅ HMM |
| POST | /trading/backtest |
✅ async |
| GET | /trading/backtest/{job_id} |
✅ |
| POST | /trading/optimize |
✅ Optuna async |
| GET | /trading/optimize/{job_id} |
✅ |
| GET | /trading/paper/status |
✅ |
| POST | /trading/paper/start |
✅ |
| POST | /trading/paper/stop |
✅ |
| POST | /trading/train |
✅ ML-Driven async |
| GET | /trading/train/{job_id} |
✅ |
| GET | /trading/ml-models |
✅ |
| GET | /trading/ml-models/{symbol}/{timeframe}/importance |
✅ |
Phase 5 — IG Markets ⚪ (Planifié)
Prérequis : 30 jours de paper trading validé avec Sharpe ≥ 1.5 et Max DD ≤ 10% Référence : docs/IG_INTEGRATION.md
À Faire (par priorité)
- Tester MLDrivenStrategy — lancer
POST /trading/trainsur EURUSD/1h, évaluer wf_accuracy, comparer en backtest vs scalping - Améliorer stratégie scalping — win rate ~39% (légèrement sous seuil). Option : TP=4×ATR (R:R=2:1, breakeven à 34%)
- Persistance ML state — sauvegarder modèle HMM pour éviter re-training à chaque
/ml/status - PaperTradingEngine.run() — compléter les TODOs de la boucle live
- Sentiment Analysis —
src/data/sentiment_service.py(Alpha Vantage News + FinBERT) - IG Markets connector — Phase 5, après 30 jours paper trading validé
Dépôt Git
- Gitea : http://192.168.1.100:3000/tika/trader-ml.git
- Branche principale : master
Légende
- ✅ Terminé
- 🟡 En cours
- ⚪ Planifié