Python • Fintech • Analyse de données

Finarius – Moteur d'analyse de portefeuille respectueux de la vie privée

Moteur d'analyse de portefeuille open-source et respectueux de la vie privée, apportant des métriques financières de niveau institutionnel dans un environnement Python local-first.

23 déc. 2025

Contexte

Gérer un portefeuille d'investissement diversifié oppose souvent commodité et confidentialité. Les plateformes cloud offrent un suivi fluide mais exigent de téléverser des données financières sensibles sur des serveurs tiers. Finarius a été conçu pour éliminer ce compromis, en proposant une alternative auto-hébergée qui rivalise avec la profondeur analytique de services premium comme Finary tout en conservant 100 % des données sur la machine de l'utilisateur.

Le projet sert de hub financier « Local-First » complet, capable de reconstruire les performances historiques et de projeter les tendances futures à partir des données de transactions brutes et des flux de marché en temps réel.


Architecture technique et ingénierie

Finarius est construit avec une stack Python modulaire, utilisant Streamlit pour l'interface, Pandas pour le traitement des données et SQLite pour la persistance locale.

Moteur de portefeuille

Au cœur de Finarius se trouve un moteur personnalisé conçu pour reconstruire l'état d'un portefeuille à tout moment. Contrairement aux simples feuilles de calcul, le moteur traite l'intégralité de l'historique des transactions pour calculer :

  • Précision historique : Reconstruit les positions à toute date pour générer des snapshots « valeur dans le temps »
  • Coût de base (PRU) : Implémente la logique FIFO (First-In, First-Out) pour calculer le coût unitaire moyen, en tenant compte des frais de transaction pour un reporting précis des gains/pertes
  • Polyvalence des actifs : Supporte plusieurs classes d'actifs (actions, ETF, livrets) dans diverses devises et comptes

Pipeline de données de marché intégré

Pour fournir des insights de niveau professionnel sans saisie manuelle, j'ai intégré l'API Yahoo Finance (yfinance).

  • Synchronisation automatisée : Le système récupère les prix historiques et en temps réel pour visualiser la progression avant même le lancement de l'app
  • Cache résilient : Pour respecter les limites de débit de l'API et permettre l'analyse hors ligne, les données de prix sont mises en cache dans une base SQLite locale avec expiration configurable

Tableau de bord Finarius


Analytique financière avancée

Finarius se distingue en calculant des métriques de risque et de rendement complexes généralement réservées aux offres premium.

Analyses poussées

Indicateurs de performance

La plateforme calcule une suite de rendements pondérés dans le temps et pondérés par les flux pour une vue objective de la performance :

  • TWRR & IRR : Élimine les distorsions causées par les flux de trésorerie externes (dépôts/retraits) pour mesurer la vraie compétence d'investissement
  • Métriques de risque : Calcule le ratio de Sharpe pour les rendements ajustés au risque et le Max Drawdown pour évaluer la volatilité et les baisses

Indicateurs techniques

Au-delà du simple P&L, le système évalue la sensibilité du portefeuille aux mouvements de marché en calculant le Bêta par rapport à des benchmarks comme le S&P 500, permettant de comprendre l'exposition aux mouvements de marché plus larges.


Sécurité et souveraineté des données

La contrainte principale de ce projet était une confidentialité absolue des données.

  • Zéro télémétrie : Pas de suivi, pas d'analytics tiers, pas de synchronisation cloud. Le seul trafic réseau sortant est vers l'API Yahoo Finance pour les mises à jour de prix
  • Auditabilité : Projet open-source sous licence MIT, chaque calcul et interaction base peut être audité par l'utilisateur, garantissant l'absence de vulnérabilités cachées ou de fuites de données

Saisie de transactions


Bilan

Finarius est une réponse à la « SaaS-ification » de la finance personnelle. Il démontre que des outils financiers de niveau professionnel ne nécessitent pas le sacrifice de la confidentialité des données. En combinant la flexibilité de Python à la robustesse du stockage SQL local, Finarius fournit un cadre scalable, privé et puissant pour l'investisseur.