Ribilanciamento Automatico del Portafoglio ETF: Come Abbiamo Costruito un Bot per Tinkoff Invest
Ribilanciamento automatico del portafoglio: il bot monitora i pesi target e opera al posto tuo.
Supponiamo di avere un portafoglio di quattro ETF: TMOS, TBRU, TRUR e liquidità in rubli. 25% ciascuno. Il mercato si muove — TMOS cresce al 32%, TBRU scende al 18%. La teoria classica dice: vendi ciò che è salito, compra ciò che è sceso. Ribilanciamento.
Il problema è che farlo manualmente è faticoso. Soprattutto con più account, strategie a margine e ribilanciamento orario. Abbiamo costruito un bot che lo fa automaticamente.
TIEBB (Tinkoff Invest ETF Balancer Bot) è un bot open-source in TypeScript che si connette all'API di Tinkoff Invest e mantiene automaticamente l'allocazione target del portafoglio. Quattro modalità di bilanciamento, trading a margine, multi-account, dry-run per i test.
TL;DR
- Open-source (Apache 2.0) bot per il ribilanciamento automatico del portafoglio ETF
- 4 modalità di bilanciamento: manuale, capitalizzazione di mercato, AUM, decorrelazione
- Trading a margine fino a 4x con gestione del rischio
- Multi-account: account illimitati con impostazioni individuali
- TypeScript + Bun — veloce, tipizzato, senza problemi
- Modalità dry-run — calcola gli ordini senza eseguirli
Perché il Ribilanciamento è Importante

L'idea è semplice: si definiscono i pesi target per gli asset nel portafoglio (ad es. 25% TMOS, 25% TBRU, 25% TRUR, 25% RUB). Nel tempo, il mercato si muove e i pesi effettivi si discostano dai target. Il ribilanciamento significa tornare ai pesi target vendendo i vincitori e comprando i perdenti.
Perché è importante:
- Controllo del rischio — se un asset cresce fino al 60% del portafoglio, si è sovraesposti
- Presa di profitto sistematica — si vende automaticamente ciò che è cresciuto
- Acquisto sui ribassi — si compra automaticamente ciò che è sceso
- Disciplina — nessuna emozione, solo l'algoritmo
Come Funziona il Bot
Ciclo Principale
1. Verifica se MOEX è aperta
2. Recupera posizioni e prezzi correnti
3. Calcola l'allocazione desiderata (4 modalità)
4. Genera ordini: prima le vendite, poi gli acquisti
5. Esegue con ordini di mercato
6. Attende BALANCE_INTERVAL, poi ripete
Quattro Modalità di Bilanciamento

1. Manuale — pesi fissi dalla configurazione (ad es. 25/25/25/25)
2. Capitalizzazione di Mercato — pesi proporzionali alla capitalizzazione di mercato di ciascun fondo
3. AUM — pesi proporzionali agli Asset Under Management
4. Decorrelazione — la più interessante:
decorrelationPct = (marketCap - AUM) / AUM * 100
metric = max_decorrelationPct - individual_decorrelationPct
weight = metric / sum(metrics) * 100
Trova gli strumenti in cui la capitalizzazione di mercato differisce dall'AUM e bilancia tra queste metriche.
Generazione Intelligente degli Ordini
Il bot vende prima, poi compra. Questo libera capitale per gli acquisti — non è necessario mantenere una riserva di liquidità. Tutti gli strumenti sono negoziati in lotti con arrotondamento corretto.
Funzionalità Avanzate
- Trading a margine fino a 4x con riduzione automatica della leva prima della chiusura del mercato
- Multi-account — account illimitati, ciascuno con la propria strategia
- Soglia minima di profitto — non vendere se il profitto è al di sotto della soglia
- Modalità dry-run — calcola tutto, non esegue nulla
- Aggiustamento basato sulle differenze — i pesi si adattano in base alle variazioni dall'ultimo ribilanciamento
Avvio Rapido
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
Prova
- Codice sorgente: github.com/suenot/tinkoff-invest-etf-balancer-bot
- Licenza: Apache 2.0
Link:
- GitHub: github.com/suenot/tinkoff-invest-etf-balancer-bot
- Tinkoff Invest API: invest-api.tinkoff.ru
Citazione
@software{soloviov2026etfbalancer,
author = {Soloviov, Eugen},
title = {Automated ETF Portfolio Rebalancing Bot for Tinkoff Invest},
year = {2026},
url = {https://marketmaker.cc/it/blog/post/etf-balancer-bot-tinkoff},
description = {Bot open-source in TypeScript per il ribilanciamento automatico del portafoglio ETF su Tinkoff Invest.}
}
Autori
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.