← Volver a los artículos
March 26, 2026
5 min de lectura

Rebalanceo automatizado de carteras de ETF: cómo creamos un bot para Tinkoff Invest

Rebalanceo automatizado de carteras de ETF: cómo creamos un bot para Tinkoff Invest
#etf
#tinkoff
#rebalancing
#portfolio
#bot
#algotrading
#open-source

ETF Balancer Bot Rebalanceo automatizado de cartera: el bot monitoriza los pesos objetivo y opera por ti.

Supongamos que tienes una cartera de cuatro ETF: TMOS, TBRU, TRUR y efectivo en rublos. 25% cada uno. El mercado se mueve: TMOS crece hasta el 32%, TBRU cae al 18%. La teoría clásica dice: vende lo que sube, compra lo que baja. Rebalanceo.

El problema es que hacerlo manualmente es tedioso. Especialmente con varias cuentas, estrategias con margen y rebalanceos cada hora. Construimos un bot que lo hace automáticamente.

TIEBB (Tinkoff Invest ETF Balancer Bot) es un bot de código abierto en TypeScript que se conecta a la API de Tinkoff Invest y mantiene automáticamente la asignación objetivo de la cartera. Cuatro modos de balanceo, trading con margen, multicuenta, modo dry-run para pruebas.


TL;DR

  • Bot de código abierto (Apache 2.0) para el rebalanceo automatizado de carteras de ETF
  • 4 modos de balanceo: manual, capitalización de mercado, AUM, descorrelación
  • Trading con margen de hasta 4x con gestión de riesgo
  • Multicuenta: cuentas ilimitadas con ajustes individuales
  • TypeScript + Bun — rápido, tipado, sin complicaciones
  • Modo dry-run — calcula las órdenes sin ejecutarlas

Por qué importa el rebalanceo

Portfolio Rebalancing Concept

La idea es simple: defines pesos objetivo para los activos de tu cartera (por ejemplo, 25% TMOS, 25% TBRU, 25% TRUR, 25% RUB). Con el tiempo, el mercado se mueve y los pesos reales se alejan de los objetivos. Rebalancear significa volver a los pesos objetivo vendiendo los ganadores y comprando los perdedores.

Por qué importa:

  1. Control de riesgo — si un activo crece hasta el 60% de tu cartera, estás sobreexpuesto
  2. Toma de beneficios sistemática — vendes automáticamente lo que ha subido
  3. Compra en caídas — compras automáticamente lo que ha bajado
  4. Disciplina — sin emociones, solo el algoritmo

Cómo funciona el bot

Bucle 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

Cuatro modos de balanceo

Four Balancing Modes

1. Manual — pesos fijos definidos en la configuración (por ejemplo, 25/25/25/25)

2. Capitalización de mercado — pesos proporcionales a la capitalización de mercado de cada fondo

3. AUM — pesos proporcionales a los activos bajo gestión (Assets Under Management)

4. Descorrelación — el modo más interesante:

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

Encuentra instrumentos donde la capitalización de mercado difiere del AUM y equilibra entre estas métricas.

Generación inteligente de órdenes

El bot primero vende y después compra. Esto libera capital para las compras, sin necesidad de mantener una reserva de efectivo. Todos los instrumentos se negocian en lotes con el redondeo adecuado.


Funciones avanzadas

  • Trading con margen de hasta 4x con desapalancamiento automático antes del cierre del mercado
  • Multicuenta — cuentas ilimitadas, cada una con su propia estrategia
  • Umbral mínimo de beneficio — no vender si el beneficio está por debajo del umbral
  • Modo dry-run — calcula todo, no ejecuta nada
  • Ajuste basado en diferencias — los pesos se adaptan según los cambios desde el último rebalanceo

Inicio 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

Pruébalo


Enlaces:


Cita

@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

Mantente a la vanguardia

Suscríbete a nuestro boletín para recibir información exclusiva sobre trading con IA, análisis de mercado y actualizaciones de la plataforma.

Respetamos tu privacidad. Puedes darte de baja en cualquier momento.