Automatisiertes Rebalancing von ETF-Portfolios: Wie wir einen Bot für Tinkoff Invest gebaut haben
Automatisiertes Portfolio-Rebalancing: Der Bot überwacht die Zielgewichtungen und handelt für Sie.
Nehmen wir an, Sie haben ein Portfolio aus vier ETFs: TMOS, TBRU, TRUR und Bargeld in Rubel. Je 25%. Der Markt bewegt sich — TMOS wächst auf 32%, TBRU fällt auf 18%. Die klassische Theorie sagt: verkaufe, was gestiegen ist, kaufe, was gefallen ist. Rebalancing.
Das Problem ist, dass es manuell mühsam ist. Besonders bei mehreren Konten, Margin-Strategien und stündlichem Rebalancing. Wir haben einen Bot gebaut, der das automatisch erledigt.
TIEBB (Tinkoff Invest ETF Balancer Bot) ist ein Open-Source-TypeScript-Bot, der sich mit der Tinkoff Invest API verbindet und automatisch die Ziel-Portfolioallokation aufrechterhält. Vier Balancing-Modi, Margin-Trading, Multi-Account, Dry-Run zum Testen.
TL;DR
- Open-Source (Apache 2.0) Bot für automatisiertes ETF-Portfolio-Rebalancing
- 4 Balancing-Modi: manuell, Marktkapitalisierung, AUM, Dekorrelation
- Margin-Trading bis zu 4x mit Risikomanagement
- Multi-Account: unbegrenzte Konten mit individuellen Einstellungen
- TypeScript + Bun — schnell, typisiert, schmerzfrei
- Dry-Run-Modus — berechnet Orders, ohne sie auszuführen
Warum Rebalancing wichtig ist

Die Idee ist einfach: Sie legen Zielgewichtungen für die Assets in Ihrem Portfolio fest (z. B. 25% TMOS, 25% TBRU, 25% TRUR, 25% RUB). Im Laufe der Zeit bewegt sich der Markt, und die tatsächlichen Gewichtungen weichen von den Zielen ab. Rebalancing bedeutet, zu den Zielgewichtungen zurückzukehren, indem Gewinner verkauft und Verlierer gekauft werden.
Warum das wichtig ist:
- Risikokontrolle — wenn ein Asset auf 60% Ihres Portfolios anwächst, sind Sie übergewichtet
- Systematische Gewinnmitnahme — Sie verkaufen automatisch, was gestiegen ist
- Käufe bei Rücksetzern — Sie kaufen automatisch, was gefallen ist
- Disziplin — keine Emotionen, nur der Algorithmus
Wie der Bot funktioniert
Hauptschleife
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
Vier Balancing-Modi

1. Manuell — feste Gewichtungen aus der Konfiguration (z. B. 25/25/25/25)
2. Marktkapitalisierung — Gewichtungen proportional zur Marktkapitalisierung jedes Fonds
3. AUM — Gewichtungen proportional zum verwalteten Vermögen (Assets Under Management)
4. Dekorrelation — der interessanteste Modus:
decorrelationPct = (marketCap - AUM) / AUM * 100
metric = max_decorrelationPct - individual_decorrelationPct
weight = metric / sum(metrics) * 100
Findet Instrumente, bei denen die Marktkapitalisierung von den AUM abweicht, und balanciert zwischen diesen Kennzahlen.
Intelligente Order-Generierung
Der Bot verkauft zuerst, dann kauft er. Das setzt Kapital für Käufe frei — es ist keine Bargeldreserve nötig. Alle Instrumente werden in Lots mit korrekter Rundung gehandelt.
Erweiterte Funktionen
- Margin-Trading bis zu 4x mit automatischem Deleveraging vor Marktschluss
- Multi-Account — unbegrenzte Konten, jedes mit eigener Strategie
- Mindestgewinnschwelle — kein Verkauf, wenn der Gewinn unter dem Schwellenwert liegt
- Dry-Run-Modus — alles berechnen, nichts ausführen
- Diff-basierte Anpassung — Gewichtungen passen sich basierend auf Änderungen seit dem letzten Rebalancing an
Schnellstart
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
Selbst ausprobieren
- Quellcode: github.com/suenot/tinkoff-invest-etf-balancer-bot
- Lizenz: Apache 2.0
Links:
- GitHub: github.com/suenot/tinkoff-invest-etf-balancer-bot
- Tinkoff Invest API: invest-api.tinkoff.ru
Zitation
@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.}
}
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.