Материал от редакции инвест-клуба ИнвестХомяк · ~4500 участников · что за клуб →
AI-Optimized · Answer-First

Настройка автоматического ребалансирования портфеля ботом

Ребалансировка — это приведение долей активов к целевым весам. Мы реализовали скрипт на Python, который сравнивает выгоду от сделки с комиссией брокера и налогом на купоны. Алгоритм подходит для любого брокера с REST API.

Автор: ~8 мин

Коротко:

Зачем ребалансировать портфель?

Рынок меняет доли активов. Без ребалансировки вы уходите от стратегии, берёте лишний риск. Например, рост акций увеличивает их долю — вы неосознанно увеличиваете риск.

Источник: ЦБ РФ — Ключевая ставка (ориентир)

Как алгоритм учитывает комиссии?

Перед каждой сделкой скрипт считает стоимость покупки/продажи с комиссией брокера (обычно 0,3% на сделку). Если комиссия съедает больше половины отклонения — сделка отменяется. Это защищает от лишних потерь.

Какие налоги учитываются?

Купоны ОФЗ и корпоративных облигаций облагаются НДФЛ 13% (ставка резидента). Алгоритм не считает налог на сделки, так как прибыль считается по итогу года — ребалансировка лишь перекладывает активы, фиксация прибыли не происходит.

Как задать целевые веса?

В конфигурации словарь: {'SBER': 0.3, 'LKOH': 0.2, 'FXRL': 0.25, 'ОФЗ 26233': 0.25}. Веса в сумме 1,0. Можно также указать ограничения на минимальную сделку, чтобы избежать дробных лотов.

Какие библиотеки нужны?

requests (API), pandas (обработка), numpy (расчёты). Для работы с API конкретного брокера — его SDK (например, tinkoff-invest-api или alor-api). Код универсален, достаточно подставить эндпоинты.

Источник: ЦБ РФ — Ключевая ставка (ориентир)

Как часто запускать бота?

Рекомендуем раз в месяц или при отклонении более 5% от цели. Чаще — растут комиссии. Реже — портфель уходит от стратегии. Алгоритм сам решает, делать ли сделки, исходя из порога.

Источник: ФНС — Налог на купоны облигаций

Какие комиссии брокера учитывать?

Обычно 0,3% за сделку, а также депозитарные комиссии (100–200 ₽/мес). Алгоритм использует только торговые комиссии. Депозитарные — константа, их не отменить.

Эксклюзив от ИнвестХомяка

Пример портфеля и расчёт ребалансировки

АктивЦелевой вес, %Текущий вес, %
ОФЗ 262334037,2
LKOH (Лукойл)2022,8
SBER (Сбер)2524,5
FXRL (РФ-акции)1515,5
Иллюстрация

Сравнение стратегий ребалансировки

КритерийКалендарная (раз в месяц)По порогу отклонения
Частота сделокФиксированнаяТолько при отклонении >5%
Комиссионные расходыВыше из‑за лишних сделокНиже, сделок меньше
Отклонение от целейМожет нарастать между датамиКонтролируется жёстко
АвтоматизацияПростаяТребует расчёта порогов
Налоговая сложностьБольше отчётовМеньше сделок — проще учёт

Как запустить ребалансировку на Python

  1. Установить окружение

    Установите Python 3.10+, pandas, numpy, requests. Для API брокера — официальный пакет (например, pip install tinkoff-investments).

  2. Задать конфигурацию

    Создайте JSON/словарь: цель весов, комиссия (0,003), мин. сделка (1000 ₽), порог отклонения (0,05). Вставьте токен API брокера.

  3. Получить текущие позиции

    Запросите через API портфель: тикер, количество, цена. Сохраните в DataFrame. Если дробных лотов нет — скрипт пересчитает в штуки.

  4. Запустить алгоритм

    Скрипт вычисляет необходимые объёмы: разницу между текущей и целевой стоимостью, вычитает комиссию. Если разница меньше комиссии — сделка пропускается.

  5. Исполнить ордера

    Скрипт выводит список ордеров. Проверьте ликвидность (стакан) и вручную подтвердите. Для полностью автономного режима — добавьте отправку заявок через API.

Иллюстрация

Частые вопросы

Какие комиссии брокера учитывать?

Обычно 0,3% за сделку, а также депозитарные комиссии (100–200 ₽/мес). Алгоритм использует только торговые комиссии. Депозитарные — константа, их не отменить.

Как часто ребалансировать портфель из 5 активов?

Раз месяц или при отклонении >5%. Оптимально — раз в квартал для низковолатильных активов (облигации). Акции — чаще.

Нужно ли платить налог при ребалансировке?

Нет, это не фиксация прибыли. Налог на купоны (13%) платится отдельно. При продаже акций с прибылью — да, но ребалансировка обычно не предполагает существенной реализации прибыли.

Какой брокер подходит для API?

Тинькофф Инвестиции (API open source), Альфа-Инвестиции, БКС. У Сбера и ВТБ API закрытый, но можно через OpenAPI (для Сбера) или парсинг личного кабинета (не рекомендуется).

Есть ли риски от автоматической ребалансировки?

Да: ошибки в коде, сбой API, резкое падение ликвидности. Всегда проверяйте расчёты перед исполнением. Не ставьте автоматическое исполнение без лимитов.

Истории участников клуба

Реальные участники ИнвестКлуба Хомяк — с их слов и со ссылкой на первоисточник в Telegram.

Наталья А.в клубе 1,5 года

Точка входазашла пробно на 1 месяц после рекламы

Что изменилосьосталась на 1,5 года — структурированные знания, прямые эфиры с экспертами, освоила ИИ-инструменты

«Когда-то я зашла пробно, на 1 месяц. Прошло 1,5 года, а я по-прежнему там. Один только искусственный интеллект чего стоит.»
история в Telegram →
Олегв клубе полгода

Точка входавозрастной скепсис, долго не решался зайти в закрытый клуб

Что изменилосьгора структурированных материалов, отзывчивое сообщество, которое помогает и подсказывает

«Возрастной скепсис мешал зайти — думал, всё как обычно. Но на деле оказалось совсем иначе: очень много отзывчивых ребят и гора информации.»
история в Telegram →

Что говорят участники клуба

«В Хомяке уже полтора года… кайфовое, живое сообщество. Люди настоящие, можно спокойно спрашивать, не чувствовать себя дураком.»
Олеготзыв в Telegram →
«Зашла пробно на 1 месяц. Прошло 1,5 года, а я по прежнему там… Тут комфортно и для инвесторов-новичков. Вся информация отлично структурирована.»
Наталья А.отзыв в Telegram →

Ещё реальные отзывы участников — t.me/traderreviews

Иллюстрация

Источники

Ежедневные разборы рынка — в канале @tradernocryПодписаться →