Marché financier à risque — Plateforme d'aide à la décision en cours
Statut : Projet personnel privé (code source non public).
Ce projet ne constitue pas un conseil financier et n’est pas proposé comme service d’investissement.
Objectif
Ce projet est une plateforme modulaire conçue pour transformer une pratique réactive et émotionnelle des marchés financiers à risque en une démarche pilotée par les données et les statistiques.
Le projet répond à un besoin réel : réduire les biais comportementaux (panique, FOMO, revenge trading) en s'appuyant sur des indicateurs de marché, de l'OSINT, du machine learning et l'analyse de l'historique de trading.
Ce projet démontre une architecture backend modulaire, l'intégration de pipelines Machine Learning, le traitement de données financières multi-sources, et la conception d'interfaces orientées aide à la décision.
Stack technique
Backend
- Framework : Java 21 / Spring Boot / Spring WebFlux
- Architecture : Monolithe modulaire organisé par domaines métier
risk-engine: gestion du risque et dimensionnement des positionspsychology-engine: détection de patterns comportementauxtrading-journal: journalisation complète des opérationscounterfactual: analyse contrefactuellemarket-data-aggregator: agrégation données de marché temps réel
- Persistance : PostgreSQL avec migrations Flyway versionnées
Frontend
- Framework : Angular (composants standalone, signals)
- Objectif : Interface orientée aide à la décision, dashboard temps réel, visualisations de stratégie
Machine Learning
- Framework : Python 3 avec FastAPI — service indépendant exposant une API HTTP, déployé séparément du backend Java
- Pipeline : ensemble de modèles avec probabilités calibrées, validation walk-forward, détection de data drift *(dérive statistique des données signalant que les conditions de marché ont changé)*, modélisation de volatilité et de régimes de marché
OSINT & données externes
- Module Spring Boot indépendant — frontières métier claires, extractible en microservice comme les autres modules du monolithe
- Agrégation multi-sources d'événements externes catégorisés : réglementation, macro-économie, sentiment de marché, dérivés, données on-chain, infrastructure des plateformes
- Consensus pondéré intégré au pipeline de décision
Messagerie asynchrone
- Broker : RabbitMQ via Spring AMQP — découplage entre composants, robustesse du système
Qualité logicielle
- SonarQube : analyse statique continue — dette technique, code smells, vulnérabilités, quality gates
Architecture
Fonctionnalités principales
Moteur de gestion du risque
- Dimensionnement automatique des positions selon le risque défini
- Stop-loss adaptatif basé sur l'ATR (Average True Range)
- Détection de "chasse au stop" (washouts avant retournement)
- Garde-fous anti-surtrading : limite quotidienne de transactions, cooldown entre trades
Machine Learning — probabilités de retournement et estimation de fourchettes de prix du range
- Ensemble de modèles avec probabilités calibrées et fourchettes de prix cibles
- Validation walk-forward (évite l'overfitting sur données financières)
- Détection de data drift *(dérive statistique des données signalant que les conditions de marché ont changé)* et périodes de confiance réduite en cas de drift détecté
- Modélisation de volatilité et identification de régimes de marché cachés
Psychologie du trading
- Détection de patterns comportementaux sur l'historique réel : revenge trading, biais horaires, escalade d'engagement
- Signal anti-panique combinant lecture de marché, ML et historique du trader
Journal de trading & analyse contrefactuelle
- Enregistrement complet de chaque opération : entrée, sortie, ratio risque/rendement réalisé
- Annotation libre par trade, réconciliation automatique
- Simulation d'alternatives : "que se serait-il passé avec une décision différente ?"
Compétences démontrées
- Conception d'une architecture backend modulaire à grande échelle avec Spring Boot
- Intégration de pipelines Machine Learning : validation, drift detection *(détection automatique que le modèle n'est plus aligné avec les données réelles)*, calibration
- Traitement de données financières temps réel et gestion d'incohérences (réseau, slippage)
- Design d'interfaces orientées aide à la décision (tableaux de bord, alertes, visualisations)
- Découplage asynchrone via messagerie (RabbitMQ)
- Agrégation multi-sources de données externes et normalisation de signaux hétérogènes
- Développement piloté par les tests sur des composants à fort volume de sources
- Contrôle qualité continu avec SonarQube : suivi de la dette technique, des smells et des vulnérabilités via quality gates
Avancement
Réalisé
- Socle backend modulaire (Spring Boot, tous les modules métier)
- Pipeline Machine Learning complet : modèles d'ensemble, walk-forward, drift, volatilité, régimes
- Module OSINT : 50+ providers, consensus pondéré multi-sources intégré au pipeline
- Interface Angular (composants standalone, dashboard, page calendrier macro)
- Messagerie asynchrone RabbitMQ opérationnelle
En cours
- Utilisation de l'application en conditions réelles pour tester et valider l'efficacité des modèles ML sur des marchés actifs
- Paper trading — simulation de trades sans capital engagé pour tester les stratégies et les signaux sur les marchés financiers
- Module OSINT actif : pondération des événements géopolitiques, financiers (décisions BCE/Fed, guerres, crises) et intégration au pipeline de décision
- Affinement et extension des modèles ML
- Visualisations avancées et dashboard complet
- Quality gates SonarQube
Prévu
- Extraction de modules en microservices indépendants (les frontières sont déjà tracées dans le monolithe modulaire)
- Extension à d'autres classes d'actifs (actions, indices, dérivés)
- Intégration de Renovate pour la gestion automatisée de l'évolution des dépendances