← Voltar aos artigos
March 26, 2026
5 min read

Rebalanceamento automatizado de carteira de ETFs: como construímos um bot para a Tinkoff Invest

Rebalanceamento automatizado de carteira de ETFs: como construímos um bot para a Tinkoff Invest
#etf
#tinkoff
#rebalancing
#portfolio
#bot
#algotrading
#open-source

ETF Balancer Bot Rebalanceamento automatizado de carteira: o bot monitora os pesos-alvo e negocia por você.

Imagine que você tem uma carteira com quatro ETFs: TMOS, TBRU, TRUR, e dinheiro em rublos. 25% cada. O mercado se move — TMOS sobe para 32%, TBRU cai para 18%. A teoria clássica diz: venda o que subiu, compre o que caiu. Rebalanceamento.

O problema é que fazer isso manualmente é penoso. Especialmente com várias contas, estratégias com margem e rebalanceamento a cada hora. Construímos um bot que faz isso automaticamente.

TIEBB (Tinkoff Invest ETF Balancer Bot) é um bot open-source em TypeScript que se conecta à API da Tinkoff Invest e mantém automaticamente a alocação-alvo da carteira. Quatro modos de balanceamento, negociação com margem, múltiplas contas, modo dry-run para testes.


TL;DR

  • Bot open-source (Apache 2.0) para rebalanceamento automatizado de carteiras de ETFs
  • 4 modos de balanceamento: manual, capitalização de mercado, AUM, descorrelação
  • Negociação com margem até 4x com gestão de risco
  • Múltiplas contas: número ilimitado de contas com configurações individuais
  • TypeScript + Bun — rápido, tipado, sem dor de cabeça
  • Modo dry-run — calcula as ordens sem executá-las

Por que o rebalanceamento importa

Portfolio Rebalancing Concept

A ideia é simples: você define pesos-alvo para os ativos da sua carteira (por exemplo, 25% TMOS, 25% TBRU, 25% TRUR, 25% RUB). Com o tempo, o mercado se move e os pesos reais se distanciam das metas. Rebalancear significa retornar aos pesos-alvo vendendo os ativos que subiram e comprando os que caíram.

Por que isso importa:

  1. Controle de risco — se um ativo cresce até representar 60% da sua carteira, você fica superexposto
  2. Realização sistemática de lucros — você vende automaticamente o que valorizou
  3. Compra nas quedas — você compra automaticamente o que desvalorizou
  4. Disciplina — sem emoções, apenas o algoritmo

Como o bot funciona

Loop principal

1. Check if MOEX is open
2. Fetch current positions and prices
3. Calculate desired allocation (4 modes)
4. Generate orders: sells first, then buys
5. Execute with market orders
6. Sleep for BALANCE_INTERVAL, repeat

Quatro modos de balanceamento

Four Balancing Modes

1. Manual — pesos fixos definidos na configuração (por exemplo, 25/25/25/25)

2. Capitalização de mercado — pesos proporcionais à capitalização de mercado de cada fundo

3. AUM — pesos proporcionais aos Ativos sob Gestão (Assets Under Management)

4. Descorrelação — o mais interessante:

decorrelationPct = (marketCap - AUM) / AUM * 100
metric = max_decorrelationPct - individual_decorrelationPct
weight = metric / sum(metrics) * 100

Identifica instrumentos em que a capitalização de mercado difere do AUM e balanceia entre essas métricas.

Geração inteligente de ordens

O bot vende primeiro e compra depois. Isso libera capital para as compras — não é preciso manter uma reserva de caixa. Todos os instrumentos são negociados em lotes com o arredondamento apropriado.


Recursos avançados

  • Negociação com margem até 4x com desalavancagem automática antes do fechamento do mercado
  • Múltiplas contas — número ilimitado de contas, cada uma com sua própria estratégia
  • Limite mínimo de lucro — não vende se o lucro estiver abaixo do limite definido
  • Modo dry-run — calcula tudo, não executa nada
  • Ajuste baseado em diferenças — os pesos se adaptam com base nas mudanças desde o último rebalanceamento

Início rápido

git clone https://github.com/suenot/tinkoff-invest-etf-balancer-bot.git
cd tinkoff-invest-etf-balancer-bot
bun install
cp .env-example .env && cp CONFIG.example.json CONFIG.json
bun run start

Experimente


Links:


Citação

@software{soloviov2026etfbalancer,
  author = {Soloviov, Eugen},
  title = {Automated ETF Portfolio Rebalancing Bot for Tinkoff Invest},
  year = {2026},
  url = {https://marketmaker.cc/en/blog/post/etf-balancer-bot-tinkoff},
  description = {Open-source TypeScript bot for automated ETF portfolio rebalancing on Tinkoff Invest.}
}
blog.disclaimer

Authors

Eugen Soloviov
Eugen Soloviov

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.

Newsletter

Fique à frente do mercado

Assine nossa newsletter para insights exclusivos sobre trading com IA, análises de mercado e atualizações da plataforma.

Respeitamos sua privacidade. Cancele a inscrição a qualquer momento.