← Retour aux articles
March 26, 2026
5 min de lecture

Rééquilibrage automatisé de portefeuille d'ETF : comment nous avons créé un bot pour Tinkoff Invest

Rééquilibrage automatisé de portefeuille d'ETF : comment nous avons créé un bot pour Tinkoff Invest
#etf
#tinkoff
#rebalancing
#portfolio
#bot
#algotrading
#open-source

ETF Balancer Bot Rééquilibrage automatisé du portefeuille : le bot surveille les pondérations cibles et négocie à votre place.

Imaginez que vous avez un portefeuille de quatre ETF : TMOS, TBRU, TRUR et des liquidités en roubles. 25 % chacun. Le marché bouge — TMOS grimpe à 32 %, TBRU descend à 18 %. La théorie classique dit : vendez ce qui monte, achetez ce qui baisse. Le rééquilibrage.

Le problème, c'est que le faire manuellement est pénible. Surtout avec plusieurs comptes, des stratégies sur marge et un rééquilibrage horaire. Nous avons construit un bot qui le fait automatiquement.

TIEBB (Tinkoff Invest ETF Balancer Bot) est un bot open-source en TypeScript qui se connecte à l'API Tinkoff Invest et maintient automatiquement l'allocation cible du portefeuille. Quatre modes de rééquilibrage, trading sur marge, multi-comptes, mode dry-run pour les tests.


TL;DR

  • Bot open-source (Apache 2.0) pour le rééquilibrage automatisé de portefeuilles d'ETF
  • 4 modes de rééquilibrage : manuel, capitalisation boursière, AUM, décorrélation
  • Trading sur marge jusqu'à 4x avec gestion du risque
  • Multi-comptes : un nombre illimité de comptes avec des réglages individuels
  • TypeScript + Bun — rapide, typé, sans douleur
  • Mode dry-run — calcule les ordres sans les exécuter

Pourquoi le rééquilibrage est important

Portfolio Rebalancing Concept

L'idée est simple : vous définissez des pondérations cibles pour les actifs de votre portefeuille (par exemple, 25 % TMOS, 25 % TBRU, 25 % TRUR, 25 % RUB). Avec le temps, le marché évolue et les pondérations réelles s'écartent des cibles. Rééquilibrer signifie revenir aux pondérations cibles en vendant les gagnants et en achetant les perdants.

Pourquoi c'est important :

  1. Contrôle du risque — si un actif atteint 60 % de votre portefeuille, vous êtes surexposé
  2. Prise de bénéfices systématique — vous vendez automatiquement ce qui a progressé
  3. Achat dans les creux — vous achetez automatiquement ce qui a baissé
  4. Discipline — pas d'émotions, seulement l'algorithme

Comment fonctionne le bot

Boucle principale

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

Quatre modes de rééquilibrage

Four Balancing Modes

1. Manuel — pondérations fixes issues de la configuration (par exemple, 25/25/25/25)

2. Capitalisation boursière — pondérations proportionnelles à la capitalisation boursière de chaque fonds

3. AUM — pondérations proportionnelles aux actifs sous gestion (Assets Under Management)

4. Décorrélation — le plus intéressant :

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

Repère les instruments où la capitalisation boursière diffère de l'AUM et effectue un équilibrage entre ces métriques.

Génération intelligente des ordres

Le bot vend d'abord, puis achète. Cela libère du capital pour les achats — inutile de conserver une réserve de liquidités. Tous les instruments sont négociés par lots avec un arrondi approprié.


Fonctionnalités avancées

  • Trading sur marge jusqu'à 4x avec réduction automatique du levier avant la clôture du marché
  • Multi-comptes — un nombre illimité de comptes, chacun avec sa propre stratégie
  • Seuil de profit minimum — ne pas vendre si le profit est inférieur au seuil
  • Mode dry-run — tout calculer, ne rien exécuter
  • Ajustement basé sur les écarts — les pondérations s'adaptent en fonction des variations depuis le dernier rééquilibrage

Démarrage rapide

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

Essayez-le


Liens :


Citation

@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

Gardez une longueur d'avance sur le marché

Abonnez-vous à notre newsletter pour des insights exclusifs sur le trading IA, des analyses de marché et des mises à jour de la plateforme.

Nous respectons votre vie privée. Désabonnement possible à tout moment.