BeRich
Retour au tableau de bord

Sous le capot — ce que fait réellement BeRich

Une vision complète et à jour du pipeline : comment les données sont acquises, comment les features sont construites, comment les modèles sont entraînés, choisis et optimisés, à quelle fréquence tout est ré-entraîné, et — surtout — comment lire les signaux et d'où viennent les stops et objectifs. BeRich est un outil indicatif : aucun modèle ne bat actuellement le « acheter et garder » en out-of-sample, et c'est affiché honnêtement partout.

Données
OHLCV (prix)RésultatsNews → FinBERTFondamentaux
Feature engineering
22 de base + microstructure + familles optionnelles — toutes causales
Labellisation triple-barrière
P(gain) — objectif +2×ATR / stop −1×ATR · point mort ~33 %
Entraînement walk-forward — zoo de modèles
LightGBM · LSTM · PatchTST · TFT · ensemble · modèles par classe d'actif
⟵ HPO (Optuna : objectif AUC / rank-IC + recherche de features) règle params et features
Guard rule
bat la baseline ET le buy & hold ? → promotion · sinon on garde l'ancien
Calibration + filtre méta
probabilité honnête + filtre de précision optionnel
Signaux
stop-loss & take-profit adaptatifs à la volatilité · sizing à 1 % de risque
ACHAT ≥ 0,35NEUTREVENTE ≤ 0,30
Tableau de bord + portefeuille papier

1. Vue d'ensemble

BeRich estime, pour chaque actif, une probabilité de tendance haussière à horizon de quelques jours (pas d'intraday) : la chance que la barrière haute (objectif) soit touchée avant la barrière basse (stop) dans les N prochains jours. Ce n'est PAS une prédiction de prix.

Règle d'or non négociable : un modèle n'est « promu » (servi en production) que s'il bat à la fois la baseline LightGBM ET le simple « acheter et garder », en walk-forward, hors échantillon, avec frais et slippage réalistes. Tant que ce n'est pas le cas, tout est affiché comme indicatif. À ce jour, aucun modèle ne franchit cette barre — c'est volontaire et honnête.

2. Acquisition des données

Tout part de données quotidiennes (barres journalières), récupérées et mises en cache localement (Parquet).

  • Prix OHLCV (ouverture, haut, bas, clôture, volume) via yfinance, depuis 2010, ajustés des splits/dividendes.
  • Univers : ~274 actions US (10 méga-caps + ~113 mid + ~151 small), plus 8 actions FR, 5 paires forex, 3 cryptos, 3 matières premières.
  • Calendrier de résultats (earnings) : dates passées et futures, surprises EPS.
  • Actualités via Alpha Vantage, puis score de sentiment par FinBERT (voir §4).
  • Fondamentaux trimestriels (CA, résultat net, actifs, capitaux propres, dette) — historique court (~5 ans chez yfinance), donc usage prospectif.

3. Feature engineering

À partir des prix, on calcule des indicateurs « causaux » (ils n'utilisent que le passé jusqu'à la date t — jamais le futur). Le jeu de base compte 22 features ; des familles optionnelles s'ajoutent.

FamilleExemplesCapte
Base — momentumrendements 1/5j, momentum 10/20/60/120jtendance / élan
Base — oscillateursRSI 14, MACD (ligne/signal/histogramme)sur-achat / sur-vente
Base — volatilitéATR%, volatilité réalisée 20jrégime de risque
Base — tendance/MMécart aux moyennes 20/50j, distance aux plus hauts/bas 60jposition relative
Base — volume / calendrier / régimez-score volume, saisonnalité, rendement+vol du marché (SPY)liquidité, effets de calendrier, contexte marché
Microstructure (nouveau)CLV, gap d'ouverture, amplitude, Parkinson, illiquidité d'Amihud, spread de Rollliquidité, spread, position intraday
Earnings (opt.)jours avant/après résultats, surprisespression événementielle
News / FinBERT (opt.)sentiment moyen/extrême, divergence prix-sentimenttonalité des actualités
Fondamentaux (opt., point-in-time)marge nette, ROE, dette/capitaux, croissance CAqualité / valorisation

Important : les scalers (normalisation) sont calibrés uniquement sur la portion d'entraînement, jamais sur le test — pour éviter toute fuite d'information. La recherche d'hyperparamètres (§8) choisit elle-même quelles familles garder ; le modèle US actif utilise actuellement momentum + calendrier + microstructure.

4. FinBERT (sentiment des actualités)

FinBERT est un modèle de langage spécialisé en finance. Chaque actualité (titre + résumé) est classée en négatif / neutre / positif sur GPU. On en dérive un score de sentiment et des features (sentiment moyen sur 5 jours, intensité, divergence avec le prix). C'est le seul endroit où une IA de type « grand modèle de langage » intervient ; le reste repose sur des modèles tabulaires/séquentiels.

5. Comment on définit « gagner » (labellisation)

Méthode de la triple barrière : pour chaque jour, on ouvre un long hypothétique et on regarde les 10 jours suivants. Objectif = entrée + 2×ATR ; stop = entrée − 1×ATR ; barrière de temps = 10 jours.

  • Touche l'objectif en premier → label 1 (gagné).
  • Touche le stop en premier → label 0 (perdu).
  • Ni l'un ni l'autre en 10 jours → résolu par le signe du rendement final.

Le modèle apprend P(gain) = probabilité de toucher l'objectif avant le stop. Comme le ratio gain/risque est 2:1, le seuil de rentabilité n'est pas 50 % mais ~33 % : au-dessus de 33 % de chances de gain, l'espérance est positive.

6. Les modèles

Tous respectent une interface commune (entraînement / prédiction de probabilité), donc interchangeables.

  • LightGBM : arbres de décision boostés (CPU, rapide) — c'est la baseline et le modèle US actuellement servi.
  • LSTM, PatchTST (transformeur), TFT : réseaux profonds sur GPU (pur PyTorch), lisant l'historique récent par séquences.
  • Ensemble (stacking) : un méta-modèle combine les avis des modèles de base, sans fuite (validation croisée temporelle).
  • Modèles dédiés par classe d'actif : un modèle propre à la crypto, au forex, aux matières premières, aux actions FR (avec son proxy de régime : Bitcoin pour la crypto, indice dollar pour le forex).
  • Rankers long/short : versions « régression » pour classer les actifs entre eux (voir §11).

7. Entraînement, validation et choix du modèle

On utilise une validation « walk-forward » : on entraîne sur le passé, on prédit sur une fenêtre future jamais vue, on avance, et on répète. Un embargo (égal à l'horizon) sépare entraînement et test pour éviter tout chevauchement. C'est ainsi qu'on obtient des métriques honnêtes hors échantillon (AUC, Sharpe).

Le choix du modèle passe par la « guard rule » : la promotion est refusée automatiquement si le candidat ne bat pas à la fois la baseline ET le buy & hold (pour le long-only), ou s'il n'affiche pas un Sharpe positif et statistiquement significatif (Sharpe dégonflé / DSR, pour le market-neutral). Impossible de servir un modèle pire sans forçage explicite.

8. Recherche d'hyperparamètres (HPO)

Avec Optuna, on cherche automatiquement les meilleurs réglages — ET les meilleures features (chaque famille peut être activée/désactivée par la recherche). L'objectif n'est pas le Sharpe brut (trop sensible au biais de sélection) mais la VRAIE compétence de classement :

  • Tâche US (binaire) : on maximise l'AUC out-of-sample (pouvoir de discrimination).
  • Long/short : on maximise le rank-IC (corrélation de rang entre prédiction et réalité).

Les essais sont suivis dans MLflow et partagés dans une base commune entre les 2 GPU. Les meilleurs paramètres trouvés alimentent automatiquement le ré-entraînement nocturne.

9. Calibration et méta-étiquetage

Le modèle brut est souvent trop optimiste. La calibration (isotonique, ajustée hors échantillon) corrige la probabilité pour qu'elle colle à la réalité : si le modèle disait 0,63 mais ne gagnait en fait que 34 % du temps à ce niveau, la probabilité affichée devient 0,34. C'est cette probabilité honnête qui décide du signal.

Méta-étiquetage (optionnel) : un second modèle juge si le signal principal est fiable et peut rétrograder un ACHAT douteux en NEUTRE — un filtre de précision.

10. Cadence de ré-entraînement (automatique)

Tout tourne seul, chaque jour ouvré (heure de Paris) :

HeureTâche
22:30Données du jour + signaux + portefeuille papier
22:45Rafraîchissement de l'univers long/short (~274 actifs)
23:00HPO nocturne léger (params + features)
23:30Ré-entraînement du zoo US (utilise les meilleurs params HPO + guard)
23:35Ré-entraînement des modèles dédiés par classe d'actif
23:45Génération du panier long/short
Samedi 08:00 / 12:00Contrôle de dérive (drift) / HPO approfondi sur GPU

11. Stratégie marché-neutre (long/short)

Au lieu de parier « le marché monte », on classe ~274 actions chaque jour, on achète le meilleur décile et on vend à découvert le pire, à montants égaux (dollar-neutre). On ne gagne alors que sur l'écart entre bons et mauvais titres — le mouvement global du marché est neutralisé. Rééquilibrage tous les ~5 jours, pondération inverse-vol, gate sur le Sharpe dégonflé. À ce jour, le rank-IC est ≈ 0 (pas de compétence de tri exploitable) — donc aucun edge validé, affiché comme tel.

12. Comment lire les signaux (achat / stop / objectif)

Pour chaque actif, le tableau de bord montre une probabilité de gain calibrée P(win) et un verdict :

P(win) calibréeSignalSens
≥ 0,35ACHAT (BUY)nettement au-dessus du point mort (~0,33) → espérance positive
entre 0,30 et 0,35NEUTREpas d'edge clair — ni achat ni vente franc
≤ 0,30VENTE (SELL)sous le point mort → espérance négative

Point crucial : NEUTRE ne veut PAS dire « vends ». Cela signifie « pas de signal franc ». Le seuil d'achat (0,35) tient compte du payoff 2:1 (point mort ~0,33).

  • Prix d'entrée : la dernière clôture.
  • Stop-loss (où couper la perte) : entrée − 1×ATR × facteur de volatilité. Le facteur élargit le stop quand le marché est agité, le resserre quand il est calme (SL/TP adaptatifs). Quand un modèle distributionnel est disponible, le stop peut aussi venir du quantile bas (q10) du rendement prévu.
  • Take-profit (où prendre le bénéfice) : entrée + 2×ATR × facteur de volatilité (ou quantile haut q90).
  • Taille de position : calculée pour ne risquer qu'1 % du capital jusqu'au stop.
  • Bande q10–q90 : quand affichée, c'est l'éventail de rendements prévus (incertitude).

13. Honnêteté & limites

BeRich ne prétend pas avoir un edge. La meilleure discrimination US actuelle (AUC ≈ 0,536) reste faible (0,5 = hasard), et rien ne bat le buy & hold sur le Sharpe. La microstructure est le levier de features le plus prometteur à ce jour ; les fondamentaux ne sont pas validables faute d'historique. Les signaux sont des aides à la décision, PAS des conseils financiers. La bannière « indicatif / expérimental » est affichée partout, et la guard rule empêche toute promotion non méritée.