← Мақалаларға оралу
March 26, 2026
5 мин оқу

ETF портфелін автоматты теңгеру: Tinkoff Invest үшін бот қалай жасалды

ETF портфелін автоматты теңгеру: Tinkoff Invest үшін бот қалай жасалды
#etf
#tinkoff
#rebalancing
#portfolio
#bot
#algotrading
#open-source

ETF Balancer Bot Портфельді автоматты теңгеру: бот мақсатты салмақтарды бақылап, сіз үшін сауда жасайды.

Айталық, сізде төрт ETF-тен тұратын портфель бар: TMOS, TBRU, TRUR және рубльдегі қолма-қол ақша. Әрқайсысы 25%. Нарық қозғалады — TMOS 32%-ға дейін өседі, TBRU 18%-ға дейін түседі. Классикалық теория былай дейді: өскенді сат, түскенді ал. Бұл — теңгеру (rebalancing).

Мәселе мынада: мұны қолмен жасау азапты. Әсіресе бірнеше аккаунт, маржиналды стратегиялар және сағат сайынғы теңгеру кезінде. Біз мұны автоматты түрде жасайтын бот жасадық.

TIEBB (Tinkoff Invest ETF Balancer Bot) — Tinkoff Invest API-мен байланысатын және портфельдің мақсатты бөлінуін автоматты түрде сақтайтын ашық кодты TypeScript бот. Төрт теңгеру режимі, маржиналды сауда, көп аккаунт, тестілеуге арналған dry-run.


Қысқаша

  • Ашық код (Apache 2.0) — ETF портфелін автоматты теңгеруге арналған бот
  • 4 теңгеру режимі: қолмен (manual), нарықтық капитализация (market cap), AUM, декорреляция
  • Маржиналды сауда 4x-ке дейін, тәуекелдерді басқарумен
  • Көп аккаунт: жеке параметрлері бар шексіз аккаунт саны
  • TypeScript + Bun — жылдам, типтелген, ыңғайлы
  • Dry-run режимі — тапсырыстарды орындамай-ақ есептейді

Теңгеру неге маңызды

Portfolio Rebalancing Concept

Идея қарапайым: сіз портфеліңіздегі активтердің мақсатты салмағын анықтайсыз (мысалы, 25% TMOS, 25% TBRU, 25% TRUR, 25% RUB). Уақыт өте нарық қозғалады, ал нақты салмақтар мақсаттан ауытқиды. Теңгеру дегеніміз — өскенді сатып, түскенді алу арқылы мақсатты салмақтарға қайта оралу.

Бұл неге маңызды:

  1. Тәуекелді бақылау — бір актив портфельдің 60%-ына дейін өссе, сіз шамадан тыс тәуекелге барасыз
  2. Жүйелі пайда фиксациясы — өскенді автоматты түрде сатасыз
  3. Түсуден пайдалану — түскенді автоматты түрде аласыз
  4. Тәртіп — эмоция жоқ, тек алгоритм

Бот қалай жұмыс істейді

Негізгі цикл

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

Төрт теңгеру режимі

Four Balancing Modes

1. Қолмен (Manual) — конфигурациядан алынған бекітілген салмақтар (мысалы, 25/25/25/25)

2. Нарықтық капитализация (Market Cap) — әр қордың нарықтық капитализациясына пропорционал салмақтар

3. AUM — басқарудағы активтер көлеміне (Assets Under Management) пропорционал салмақтар

4. Декорреляция — ең қызықтысы:

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

Нарықтық капитализация мен AUM арасында айырмашылығы бар құралдарды тауып, осы метрикалар арасында теңгереді.

Ақылды тапсырыс генерациясы

Бот алдымен сатады, содан кейін сатып алады. Бұл сатып алуға арналған капиталды босатады — қолма-қол ақша қоры керек емес. Барлық құралдар лоттармен, тиісті дөңгелектеумен сатылады.


Кеңейтілген мүмкіндіктер

  • Маржиналды сауда 4x-ке дейін, нарық жабылардың алдында автоматты левередж төмендетумен
  • Көп аккаунт — әрқайсысында өз стратегиясы бар шексіз аккаунт саны
  • Минималды пайда шегі — пайда шектен төмен болса, сатылмайды
  • Dry-run режимі — бәрін есептейді, ештеңе орындамайды
  • Айырмаға негізделген түзету — салмақтар соңғы теңгеруден кейінгі өзгерістерге бейімделеді

Тез бастау

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

Байқап көріңіз


Сілтемелер:


Дереккөз көрсету

@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

Нарықтан бір қадам алда болыңыз

AI сауда талдаулары, нарық аналитикасы және платформа жаңалықтары үшін біздің ақпараттық бюллетеньге жазылыңыз.

Біз сіздің жекелігіңізді құрметтейміз. Кез келген уақытта жазылымнан шығуға болады.