Перейти к содержимому
← Назад к документации

Архитектура модуля собственной ликвидности

Модуль состоит из пяти компонентов, каждый из которых отвечает за свою часть конвейера сделки. Ниже — состав компонентов, их зоны ответственности и порядок взаимодействия.

Компоненты

Компонент Ответственность
Swap Engine Логика сделок: создание свапа, фиксация курса, оркестрация исполнения от входящего платежа до выплаты
Inventory Manager Учёт активов: балансы по каждой валюте, целевые уровни инвентаря, текущее отклонение позиции
Matching Layer Логика использования накопленного инвентаря: определяет, может ли заявка быть исполнена из инвентаря
Pricing Engine Расчёт цены: итоговый курс с учётом рынка, базового спреда и текущей позиции системы
Risk Engine Контроль перекоса: следит за отклонением инвентаря от целевого уровня и ограничивает рост позиции

Взаимодействие компонентов

Типовой конвейер заявки:

Клиентский запрос


Pricing Engine ────────────► расчёт final_rate
│                        (market_rate, base_spread, inventory_skew)

Swap Engine ───────────────► создание свапа, фиксация курса


Matching Layer ────────────► проверка: исполнять из инвентаря?
│                        (для фазы Release — наличие актива в inventory)

Inventory Manager ─────────► изменение балансов (inventory_delta пересчитывается)


Risk Engine ───────────────► контроль перекоса позиции
(сигналы для Pricing Engine и Matching Layer)

  1. Pricing Engine рассчитывает цену до создания свапа — с учётом текущего inventory_skew (см. Pricing Engine).
  2. Swap Engine фиксирует курс и ведёт сделку по статусам.
  3. Matching Layer решает, исполнять ли сделку из накопленного инвентаря (фаза Inventory Release) или принимать актив в инвентарь (фаза Inventory Fill).
  4. Inventory Manager фиксирует изменение балансов после исполнения: total_balance, reserved_balance, available_balance (см. Inventory Model).
  5. Risk Engine замыкает контур: перекос позиции влияет на ценообразование и на решения Matching Layer.

Ключевой принцип

Компоненты образуют замкнутый контур: сделки меняют инвентарь → состояние инвентаря меняет цену → цена меняет поток сделок. За счёт этого контура система балансирует позицию экономически, без обязательного внешнего хеджирования каждой заявки.

См. также