Statut : En pause
ForexSaaS
Une solution d’aide à la décision qui combine données de marché, analyse technique, analyse fondamentale et automatisation.
- 3sources de données
- 5analyseurs
- 3moteurs de score
- 1module de backtesting
Outil d’aide à la décision : aucune exécution d’ordre, aucune garantie de rendement, aucun conseil financier.
Contexte
Le marché des devises produit en continu des données techniques (prix) et fondamentales (indicateurs macro-économiques). Les analyser à la main prend du temps et reste subjectif.
Problème
Croiser analyse technique, contexte macro-économique et gestion du risque oblige à consulter plusieurs sources et à refaire les mêmes calculs chaque jour.
Objectif
Collecter ces données, les analyser et présenter des scores argumentés. L’outil n’exécute aucun ordre et ne promet aucun rendement : l’utilisateur décide.
Architecture
Une chaîne de traitement en tâches planifiées — collecte, analyse, scoring, alertes — exposée par une API et visualisée dans un tableau de bord.
- CollectePrix OHLCV (Twelve Data), indicateurs macro-économiques (FRED), données Finnhub, historiques.
- AnalyseIndicateurs techniques, structure de marché, sessions de cotation, concepts ICT, calcul du risque.
- ScoringScores de confluence et de confiance qui expliquent pourquoi un contexte est favorable ou non.
- BacktestingÉvaluation des règles sur données historiques et mesure de performance.
- AlertesNotifications par e-mail.
- Tableau de bordNext.js : graphiques en chandeliers, jauges de score, panneaux macro et backtest.
Technologies
- Python
- FastAPI
- SQLAlchemy
- Alembic
- pandas
- NumPy
- ta
- Celery
- Redis
- PostgreSQL
- Next.js
- React
- Tailwind CSS
- Docker
Fonctionnalités
- Collecte planifiée de trois sources de données
- Analyse technique et analyse de la structure de marché
- Contexte macro-économique intégré à l’analyse
- Scores de confluence et de confiance
- Calcul du risque adapté à chaque paire de devises
- Backtesting sur données historiques
- Alertes par e-mail et tableau de bord d’administration
Décisions techniques
Aider à décider, pas décider
Le système n’exécute aucun ordre. Il explique un contexte à partir de critères lisibles : la décision reste humaine.
Des tâches découplées
Collecte, analyse, notification et rétention sont des tâches Celery distinctes : chacune peut échouer ou être relancée sans bloquer les autres.
Des choix documentés
Les décisions techniques structurantes sont consignées dans des ADR (Architecture Decision Records).
Difficultés
La précision des paires en yen
Un pip vaut 0,01 sur les paires JPY contre 0,0001 sur les autres. Le calcul du risque et le backtesting ont été corrigés pour en tenir compte.
Itérer par sprints
Le projet a avancé par sprints successifs, chacun apportant une brique : collecte, analyse, scoring, backtesting, calibration.
Résultat
En pause. Backend de collecte, d’analyse, de scoring et de backtesting, et tableau de bord Next.js.
Évolution possible
- Consolider le code dans un dépôt versionné et testé
- Étendre la couverture de tests
- Pondérer les scores par apprentissage, validé par backtesting
Code et démo
Code non publié