Rebalancing Portofolio ETF Otomatis: Bagaimana Kami Membangun Bot untuk Tinkoff Invest
Rebalancing portofolio otomatis: bot memantau bobot target dan bertransaksi untuk Anda.
Misalkan Anda memiliki portofolio empat ETF: TMOS, TBRU, TRUR, dan uang tunai dalam rubel. Masing-masing 25%. Pasar bergerak — TMOS naik ke 32%, TBRU turun ke 18%. Teori klasik menyatakan: jual yang naik, beli yang turun. Itulah rebalancing.
Masalahnya adalah melakukannya secara manual sangat menyulitkan. Apalagi dengan beberapa akun, strategi margin, dan rebalancing per jam. Kami membangun bot yang melakukannya secara otomatis.
TIEBB (Tinkoff Invest ETF Balancer Bot) adalah bot TypeScript open-source yang terhubung ke Tinkoff Invest API dan secara otomatis mempertahankan alokasi portofolio target. Empat mode balancing, margin trading, multi-akun, dry-run untuk pengujian.
TL;DR
- Open-source (Apache 2.0) bot untuk rebalancing portofolio ETF otomatis
- 4 mode balancing: manual, market cap, AUM, dekorelasi
- Margin trading hingga 4x dengan manajemen risiko
- Multi-akun: akun tidak terbatas dengan pengaturan individual
- TypeScript + Bun — cepat, bertipe, mudah digunakan
- Mode dry-run — menghitung order tanpa mengeksekusi
Mengapa Rebalancing Itu Penting

Idenya sederhana: Anda menentukan bobot target untuk aset dalam portofolio Anda (misalnya, 25% TMOS, 25% TBRU, 25% TRUR, 25% RUB). Seiring waktu, pasar bergerak dan bobot aktual menyimpang dari target. Rebalancing berarti kembali ke bobot target dengan menjual aset yang untung dan membeli aset yang turun.
Mengapa ini penting:
- Kontrol risiko — jika satu aset tumbuh hingga 60% portofolio Anda, Anda terlalu terekspos
- Pengambilan keuntungan sistematis — Anda secara otomatis menjual yang sudah naik
- Membeli saat turun — Anda secara otomatis membeli yang sudah turun
- Disiplin — tanpa emosi, hanya algoritma
Cara Kerja Bot
Loop Utama
1. Periksa apakah MOEX sedang buka
2. Ambil posisi dan harga saat ini
3. Hitung alokasi yang diinginkan (4 mode)
4. Buat order: jual dahulu, lalu beli
5. Eksekusi dengan market order
6. Tunggu BALANCE_INTERVAL, ulangi
Empat Mode Balancing

1. Manual — bobot tetap dari konfigurasi (misalnya, 25/25/25/25)
2. Market Cap — bobot proporsional terhadap kapitalisasi pasar masing-masing dana
3. AUM — bobot proporsional terhadap Assets Under Management
4. Dekorelasi — yang paling menarik:
decorrelationPct = (marketCap - AUM) / AUM * 100
metric = max_decorrelationPct - individual_decorrelationPct
weight = metric / sum(metrics) * 100
Menemukan instrumen di mana market cap berbeda dari AUM dan menyeimbangkan antara metrik-metrik ini.
Pembuatan Order yang Cerdas
Bot menjual terlebih dahulu, lalu membeli. Ini membebaskan modal untuk pembelian — tidak perlu menyimpan cadangan uang tunai. Semua instrumen diperdagangkan dalam lot dengan pembulatan yang tepat.
Fitur Lanjutan
- Margin trading hingga 4x dengan auto-deleverage sebelum pasar tutup
- Multi-akun — akun tidak terbatas, masing-masing dengan strategi sendiri
- Ambang batas keuntungan minimum — tidak menjual jika keuntungan di bawah ambang batas
- Mode dry-run — hitung segalanya, tidak mengeksekusi apapun
- Penyesuaian berbasis diff — bobot beradaptasi berdasarkan perubahan sejak rebalancing terakhir
Mulai Cepat
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
Coba Sekarang
- Kode sumber: github.com/suenot/tinkoff-invest-etf-balancer-bot
- Lisensi: Apache 2.0
Tautan:
- GitHub: github.com/suenot/tinkoff-invest-etf-balancer-bot
- Tinkoff Invest API: invest-api.tinkoff.ru
Kutipan
@software{soloviov2026etfbalancer,
author = {Soloviov, Eugen},
title = {Automated ETF Portfolio Rebalancing Bot for Tinkoff Invest},
year = {2026},
url = {https://marketmaker.cc/id/blog/post/etf-balancer-bot-tinkoff},
description = {Open-source TypeScript bot for automated ETF portfolio rebalancing on Tinkoff Invest.}
}
Penulis
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.