К списку статей
May 23, 2025
5 мин. чтения

Portfolio Balancer: Иерархическая система управления инвестициями

portfolio management
investment system
hierarchical structure
asset management
automation

Представьте, что у вас есть сложная система управления инвестициями, где каждый актив живет в своем "доме" — кошельке, а все эти дома организованы в четкую иерархическую структуру, как файловая система на компьютере. Именно такой подход мы и рассмотрим.

Архитектура системы: три типа сущностей

В основе системы лежат три ключевых понятия, которые работают как строительные блоки:

Wallet (кошелек) — это самый простой элемент, который содержит только один тип актива. Думайте о нем как о банковской ячейке, где лежат только доллары или только биткоины. Никакого смешения — один кошелек, один актив.

Asset (актив) — это конкретная монета, акция или любой другой финансовый инструмент. Bitcoin, Apple, доллары США — все это активы.

Portfolio (портфель) — это как папка в файловой системе, которая может содержать другие папки (портфели) или файлы (активы). Портфель группирует связанные элементы по какому-то принципу.

Древовидная структура: от общего к частному

Система организует все активы в виде дерева с четкой иерархией:

Корень дерева — это все ваши активы целиком. Представьте это как главную папку "Мои инвестиции".

Первый уровень — активы разделены по пользователям. Если система обслуживает несколько человек, у каждого будет своя ветка.

Второй уровень — активы группируются по биржам. У одного пользователя могут быть активы на Binance, Coinbase, в Сбербанке и так далее.

Третий уровень — аккаунты на конкретной бирже. На одной бирже у вас может быть спотовый аккаунт, фьючерсный, сберегательный.

Четвертый уровень — группировка по секторам или стратегиям. Например, "Технологические акции", "Криптовалюты", "Стейблкоины" — как тематические папки.

Пятый уровень — конкретные кошельки с активами. Здесь уже лежат ваши Bitcoin, Ethereum, доллары.

Два состояния системы: реальность и мечты

Система работает с двумя параллельными деревьями:

Real Portfolio Tree (дерево реальных активов) — это то, что у вас есть прямо сейчас. Система получает эти данные напрямую с бирж через API. 1.5 Bitcoin на Binance, 100 акций Apple в Сбербанке, 5000 долларов на Coinbase — все как есть.

Desired Portfolio Tree (дерево желаемых активов) — это ваш план, выраженный в процентах. Вы говорите: "Хочу 60% в акциях, 30% в криптовалютах, 10% в наличных". Система потом сама высчитает конкретные суммы.

Функция балансировки: от простого к сложному

Самая базовая функция балансировки работает как простое сравнение двух деревьев:

Diff-алгоритм сравнивает реальное и желаемое состояние, находит разности и говорит: "Продай 0.3 Bitcoin, купи акций на $15,000". Это как калькулятор, который показывает, что нужно сделать для достижения цели.

Но функция может быть и гораздо сложнее. Продвинутая балансировка учитывает не только что покупать и продавать, но и где это делать. Она может сказать: "Переведи Bitcoin с Binance на Coinbase, потому что там лучше курс для продажи" или "Выведи доллары из банка на биржу для покупки акций".

Diff Tree: магия сравнения деревьев

Diff Tree — это результирующее дерево, которое показывает разности между реальным и желаемым состоянием портфеля. Представьте его как план действий, где каждый узел содержит инструкции о том, что нужно сделать.

В каждом узле diff-дерева содержится информация:

  • Текущее количество актива
  • Желаемое количество актива
  • Разность (сколько нужно купить или продать)
  • Операция (buy/sell/hold)

Например, если у вас есть 1 Bitcoin, а нужно 0.7, то в diff-дереве для этого узла будет указано: "Продать 0.3 Bitcoin". Если у вас 50% в акциях, а нужно 60%, система покажет: "Купить акций на сумму X долларов".

Алгоритм построения diff-дерева работает рекурсивно — сначала вычисляет разности на верхних уровнях (портфели), затем спускается к конкретным активам. Это позволяет понять не только что покупать/продавать, но и в какой последовательности это делать.

Diff-дерево становится основой для выполнения операций балансировки. Сначала система выполняет операции продажи (освобождает средства), затем операции покупки (инвестирует освободившиеся средства в недовешенные активы).

Виртуальные деревья: когда нужна сложная логика

Самая интересная часть системы — возможность создавать виртуальные деревья для специальных задач. Представьте, что у вас есть арбитражный бот, который должен держать одинаковое количество Litecoin на двух разных биржах для поиска ценовых различий.

Вместо одного кошелька "LTC 100%" система создает два отдельных кошелька: "LTC 10%" и "LTC 90%". На кошелек с 10% ссылается виртуальное дерево арбитражного бота. Система помечает эти 10% как заблокированные и указывает, кем именно — арбитражным ботом.

Это как если бы вы в своем банковском приложении могли создать виртуальные "конверты" для разных целей, но деньги при этом физически лежали бы на одном счете.

Практическое применение

Такая система решает реальные проблемы инвесторов:

Автоматизация рутины — не нужно вручную считать, сколько чего продать и купить. Система все рассчитает сама.

Контроль над сложными стратегиями — можно одновременно управлять несколькими торговыми ботами, арбитражными стратегиями, долгосрочными инвестициями.

Прозрачность — вся структура активов видна как на ладони. Понятно, где что лежит и зачем.

Гибкость — можно легко менять стратегии, перераспределять активы между биржами, добавлять новые инструменты.

Эта система превращает хаотичное управление множеством активов на разных платформах в структурированный, понятный процесс. Как превратить беспорядок в шкафу в аккуратно организованную гардеробную систему — только для инвестиций.

Заключение

Portfolio Balancer демонстрирует, как современные технологии могут упростить сложные инвестиционные процессы. Система показывает, что управление портфелем — это не магия, а структурированный подход с четкими алгоритмами и понятной логикой.

Посмотреть демонстрацию системы можно по адресу: https://portfolio-balancer-tau.vercel.app/ru

Исходный код проекта доступен на GitHub: https://github.com/suenot/portfolio-balancer

Цитирование

@software{soloviov2025portfoliobalancer,
  author = {Soloviov, Eugen},
  title = {Portfolio Balancer: Иерархическая система управления инвестициями},
  year = {2025},
  url = {https://marketmaker.cc/ru/blog/post/portfolio-balancer},
  version = {0.1.0},
  description = {Описание системы управления инвестициями Portfolio Balancer, которая организует активы в иерархическую структуру, подобную файловой системе, для упрощения сложных инвестиционных процессов.}
}

MarketMaker.cc Team

Количественные исследования и стратегии

Обсудить в Telegram