Aller au contenu

Ajout d'indicateurs de mes règles de gestion

Billet #272 : Ajout d'indicateurs de mes règles de gestion du portefeuille
Type : Fonctionnalité / Aide à la décision / Analyse métier
Composants concernés : code_source_simule/flask_app.py, code_source_simule/portfolio_metrics.py, templates/dashboard.html, templates/index.html, tests/test_portfolio_metrics.py, tests/test_dashboard.py, specs/015-refonte-indicateurs-portefeuille/


1. Contexte

Commençons ce rapport par un bref rappel de contexte. J'ai créé cette application avec un double objectif : avoir un outil personnel de décision d'achat et de vente de titres boursiers, et créer un laboratoire d'expérimentation de l'IA appliquée à l'ingénierie logicielle (voir ma Vision du projet).

Mes décisions d'achat et de vente suivent une stratégie d'investissement particulière documentée ici. Jusqu'ici, le tableau de bord n'affichait pas les informations permettant d'exécuter proprement cette stratégie, ce qui ralentissait mes analyses et ne préparait pas suffisamment le terrain pour la future IA de conseil.

2. Objectif

Rendre visibles, au bon endroit, les deux signaux de décision les plus importants de ma stratégie, et poser une base d'information contextuelle exploitable par l'IA qui sera implantée prochainement.

Concrètement, il s'agissait de :

  • synthétiser l'information pertinente à mes arbitrages en deux indicateurs clairs : les titres dont il faut sécuriser les gains, et les titres à renforcer ou liquider ;
  • ajouter la lecture « distance au prochain jalon » au niveau de chaque titre, là où la décision se prend réellement ;
  • garantir que ces signaux serviront demain de repères explicites pour que l'IA me conseille en cohérence avec ma stratégie.

3. Ce qui a été livré

  • Deux nouveaux indicateurs sur le tableau de bord :
    • Gains à sécuriser : tous les titres dont la variation de gain atteint ou dépasse +80 %, triés du plus élevé au plus faible.
    • Titres à renforcer ou liquider : tous les titres dont la variation de gain est inférieure ou égale à −20 %, triés du plus faible au plus élevé.
  • Une présentation lisible et disciplinée :
    • une seule ligne par titre, même si le titre apparaît sur plusieurs lignes de données ;
    • des pourcentages affichés avec une décimale et le symbole % ;
    • aucune limite à dix titres : tous les titres éligibles sont visibles.
  • Une jauge par titre sur la page « Titres de mon portefeuille », graduée de −100 à +100 avec une zone centrale blanche, un dégradé rouge vers la perte et vert vers le gain, et un seul symbole % global.
  • Un périmètre de calcul volontairement autonome : les indicateurs se basent strictement sur les données courantes du fichier, sans historique de transactions ni source de marché externe, en s'appuyant directement sur les valeurs Price et Purchase Price déjà disponibles.

4. Impact business

  • Décision plus rapide : les titres à sécuriser et ceux à arbitrer sont identifiables d'un coup d'œil, sans calcul mental.
  • Carburant pour l'IA à venir : ces indicateurs formalisent ce qui compte pour moi et serviront de contexte explicite à la future IA de conseil.
  • Lecture au bon niveau : la jauge par titre rapproche l'information du point exact où la décision se prend.
  • Fiabilité de l'information : un calcul autonome, sans dépendance externe, réduit le risque d'incohérence au moment de décider.

5. Validation et statut

  • Suite de tests complète au vert : 185 passed.
  • Comportements clés couverts par des tests dédiés : seuils +80 % et −20 %, tri par sévérité, unicité par titre, format des pourcentages, normalisation de la jauge dans l'intervalle [−100, +100].
  • Couverture recalculée après les changements : portfolio_metrics.py à 98 %, flask_app.py à 94 %.
  • Billet de traçabilité associé : #272.

6. Leçons apprises

  1. Traduire une stratégie personnelle en indicateurs simples est déjà, en soi, une préparation directe au conseil automatisé.
  2. Un périmètre de calcul autonome et bien délimité est plus robuste et plus facile à expliquer à une future IA qu'un empilement de sources.
  3. La visibilité sur le coût token fait désormais partie de ma discipline de livraison : pour tout le périmètre de cette session (implémentation de la fonctionnalité, documentation associée et Chapitre 4), le coût brut constaté atteint 16,47 $, pour un crédit IA total de 1 640,19. Rendre ce coût explicite m'aide à évaluer la valeur livrée et à orienter mes prochaines optimisations.