Portfolio Balancer : Système Hiérarchique de Gestion d'Investissements
Portfolio Balancer : une approche hiérarchique pour gérer un patrimoine décentralisé à travers plusieurs wallets, exchanges et actifs.
Imaginez un système complexe de gestion d'investissements où chaque actif vit dans sa propre "maison" — un wallet, et toutes ces maisons sont organisées selon une structure hiérarchique claire, un peu comme un système de fichiers sur un ordinateur. C'est exactement l'approche que nous allons explorer.
Architecture du Système : Trois Types d'Entités
Au cœur du système se trouvent trois concepts clés qui font office de briques élémentaires :
Wallet — l'élément le plus simple, qui ne contient qu'un seul type d'actif. Pensez-y comme un compartiment de coffre-fort bancaire ne contenant que des dollars ou que des bitcoins. Pas de mélange — un wallet, un actif.
Asset (Actif) — une monnaie, une action ou tout autre instrument financier spécifique. Bitcoin, actions Apple, dollars américains — ce sont tous des actifs.
Portfolio — semblable à un dossier dans un système de fichiers, qui peut contenir d'autres dossiers (portefeuilles) ou fichiers (actifs). Un portfolio regroupe des éléments liés selon un principe précis.
Structure Arborescente : Du Général au Spécifique
Le système organise tous les actifs en un arbre avec une hiérarchie claire :
Visualisation de la structure hiérarchique : de la racine globale jusqu'aux wallets d'actifs spécifiques sur les différents exchanges
Racine de l'arbre — cela représente tous vos actifs combinés. Imaginez-la comme le dossier principal "Mes Investissements."
Premier niveau — les actifs sont répartis par utilisateurs. Si le système sert plusieurs personnes, chacune aura sa propre branche.
Deuxième niveau — les actifs sont regroupés par exchanges. Un seul utilisateur pourrait avoir des actifs sur Binance, Coinbase, Sberbank, et ainsi de suite.
Troisième niveau — les comptes sur un exchange spécifique. Sur un exchange, vous pourriez avoir un compte spot, un compte futures, un compte d'épargne.
Quatrième niveau — regroupement par secteurs ou stratégies. Par exemple, "Actions Tech," "Cryptomonnaies," "Stablecoins" — comme des dossiers thématiques.
Cinquième niveau — des wallets spécifiques contenant des actifs. C'est ici que se trouvent vos Bitcoin, Ethereum, dollars.
Deux États du Système : Réalité et Rêves
Le système fonctionne avec deux arbres parallèles :
Arbre réel du portefeuille — c'est ce que vous possédez actuellement. Le système récupère ces données directement depuis les exchanges via API. 1,5 Bitcoin sur Binance, 100 actions Apple sur Sberbank, 5000 dollars sur Coinbase — tout tel quel.
Arbre souhaité du portefeuille — c'est votre plan, exprimé en pourcentages. Vous dites : "Je veux 60% en actions, 30% en cryptomonnaies, 10% en liquidités." Le système calcule alors les montants précis.
Fonction d'Équilibrage : Du Simple au Complexe
La fonction d'équilibrage la plus basique fonctionne comme une simple comparaison des deux arbres :
L'algorithme diff compare l'état réel et l'état souhaité, identifie les différences et donne des instructions : "Vendez 0,3 Bitcoin, achetez des actions pour 15 000 $." C'est comme une calculatrice qui montre ce qu'il faut faire pour atteindre l'objectif.
Cependant, la fonction peut être bien plus complexe. L'équilibrage avancé prend en compte non seulement quoi acheter et vendre, mais aussi où le faire. Il pourrait suggérer : "Transférez du Bitcoin de Binance vers Coinbase car le taux de vente y est meilleur" ou "Retirez des dollars de la banque vers l'exchange pour acheter des actions."
Diff Tree : La Magie de la Comparaison d'Arbres
Le Diff Tree est l'arbre résultant qui montre les différences entre l'état réel et l'état souhaité du portefeuille. Pensez-y comme un plan d'action où chaque nœud contient des instructions sur ce qu'il faut faire.
Le plan d'action 'Diff Tree' : identifier exactement quoi acheter (vert) ou vendre (rouge) pour atteindre l'état souhaité
Chaque nœud du diff tree contient des informations :
- Montant actuel de l'actif
- Montant souhaité de l'actif
- Différence (combien acheter ou vendre)
- Opération (acheter/vendre/conserver)
Par exemple, si vous avez 1 Bitcoin mais en avez besoin de 0,7, le nœud du diff tree pour cet actif indiquera : "Vendez 0,3 Bitcoin." Si vous avez 50% en actions mais en avez besoin de 60%, le système affichera : "Achetez des actions pour X dollars."
L'algorithme de construction du diff tree fonctionne de manière récursive — il calcule d'abord les différences aux niveaux supérieurs (portefeuilles), puis descend jusqu'aux actifs spécifiques. Cela permet de comprendre non seulement quoi acheter/vendre, mais aussi dans quel ordre le faire.
Le diff tree devient la base pour exécuter les opérations d'équilibrage. Le système effectue d'abord les opérations de vente (libérant des fonds), puis les opérations d'achat (investissant les fonds libérés dans les actifs sous-pondérés).
Arbres Virtuels : Quand une Logique Complexe est Nécessaire
La partie la plus fascinante du système est la capacité à créer des arbres virtuels pour des tâches spéciales. Imaginez que vous ayez un bot d'arbitrage qui doit maintenir une quantité égale de Litecoin sur deux exchanges différents pour exploiter les écarts de prix.
Au lieu d'un seul wallet "LTC 100%," le système crée deux wallets distincts : "LTC 10%" et "LTC 90%." L'arbre virtuel du bot d'arbitrage fait référence au wallet des 10%. Le système marque ces 10% comme verrouillés et précise par qui — le bot d'arbitrage.
C'est comme si vous pouviez créer des "enveloppes" virtuelles pour différents usages dans votre application bancaire, tandis que l'argent reste physiquement sur un seul compte.
Application Pratique
Un tel système résout de vrais problèmes d'investisseurs :
Automatisation des tâches routinières — pas besoin de calculer manuellement quoi vendre et acheter. Le système effectue tous les calculs pour vous.
Contrôle sur des stratégies complexes — vous pouvez gérer simultanément plusieurs bots de trading, stratégies d'arbitrage et investissements à long terme.
Transparence — toute la structure des actifs est visible d'un coup d'œil. On sait clairement où se trouve tout et pourquoi.
Flexibilité — vous pouvez facilement changer de stratégies, redistribuer les actifs entre exchanges et ajouter de nouveaux instruments.
Ce système transforme la gestion chaotique de nombreux actifs sur différentes plateformes en un processus structuré et compréhensible. C'est comme transformer un placard en désordre en un système de garde-robe parfaitement organisé — mais pour les investissements.
Conclusion
Portfolio Balancer démontre comment les technologies modernes peuvent simplifier des processus d'investissement complexes. Le système montre que la gestion de portefeuille n'est pas de la magie, mais une approche structurée avec des algorithmes clairs et une logique compréhensible.
Vous pouvez voir une démo du système à : https://portfolio-balancer-tau.vercel.app/en
Le code source du projet est disponible sur GitHub : https://github.com/suenot/portfolio-balancer
Citation
@software{soloviov2025portfoliobalancer,
author = {Soloviov, Eugen},
title = {Portfolio Balancer: Hierarchical Investment Management System},
year = {2025},
url = {https://marketmaker.cc/en/blog/post/portfolio-balancer},
version = {0.1.0},
description = {An overview of the Portfolio Balancer investment management system, which organizes assets into a hierarchical structure similar to a file system to simplify complex investment processes.}
}
Authors
Trading-systems engineer
Trading-systems engineer building bots since 2017: cross-exchange arbitrage (connected up to 30 venues), cointegration-based pairs arbitrage across spot and futures, scalping, news and sentiment-driven strategies, trend algorithms, and portfolio management and balancing algorithms. Also builds sub-millisecond order execution, big-data warehouses, backtesting engines, AI agents, and trading interfaces (incl. open-source profitmaker.cc). Stack: JS/TS, Python, Rust/Zig/Go, DevOps, backend, frontend, architecture.