Как работает Barfinex
Inspector — риск-управление
Inspector — риск-регулятор Barfinex. Каждое исполнительное намерение от Advisor проходит через Inspector прежде, чем любой ордер достигнет биржи. Он применяет политики, управляет защитными ордерами и аудирует каждую сделку.
Что такое Inspector
Inspector — уровень риск-управления Barfinex. Его роль в конвейере ясна и не подлежит обсуждению: каждое исполнительное намерение от Advisor должно пройти через Inspector прежде, чем любой ордер достигнет биржи.
Inspector не принимает торговых решений. Он применяет сконфигурированные вами правила: лимиты размера позиции, пороги просадки, ограничения экспозиции, контроль серий убытков, периоды охлаждения. Он также управляет жизненным циклом защитных ордеров — стоп-лосс и тейк-профит — для каждой открытой позиции.
Что регулирует Inspector
Валидация политик
Перед передачей любого исполнительного намерения Inspector оценивает его по сконфигурированным риск-политикам:
- Размер позиции — максимальный размер позиции по инструменту, в абсолютных или процентных единицах
- Экспозиция портфеля — максимальная суммарная открытая экспозиция по всем инструментам
- Просадка — максимальная просадка от максимума сессии, или абсолютный лимит убытка
- Контроль убытков — максимальное число последовательных убытков, максимальное число убыточных сделок за сессию
- Период охлаждения — обязательная пауза после убытка перед разрешением новых входов
- Временны́е ограничения — окна запрета торговли (например, перед важными экономическими событиями)
При срабатывании политики Inspector выполняет настраиваемое действие:
| Действие | Эффект |
|---|---|
ALLOW | Решение передаётся на исполнение |
BLOCK | Решение отклоняется; логируется с причиной |
THROTTLE | Частота генерации сигналов снижается; событие throttle публикуется в Detector |
STAND_DOWN | Новые входы приостанавливаются; существующие позиции остаются под управлением |
CLOSE_ALL | Все runtime-позиции немедленно закрываются |
Управление защитными ордерами
Для каждой позиции, открытой через Inspector, он поддерживает полный жизненный цикл защитных ордеров:
- Выставляет начальные стоп-лосс и тейк-профит сразу после заполнения входного ордера
- Корректирует стоп-ордера по мере движения цены (трейлинг-логика при наличии настройки)
- Отменяет защитные ордера при закрытии позиции другими средствами
- Отслеживает частичные заполнения и корректирует размеры защитных ордеров соответственно
Все ордера размещаются через REST API Provider. Inspector никогда не обращается к бирже напрямую.
Классификация позиций
Inspector различает два типа позиций:
Runtime-позиции — открытые пока Inspector работает. Inspector имеет полный контроль: выставляет стопы, трейлит их и может закрыть эти позиции по политике или ручному триггеру.
Legacy-позиции — существовавшие до начала текущей сессии Inspector. Inspector обнаруживает их при старте и отправляет уведомление (в Telegram при наличии настройки). Он не закрывает и не модифицирует legacy-позиции автоматически. Они остаются на ответственности оператора.
Постторговый аудит
Каждый исполненный ордер записывается в журнал аудита с:
- Ценами входа и выхода
- Проскальзыванием относительно ожидаемой цены
- Коэффициентом заполнения (полное или частичное)
- Комиссиями
- Временем от сигнала до заполнения (задержка)
- Атрибуцией источника (какой экземпляр Detector и цикл Advisor породили сделку)
Эти данные доступны через REST API Inspector и видны в представлении аудита Studio.
Реконсилиация
Inspector периодически запускает реконсилирующий проход, сравнивающий внутреннее состояние позиций с фактическим состоянием счёта от Provider. Расхождения запускают событие реконсилиации и, в зависимости от серьёзности, могут запустить STAND_DOWN до разрешения ситуации.
Это предотвращает молчаливое расхождение между тем, что Inspector считает содержимым портфеля, и тем, что фактически находится на бирже.
Как Inspector подключается
- Шина событий — Inspector подписывается на события рыночных данных от Provider (для потоков цен и мониторинга спреда) и на события исполнительных намерений от Advisor.
- REST API Provider — все размещения ордеров и запросы счёта идут через Provider. Inspector не обходит Provider для доступа к бирже.
- Реестр приложений — Inspector регистрируется в Provider при старте. Studio и API-клиенты обращаются к нему через прокси Provider по пути
/api/inspectors/<appKey>/....
Что видно в Studio
- Риск-дашборд — текущий статус политик, активные лимиты, история срабатываний
- Список позиций — runtime-позиции с уровнями стопов и P&L
- Панель KPI — просадка сессии, соотношение побед/убытков, утилизация экспозиции
- Журнал аудита — каждая сделка с проскальзыванием, качеством заполнения и атрибуцией
- События throttle — когда и почему генерация сигналов была снижена или приостановлена
Быстрая проверка после установки
GET /api/inspectors/<appKey>/health
Через Provider (или напрямую на порт 8008). Ожидаемый ответ: ok: true с информацией о коннекторах.
В логах Inspector должны быть:
- Успешное подключение к шине событий
- Успешная регистрация в Provider
- Подтверждение heartbeat от Provider
Дальше
- Политики риска Inspector — Полный справочник конфигурации политик
- Архитектура Barfinex — Как Inspector вписывается в полный конвейер
- Справочник API Inspector — REST-эндпоинты