Portfolio Balancer: Sistema Hierárquico de Gestão de Investimentos
Portfolio Balancer: uma abordagem hierárquica para gerir património descentralizado através de múltiplas wallets, exchanges e ativos.
Imagine ter um sistema complexo de gestão de investimentos onde cada ativo vive na sua própria "casa" — uma wallet, e todas essas casas estão organizadas numa estrutura hierárquica clara, muito semelhante a um sistema de arquivos num computador. É exatamente esta abordagem que iremos explorar.
Arquitetura do Sistema: Três Tipos de Entidades
No núcleo do sistema estão três conceitos-chave que funcionam como blocos de construção:
Wallet — o elemento mais simples, que contém apenas um tipo de ativo. Pense nela como uma célula de cofre bancário que contém apenas dólares ou apenas bitcoins. Sem mistura — uma wallet, um ativo.
Asset (Ativo) — uma moeda, ação ou qualquer outro instrumento financeiro específico. Bitcoin, ações da Apple, dólares americanos — todos estes são ativos.
Portfolio (Carteira) — semelhante a uma pasta num sistema de arquivos, que pode conter outras pastas (carteiras) ou arquivos (ativos). Uma carteira agrupa itens relacionados com base num princípio específico.
Estrutura em Árvore: Do Geral ao Específico
O sistema organiza todos os ativos numa árvore com uma hierarquia clara:
Visualização da estrutura hierárquica: da raiz global até às wallets de ativos específicos nas diferentes exchanges
Raiz da árvore — representa todos os seus ativos combinados. Imagine-a como a pasta principal "Os Meus Investimentos."
Primeiro nível — os ativos são divididos por utilizadores. Se o sistema serve várias pessoas, cada uma terá o seu próprio ramo.
Segundo nível — os ativos são agrupados por exchanges. Um único utilizador pode ter ativos na Binance, Coinbase, Sberbank, e assim por diante.
Terceiro nível — contas numa exchange específica. Numa exchange, poderá ter uma conta spot, uma conta de futuros, uma conta poupança.
Quarto nível — agrupamento por setores ou estratégias. Por exemplo, "Ações Tecnológicas," "Criptomoedas," "Stablecoins" — como pastas temáticas.
Quinto nível — wallets específicas com ativos. Aqui estão o seu Bitcoin, Ethereum, dólares.
Dois Estados do Sistema: Realidade e Sonhos
O sistema opera com duas árvores paralelas:
Árvore Real da Carteira — isto é o que atualmente possui. O sistema obtém estes dados diretamente das exchanges via API. 1,5 Bitcoin na Binance, 100 ações da Apple na Sberbank, 5000 dólares na Coinbase — tudo tal como é.
Árvore Desejada da Carteira — este é o seu plano, expresso em percentagens. Diz: "Quero 60% em ações, 30% em criptomoedas, 10% em dinheiro." O sistema calcula então os montantes específicos.
Função de Balanceamento: Do Simples ao Complexo
A função de balanceamento mais básica funciona como uma simples comparação das duas árvores:
O algoritmo diff compara o estado real e o desejado, identifica diferenças e dá instruções: "Venda 0,3 Bitcoin, compre ações por $15.000." É como uma calculadora que mostra o que precisa ser feito para atingir o objetivo.
No entanto, a função pode ser muito mais complexa. O balanceamento avançado considera não só o que comprar e vender, mas também onde fazê-lo. Poderá sugerir: "Transfira Bitcoin da Binance para a Coinbase porque a taxa de venda é melhor lá" ou "Retire dólares do banco para a exchange para comprar ações."
Diff Tree: A Magia da Comparação de Árvores
A Diff Tree é a árvore resultante que mostra as diferenças entre o estado real e o desejado da carteira. Pense nela como um plano de ação onde cada nó contém instruções sobre o que precisa ser feito.
O plano de ação 'Diff Tree': identificando exatamente o que comprar (verde) ou vender (vermelho) para atingir o estado desejado
Cada nó na diff tree contém informação:
- Montante atual do ativo
- Montante desejado do ativo
- Diferença (quanto comprar ou vender)
- Operação (comprar/vender/manter)
Por exemplo, se tiver 1 Bitcoin mas precisar de 0,7, o nó da diff tree para este ativo indicará: "Venda 0,3 Bitcoin." Se tiver 50% em ações mas precisar de 60%, o sistema mostrará: "Compre ações no valor de X dólares."
O algoritmo de construção da diff tree funciona de forma recursiva — primeiro calcula diferenças em níveis superiores (carteiras), depois desce até aos ativos específicos. Isto permite compreender não só o que comprar/vender, mas também em que sequência fazê-lo.
A diff tree torna-se a base para executar as operações de balanceamento. O sistema executa primeiro as operações de venda (libertando fundos), depois as operações de compra (investindo os fundos libertados em ativos subponderados).
Árvores Virtuais: Quando é Necessária Lógica Complexa
A parte mais intrigante do sistema é a capacidade de criar árvores virtuais para tarefas especiais. Imagine que tem um bot de arbitragem que precisa manter uma quantidade igual de Litecoin em duas exchanges diferentes para explorar diferenças de preço.
Em vez de uma única wallet "LTC 100%," o sistema cria duas wallets separadas: "LTC 10%" e "LTC 90%." A árvore virtual do bot de arbitragem refere-se à wallet dos 10%. O sistema marca esses 10% como bloqueados e especifica por quem — o bot de arbitragem.
É como se pudesse criar "envelopes" virtuais para diferentes finalidades na sua aplicação bancária, enquanto o dinheiro permanece fisicamente numa única conta.
Aplicação Prática
Um sistema assim resolve problemas reais dos investidores:
Automatização de tarefas rotineiras — não é necessário calcular manualmente o que vender e comprar. O sistema faz todos os cálculos por si.
Controlo sobre estratégias complexas — pode gerir simultaneamente múltiplos bots de trading, estratégias de arbitragem e investimentos de longo prazo.
Transparência — toda a estrutura de ativos é visível de relance. É claro onde está tudo e porquê.
Flexibilidade — pode alterar estratégias facilmente, redistribuir ativos entre exchanges e adicionar novos instrumentos.
Este sistema transforma a gestão caótica de numerosos ativos em diferentes plataformas num processo estruturado e compreensível. É como transformar um armário desarrumado num sistema de guarda-roupa perfeitamente organizado — mas para investimentos.
Conclusão
O Portfolio Balancer demonstra como as tecnologias modernas podem simplificar processos de investimento complexos. O sistema mostra que a gestão de carteiras não é magia, mas sim uma abordagem estruturada com algoritmos claros e lógica compreensível.
Pode ver uma demonstração do sistema em: https://portfolio-balancer-tau.vercel.app/en
O código-fonte do projeto está disponível no GitHub: https://github.com/suenot/portfolio-balancer
Citação
@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.