Pengimbangan Semula Portfolio ETF Secara Automatik: Cara Kami Membina Bot untuk Tinkoff Invest
Pengimbangan semula portfolio secara automatik: bot memantau wajaran sasaran dan berdagang untuk anda.
Katakan anda mempunyai portfolio empat ETF: TMOS, TBRU, TRUR, dan tunai dalam rubel. Masing-masing 25%. Pasaran bergerak — TMOS meningkat kepada 32%, TBRU jatuh kepada 18%. Teori klasik berkata: jual yang naik, beli yang turun. Pengimbangan semula.
Masalahnya, melakukan ini secara manual adalah menyakitkan. Terutama dengan pelbagai akaun, strategi margin, dan pengimbangan semula setiap jam. Kami membina bot yang melakukannya secara automatik.
TIEBB (Tinkoff Invest ETF Balancer Bot) ialah bot TypeScript sumber terbuka yang menyambung ke Tinkoff Invest API dan secara automatik mengekalkan peruntukan portfolio sasaran. Empat mod pengimbangan, dagangan margin, pelbagai akaun, dry-run untuk ujian.
TL;DR
- Sumber terbuka (Apache 2.0) bot untuk pengimbangan semula portfolio ETF secara automatik
- 4 mod pengimbangan: manual, permodalan pasaran, AUM, penyahkorelasi
- Dagangan margin sehingga 4x dengan pengurusan risiko
- Pelbagai akaun: akaun tanpa had dengan tetapan individu
- TypeScript + Bun — pantas, bertaip, mudah
- Mod dry-run — mengira pesanan tanpa melaksanakannya
Mengapa Pengimbangan Semula Penting

Ideanya mudah: anda menentukan wajaran sasaran untuk aset dalam portfolio anda (contohnya, 25% TMOS, 25% TBRU, 25% TRUR, 25% RUB). Dari semasa ke semasa, pasaran bergerak dan wajaran sebenar menyimpang daripada sasaran. Pengimbangan semula bermaksud kembali kepada wajaran sasaran dengan menjual pemenang dan membeli yang kalah.
Mengapa ia penting:
- Kawalan risiko — jika satu aset berkembang menjadi 60% daripada portfolio anda, anda terdedah secara berlebihan
- Pengambilan keuntungan sistematik — anda secara automatik menjual apa yang telah berkembang
- Membeli ketika turun — anda secara automatik membeli apa yang telah jatuh
- Disiplin — tiada emosi, hanya algoritma
Cara Bot Berfungsi
Gelung Utama
1. Semak sama ada MOEX dibuka
2. Ambil kedudukan dan harga semasa
3. Kira peruntukan yang dikehendaki (4 mod)
4. Jana pesanan: jual dahulu, kemudian beli
5. Laksanakan dengan pesanan pasaran
6. Tidur selama BALANCE_INTERVAL, ulang
Empat Mod Pengimbangan

1. Manual — wajaran tetap daripada konfigurasi (contoh: 25/25/25/25)
2. Permodalan Pasaran — wajaran berkadar dengan permodalan pasaran setiap dana
3. AUM — wajaran berkadar dengan Aset Di Bawah Pengurusan
4. Penyahkorelasi — yang paling menarik:
decorrelationPct = (marketCap - AUM) / AUM * 100
metric = max_decorrelationPct - individual_decorrelationPct
weight = metric / sum(metrics) * 100
Mencari instrumen di mana permodalan pasaran berbeza daripada AUM dan mengimbangi antara metrik-metrik ini.
Jana Pesanan Pintar
Bot menjual dahulu, kemudian membeli. Ini membebaskan modal untuk pembelian — tidak perlu menyimpan rizab tunai. Semua instrumen didagangkan dalam lot dengan pembundaran yang betul.
Ciri-ciri Lanjutan
- Dagangan margin sehingga 4x dengan penyah-leveraj automatik sebelum pasaran tutup
- Pelbagai akaun — akaun tanpa had, setiap satu dengan strategi tersendiri
- Ambang keuntungan minimum — jangan jual jika keuntungan di bawah ambang
- Mod dry-run — kira segalanya, laksanakan tiada apa
- Pelarasan berasaskan perbezaan — wajaran menyesuaikan diri berdasarkan perubahan sejak pengimbangan semula terakhir
Permulaan Pantas
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
Cuba Sekarang
- Kod sumber: github.com/suenot/tinkoff-invest-etf-balancer-bot
- Lesen: Apache 2.0
Pautan:
- GitHub: github.com/suenot/tinkoff-invest-etf-balancer-bot
- Tinkoff Invest API: invest-api.tinkoff.ru
Petikan
@software{soloviov2026etfbalancer,
author = {Soloviov, Eugen},
title = {Automated ETF Portfolio Rebalancing Bot for Tinkoff Invest},
year = {2026},
url = {https://marketmaker.cc/ms/blog/post/etf-balancer-bot-tinkoff},
description = {Bot TypeScript sumber terbuka untuk pengimbangan semula portfolio ETF secara automatik di Tinkoff Invest.}
}
Pengarang
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.