Retour aux projets

Finance personnelle · Python · PyQt6

Application de suivi de patrimoine

Ce projet est directement lié au projet « Backtest et optimisation de portefeuille »: le module de simulation/optimisation alimente ici l’analyse patrimoniale globale. C’est une application Python orientée finance patrimoniale construite autour d’une architecture modulaire (couches services + interface Qt + base SQLite). Elle agrège des transactions de plusieurs comptes (banque, livret, PEA/CTO, private equity), normalise les données et produit des snapshots hebdomadaires pour suivre l’évolution du patrimoine dans le temps. Le module analytics calcule des métriques risque/rendement avec neutralisation des flux (achats/ventes) et prend en compte les effets de devise. L’application intègre aussi un import Trade Republic avec mapping d’alias (symboles/ISIN), des contrôles de qualité de données et une reconstruction complète de l’historique famille depuis la première transaction.

PythonPyQt6SQLitePandasPlotlyyfinance

Ce que ce projet démontre

Conception d’un outil financier complet: modélisation de données, ingestion/normalisation de transactions, analytics portefeuille avancée, interface utilisateur desktop et logique de test.

Application de suivi de patrimoine - detailed view

Mon rôle

J’ai conçu l’architecture, implémenté les services métiers et la base SQLite, développé les écrans Qt (dashboards, import, contrôle), et fait évoluer les métriques portefeuille avec une logique orientée qualité des données.

Contexte

Le besoin initial était de remplacer un suivi fragmenté (tableurs + exports manuels) par un système unique et robuste, capable de gérer plusieurs classes d’actifs, plusieurs comptes et un historique long avec corrections rétroactives.

Objectif

Construire une base fiable pour le suivi patrimonial et l’analyse de portefeuille: allocation, performance, flux nets, revenus passifs, reconstruction historique, et simulation/optimisation d’allocation via les modules d’analytics.

Démonstration

Le projet en action

Deep dive

Lecture technique du projet

Le projet fonctionne comme un moteur de suivi patrimonial: ingestion de transactions, normalisation comptable, snapshots hebdomadaires et analytics portefeuille orientée décision.

  • Suivi multi-comptes: banque, livret, PEA/CTO, private equity.
  • Historique hebdomadaire reconstruit depuis la première transaction.
  • Calcul de performance portefeuille avec neutralisation des flux.
  • Import Trade Republic avec mapping d’alias (symboles/ISIN).
  • Interface desktop PyQt6 pour pilotage, contrôle et visualisation.

Captures

Écrans et visualisations clés

Tableau de bord KPI du suivi patrimonial

Vue KPI consolidée du patrimoine et des principales métriques.

Projection Monte Carlo de portefeuille

Projection de scénarios pour la simulation de trajectoires de portefeuille.

Architecture

Organisation technique

Couche persistence

Base SQLite versionnée (migrations SQL), tables transactions/comptes/assets/prices/snapshots, plus tables d’alias d’import pour fiabiliser les rapprochements.

Couche services métier

Modules dédiés pour repository CRUD, snapshots personne/famille, revenus consolidés, analytics bourse avancée, et conversions FX hebdomadaires.

Couche import

Pipeline d’import CSV Trade Republic avec phase de preview, résolution ISIN/symboles, mapping canonique, validation puis insertion.

Couche interface

Panels Qt orientés métier (patrimoine global, bourse, revenus, santé des données) avec rendu Plotly et actions de rebuild.

Pipeline

Flux de données

  1. 1.Export des transactions broker et chargement dans le module d’import.
  2. 2.Parsing/normalisation des opérations (achat, vente, dividende, intérêts, flux cash).
  3. 3.Résolution actif canonique via ISIN/symbole et table d’alias.
  4. 4.Écriture en base puis reconstruction des snapshots hebdomadaires.
  5. 5.Calcul des métriques risque/rendement et production des graphes.
  6. 6.Contrôles de cohérence et ajustements manuels via l’interface.

Choix techniques

Décisions structurantes

Rendements cashflow-adjusted

Les rendements sont calculés en neutralisant les achats/ventes hebdomadaires pour éviter de confondre apports de capital et performance réelle.

Métriques annualisées robustes

Volatilité annualisée, Sharpe, beta versus URTH et max drawdown calculés à partir d’une série hebdomadaire cohérente.

Rebuild complet backdated-aware

Le moteur de snapshots permet une reconstruction historique complète, utile quand des transactions anciennes sont corrigées ou ajoutées.

Preview ticker avant import

Une prévisualisation ticker/prix/devise réduit le risque d’erreur de mapping avant insertion en base.

Fiabilité

Qualité et contrôles

  • Tests ciblés sur analytics portefeuille, alias d’import et règles de revenus consolidés.
  • Validation forte des relations personne/compte/transaction avant update/delete.
  • Séparation claire UI / services / base pour limiter les régressions.

Limites

Points d'attention actuels

  • Dépendance aux exports externes broker et aux changements de mécanismes d’authentification.
  • Architecture desktop mono-utilisateur (pas encore d’usage collaboratif multi-comptes en ligne).
  • Couverture benchmark encore centrée sur un univers marché limité.

Évolutions

Prochaines étapes

  • Étendre le module simulation de portefeuille (scénarios, contraintes, stress tests).
  • Ajouter des connecteurs de données marché plus riches et plus résilients.
  • Produire des rapports automatisés (mensuels/trimestriels) orientés décision.

Difficultés rencontrées

Les principaux enjeux du projet

Modéliser des transactions hétérogènes (achat, vente, dividende, intérêts, dépôts, retraits) en gardant une cohérence comptable multi-comptes.

Calculer des rendements réellement exploitables en neutralisant les flux hebdomadaires (cashflow-adjusted returns) au lieu d’utiliser uniquement la variation de valorisation brute.

Gérer les imports réels Trade Republic (mapping ISIN/symboles, alias d’import, edge cases, token WAF) sans casser l’historique existant.

Permettre un rebuild complet des snapshots famille depuis la première transaction, avec progression, annulation et contrôles de qualité.

Résultats et apprentissages

Ce que j'en retiens

Mise en place d’un moteur de snapshots hebdomadaires personne/famille, avec reconstruction complète de l’historique.

Ajout de métriques portefeuille avancées: performance annualisée, volatilité, Sharpe, beta vs URTH, max drawdown, avec calcul cashflow-adjusted.

Intégration d’un flux d’import robuste (Trade Republic) avec alias d’actifs, prévisualisation ticker live et validation avant insertion.

Couverture de tests sur les briques critiques (analytics, mappings d’alias, revenus passifs, transactions, nouveaux types de comptes).

Autres projets

Continuer la visite

Backtest et optimisation de portefeuille - project preview

Finance quantitative · Analyse · Python

Backtest et optimisation de portefeuille

Environnement Python pour backtester des stratégies, comparer des métriques risque/rendement et analyser un portefeuille.

Voir ce projet
Pricing d’options en C++ (CRR, Black-Scholes, Monte Carlo) - project preview

Finance quantitative · C++ · Pricing

Pricing d’options en C++ (CRR, Black-Scholes, Monte Carlo)

Projet de groupe en C++ pour pricer plusieurs types d’options (européennes, américaines, asiatiques) avec CRR, Black-Scholes et Monte Carlo.

Voir ce projet

Échanger

Je peux détailler les choix techniques et les résultats en entretien.

Si ce projet vous intéresse, je peux revenir plus précisément sur le besoin initial, la structure des données, les hypothèses, les difficultés rencontrées et les limites de l'analyse.