Files
trader-ml/docs/PROJECT_STATUS.md
Tika bf530215e0 docs: mise à jour complète de la documentation (état réel 2026-03-08)
- 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>
2026-03-08 21:13:01 +00:00

6.8 KiB
Raw Blame History

É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é)

  1. Tester MLDrivenStrategy — lancer POST /trading/train sur EURUSD/1h, évaluer wf_accuracy, comparer en backtest vs scalping
  2. Améliorer stratégie scalping — win rate ~39% (légèrement sous seuil). Option : TP=4×ATR (R:R=2:1, breakeven à 34%)
  3. Persistance ML state — sauvegarder modèle HMM pour éviter re-training à chaque /ml/status
  4. PaperTradingEngine.run() — compléter les TODOs de la boucle live
  5. Sentiment Analysissrc/data/sentiment_service.py (Alpha Vantage News + FinBERT)
  6. IG Markets connector — Phase 5, après 30 jours paper trading validé

Dépôt Git

Légende

  • Terminé
  • 🟡 En cours
  • Planifié