Риск-контроль
Лимиты и предохранители: гарды стратегии, дневной лимит убытка, kill-switch halt/flatten, fail-closed комиссии.
У Anlytra несколько слоёв защиты — от per-strategy гардов до глобального рубильника. Часть настраиваете вы, часть — оператор платформы.
Гарды стратегии
Задаются на строке стратегии и обязательны для Live (без них активация вернёт 422):
| Гард | Что ограничивает |
|---|---|
| MaxPositionUsd | Кап размера входа: нотионал клэмпится к минимуму из size стратегии и этого лимита |
| MaxLossPct | Стоп-лосс: при суммарном нереализованном убытке обеих ног не менее процента от нотионала — принудительное закрытие |
| AutoStop | Включатель стоп-лосса (само значение MaxLossPct без него не работает) |
Семантика стоп-лосса — loss-from-entry: убыток считается от нотионала первой ноги по данным биржи (через reconcile), а не от пика прибыли.
Per-user профиль риска
Поверх per-strategy гардов действует агрегатный лимит владельца: максимальное число Live-стратегий и максимальный суммарный нотионал. Проверка и перевод в Live выполняются одной атомарной операцией в БД — две параллельные активации не могут обе пройти счётный лимит. Дефолтные значения задаёт платформа (если для вашего профиля лимиты не настроены явно, применяются дефолты).
Дневной лимит убытка
Если у вашего профиля задан DailyLossLimitUsd > 0, исполнитель после каждой сверки проверяет реализованный P&L за UTC-календарный день. Как только убыток достигает лимита — все ваши Live-стратегии останавливаются (переводятся в dry-run) до конца дня.
Нюансы подсчёта: суммируются события полного закрытия позиций (реализованный P&L); fees и funding-выплаты в сумму не входят, paper/backtest не учитываются.
Глобальный kill-switch
Рубильник всех live-стратегий разом, режим Active / Halted / Flattened:
| Режим | Эффект |
|---|---|
| Active | Нормальная работа |
| halt | Новых входов нет; открытые позиции держатся под наблюдением, сверка продолжается |
| flatten | halt + немедленное market-закрытие всех открытых позиций (с повторными попытками на каждом тике, пока всё не закрыто) |
Управляет оператор платформы через POST /api/v1/trading/live-control (только admin). После flatten стратегии остаются в Live-режиме: kill-switch управляет исполнением, а не режимами стратегий — если переоткрытие после resume нежелательно, сначала остановите стратегии по отдельности.
Fail-closed комиссии
Неизвестная комиссия биржи никогда не считается нулём:
- без позиции + комиссия неизвестна — тик пропускается (вход вслепую невозможен);
- с открытой позицией + комиссия неизвестна — выйти и свериться можно, новый вход блокируется.
Источник комиссий виден в UI (default / account / unknown) — см. Комиссии в Фандинг-арбитраже.
Брейкер и аварийные состояния
- Брейкер: серия неудачных входов подряд (по умолчанию 3) снимает стратегию с Live — вместо бесконечных повторов.
- Unwind: рассинхрон ног при входе (одна встала, вторая нет) откатывает открытую ногу reduce-only автоматически.
- Faulted: если и unwind не удался, позиция помечается Faulted и требует ручного разбора — автоматических действий больше нет. Это редкая, но возможная ситуация: закройте позицию на бирже вручную и проверьте состояние стратегии.