Как работает Barfinex
Inspector — обзор риск-менеджмента
Что делает Inspector, откуда берёт данные, как установить и настроить, что видно в Studio и в логах.
Что такое Inspector?
Inspector — отдельный сервис Barfinex для риск-менеджмента:
- Следит за позициями и держит их под контролем
- Выставляет и сопровождает стоп-ордера (стоп-лосс, тейк-профит)
- Ограничивает убытки и публикует события риска в шину при срабатывании политик
Он различает:
- Legacy-позиции — Открыты до текущей сессии Inspector. Для них Inspector только уведомляет (например, в Telegram); не закрывает и не меняет стопы автоматически.
- Позиции под управлением (runtime) — Открыты во время работы Inspector. Для них — полный контроль: выставление стопов, трейлинг, закрытие через API Provider.
Inspector работает отдельным процессом или контейнером. Подключается к шине событий для входящих данных и к REST API Provider для исполнения ордеров и снимков счёта. Регистрируется в Provider (реестр приложений) с типом inspector, чтобы Studio и API-клиенты обращались к нему через прокси Provider.
Откуда Inspector берёт данные
Шина событий (каналы)
Inspector подписывается на:
- Рыночные данные Provider — Сделки, стакан, свечи, инструменты, цены
- Счёт и ордера Provider — События счёта, создание и закрытие ордеров
- Запросы детектора по позициям — Открыть, закрыть, уменьшить, развернуть
По ним он обновляет кэш цен, стакан (спред), список символов и позиций, пересчитывает риск и для runtime-позиций при необходимости выставляет/обновляет стопы или закрывает позиции.
REST API Provider
- Исполнение —
POST /api/ordersдля открытия/закрытия рыночных и защитных ордеров (STOP_MARKET, TAKE_PROFIT_MARKET). Источник ордера — inspector. - Данные счёта —
GET /api/accounts/:connectorType/:marketTypeдля снимка счёта и позиций при старте сессии и обновлении состояния.
Inspector не вызывает исполняющие эндпоинты Detector; все торговые действия идут через Provider.
Что Inspector публикует
- Превышение лимита риска — При срабатывании политики throttle (дневной убыток, просадка, лимит убыточных сделок, серия убытков и т.д.). В payload может передаваться указание Detector приглушить генерацию сигналов.
- Kill switch — Аварийное отключение при реализации.
- Другие типы событий риска по мере развития продукта.
Установка и запуск
- Окружение — Та же шина событий и сеть, что у Provider (например, общая Docker-сеть). Задать хост/порт шины, URL API Provider и при необходимости API-токен.
- Регистрация — При старте Inspector регистрируется в Provider (register + heartbeat). Настраиваются ключ приложения (по умолчанию
inspector), публичный хост и порт API (по умолчанию 8008). - Docker — Использовать образ Barfinex Inspector в docker-compose, в той же сети, что Provider и шина, с тем же env-файлом.
- Конфиг — Параметры риска и торговли (стоп-лосс %, тейк-профит %, лимиты и т.д.) задаются в конфиге Inspector (например
config.inspector.json). Основные опции описаны в Политики риска Inspector.
Что видно в Studio и в логах
- Studio — Дашборд риска и аудит доступны через прокси Provider (дашборд, KPI, runtime-позиции, аудит). События Inspector в реальном времени приходят в Studio через WebSocket Provider (
/ws). - Логи — В логах процесса/контейнера Inspector видны старт, подключение к шине и Provider, обработка событий, выставление стопов, срабатывания throttle и уведомления в Telegram (если включены).
Быстрая проверка после установки
- Вызвать
GET /api/inspectors/<appKey>/healthчерез Provider (или напрямую на порт 8008). Ожидаетсяok: trueи информация о коннекторах. - В логах Inspector — без постоянных ошибок подключения к шине и API Provider.
- В логах Provider — появление heartbeat Inspector в реестре приложений.
Дальше
- Политики риска Inspector — Политики и опции конфигурации
- Архитектура Barfinex — Связи компонентов
- Справочник API Inspector — REST-эндпоинты