Ribilanciamento Automatico del Portafoglio ETF: Come Abbiamo Costruito un Bot per Tinkoff Invest

Bot open-source in TypeScript/Bun per il ribilanciamento automatico del portafoglio ETF su Tinkoff Invest. Quattro modalità di bilanciamento, trading a margine, supporto multi-account. Con codice sorgente.

ETF Balancer Bot 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

Concetto di Ribilanciamento del Portafoglio

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:

  1. Controllo del rischio — se un asset cresce fino al 60% del portafoglio, si è sovraesposti
  2. Presa di profitto sistematica — si vende automaticamente ciò che è cresciuto
  3. Acquisto sui ribassi — si compra automaticamente ciò che è sceso
  4. 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

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
# Aggiungi il tuo token API di Tinkoff Invest nel file .env
bun run start

Prova


Link:


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.}
}