← Maqolalarga qaytish
March 26, 2026
5 daqiqa o'qish

ETF portfelini avtomatik qayta balanslash: Tinkoff Invest uchun botni qanday yaratdik

ETF portfelini avtomatik qayta balanslash: Tinkoff Invest uchun botni qanday yaratdik
#etf
#tinkoff
#rebalancing
#portfolio
#bot
#algotrading
#open-source

ETF Balancer Bot Portfelni avtomatik qayta balanslash: bot maqsadli ulushlarni kuzatib boradi va siz uchun savdo qiladi.

Faraz qiling, sizda toʻrtta ETF'dan iborat portfel bor: TMOS, TBRU, TRUR va rubldagi naqd pul. Har biriga 25 %. Bozor harakatlanadi — TMOS 32 %ga oʻsadi, TBRU 18 %ga tushadi. Klassik nazariya shunday deydi: oʻsganini soting, tushganini soting oling. Qayta balanslash.

Muammo shundaki, buni qoʻlda qilish mashaqqatli. Ayniqsa bir nechta hisob, marja strategiyalari va soatlik qayta balanslashda. Biz buni avtomatik bajaradigan botni yaratdik.

TIEBB (Tinkoff Invest ETF Balancer Bot) — bu Tinkoff Invest API'ga ulanadigan va portfelning maqsadli taqsimotini avtomatik ravishda saqlab turadigan ochiq kodli TypeScript bot. Toʻrtta balanslash rejimi, marja savdosi, koʻp hisob, test uchun dry-run rejimi.


TL;DR

  • ETF portfelini avtomatik qayta balanslash uchun ochiq kodli (Apache 2.0) bot
  • 4 ta balanslash rejimi: qoʻlda, bozor kapitalizatsiyasi, AUM, dekorrelyatsiya
  • Risklarni boshqarish bilan 4x gacha marja savdosi
  • Koʻp hisob: individual sozlamalar bilan cheksiz miqdordagi hisoblar
  • TypeScript + Bun — tez, tiplashtirilgan, muammosiz
  • Dry-run rejimi — buyurtmalarni ijro etmasdan hisoblab chiqadi

Nima uchun qayta balanslash muhim

Portfolio Rebalancing Concept

Gʻoya oddiy: siz portfelingizdagi aktivlar uchun maqsadli ulushlarni belgilaysiz (masalan, 25 % TMOS, 25 % TBRU, 25 % TRUR, 25 % RUB). Vaqt oʻtishi bilan bozor harakatlanadi va haqiqiy ulushlar maqsadlardan uzoqlashadi. Qayta balanslash — bu yutuqli aktivlarni sotib va yoʻqotgan aktivlarni sotib olish orqali maqsadli ulushlarga qaytishni anglatadi.

Nima uchun bu muhim:

  1. Riskni nazorat qilish — agar bitta aktiv portfelingizning 60 %iga oʻssa, siz haddan tashqari taʼsir ostida qolasiz
  2. Tizimli foyda olish — oʻsgan aktivni avtomatik sotasiz
  3. Pasayishlarda sotib olish — tushgan aktivni avtomatik sotib olasiz
  4. Intizom — hech qanday hissiyot yoʻq, faqat algoritm

Bot qanday ishlaydi

Asosiy sikl

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

Toʻrtta balanslash rejimi

Four Balancing Modes

1. Qoʻlda — konfiguratsiyadan olingan qatʼiy ulushlar (masalan, 25/25/25/25)

2. Bozor kapitalizatsiyasi — har bir fondning bozor kapitalizatsiyasiga mutanosib ulushlar

3. AUM — boshqaruvdagi aktivlarga (Assets Under Management) mutanosib ulushlar

4. Dekorrelyatsiya — eng qiziqarlisi:

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

Bozor kapitalizatsiyasi AUM'dan farq qiladigan instrumentlarni topadi va shu koʻrsatkichlar oʻrtasida balanslaydi.

Buyurtmalarni aqlli yaratish

Bot avval sotadi, keyin sotib oladi. Bu xaridlar uchun kapitalni boʻshatadi — naqd pul zaxirasini saqlab turish shart emas. Barcha instrumentlar tegishli yaxlitlash bilan lotlarda savdo qilinadi.


Ilgʻor imkoniyatlar

  • Bozor yopilishidan oldin avtomatik levered kamaytirish bilan 4x gacha marja savdosi
  • Koʻp hisob — cheksiz miqdordagi hisoblar, har biri oʻz strategiyasiga ega
  • Minimal foyda chegarasi — agar foyda chegaradan past boʻlsa, sotmang
  • Dry-run rejimi — hammasini hisoblang, hech narsani ijro etmang
  • Farqqa asoslangan sozlash — ulushlar oxirgi qayta balanslashdan beri boʻlgan oʻzgarishlarga qarab moslashadi

Tez boshlash

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

Sinab koʻring


Havolalar:


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

Bozordan bir qadam oldinda bo'ling

Sun'iy intellekt savdo tahlillari, bozor tahlili va platforma yangiliklari uchun bizning xabarnomaga obuna bo'ling.

Biz sizning maxfiyligingizni hurmat qilamiz. Istalgan vaqtda obunadan chiqishingiz mumkin.