Руководство по интеграции
### Введение
В торговых системах HFT критически важно иметь независимый контур мониторинга рисков, работающий параллельно с логикой входа в сделки. В версии бота `v32` для этого внедрены специальные демоны защиты капитала: **PnL Protection Daemon** и **Intraday Protection Daemon**. Они отслеживают текущий баланс кошелька, нереализованный убыток и пиковое значение эквити (equity peak) сессии.
### Многоступенчатая модель реагирования
Вместо бинарного отключения бота при жестком лимите потерь, защита реализует две градации нарушений:
1. **Reduce Size (Уменьшение лота)**: Умеренное нарушение. Бот снижает размер новых ордеров (коэффициент `size_multiplier` снижается до `0.5` или ниже) для ограничения экспозиции.
2. **Observe Only (Только наблюдение / Стоп)**: Тяжелое нарушение. Бот полностью блокирует новые сделки (`action = observe_only`), отменяет выставленные лимиты и закрывает текущие позиции.
### Параметры порогов (Thresholds)
Защита рассчитывает доли потерь относительно баланса сессии:
* **Session Loss Fraction (Доля дневного убытка)**:
* Порог `reduce` = `1.0%` (`max_session_loss_fraction_reduce = 0.010`)
* Порог `observe` (стоп) = `2.0%` (`max_session_loss_fraction_observe = 0.020`)
* **Equity Drawdown Fraction (Доля просадки от пика сессии)**:
* Порог `reduce` = `0.8%` (`max_drawdown_fraction_reduce = 0.008`)
* Порог `observe` (стоп) = `1.5%` (`max_drawdown_fraction_observe = 0.015`)
* **Unrealized Loss Fraction (Доля плавающего убытка по открытой позе)**:
* Порог `reduce` = `0.6%` (`max_unrealized_loss_fraction_reduce = 0.006`)
* Порог `observe` (стоп) = `1.2%` (`max_unrealized_loss_fraction_observe = 0.012`)
### Алгоритм расчета
На каждой итерации демон рассчитывает текущее значение эквити (с учетом плавающего PnL):
\[ Equity_t = Balance_{wallet} + PnL_{unrealized} \]
Если текущая просадка от исторического пика сессии \(Equity_{peak} - Equity_t\) превышает установленные лимиты, демон немедленно перехватывает управление, отправляя сигнал отмены ордеров через шлюз API (`gateway.py`).
В торговых системах HFT критически важно иметь независимый контур мониторинга рисков, работающий параллельно с логикой входа в сделки. В версии бота `v32` для этого внедрены специальные демоны защиты капитала: **PnL Protection Daemon** и **Intraday Protection Daemon**. Они отслеживают текущий баланс кошелька, нереализованный убыток и пиковое значение эквити (equity peak) сессии.
### Многоступенчатая модель реагирования
Вместо бинарного отключения бота при жестком лимите потерь, защита реализует две градации нарушений:
1. **Reduce Size (Уменьшение лота)**: Умеренное нарушение. Бот снижает размер новых ордеров (коэффициент `size_multiplier` снижается до `0.5` или ниже) для ограничения экспозиции.
2. **Observe Only (Только наблюдение / Стоп)**: Тяжелое нарушение. Бот полностью блокирует новые сделки (`action = observe_only`), отменяет выставленные лимиты и закрывает текущие позиции.
### Параметры порогов (Thresholds)
Защита рассчитывает доли потерь относительно баланса сессии:
* **Session Loss Fraction (Доля дневного убытка)**:
* Порог `reduce` = `1.0%` (`max_session_loss_fraction_reduce = 0.010`)
* Порог `observe` (стоп) = `2.0%` (`max_session_loss_fraction_observe = 0.020`)
* **Equity Drawdown Fraction (Доля просадки от пика сессии)**:
* Порог `reduce` = `0.8%` (`max_drawdown_fraction_reduce = 0.008`)
* Порог `observe` (стоп) = `1.5%` (`max_drawdown_fraction_observe = 0.015`)
* **Unrealized Loss Fraction (Доля плавающего убытка по открытой позе)**:
* Порог `reduce` = `0.6%` (`max_unrealized_loss_fraction_reduce = 0.006`)
* Порог `observe` (стоп) = `1.2%` (`max_unrealized_loss_fraction_observe = 0.012`)
### Алгоритм расчета
На каждой итерации демон рассчитывает текущее значение эквити (с учетом плавающего PnL):
\[ Equity_t = Balance_{wallet} + PnL_{unrealized} \]
Если текущая просадка от исторического пика сессии \(Equity_{peak} - Equity_t\) превышает установленные лимиты, демон немедленно перехватывает управление, отправляя сигнал отмены ордеров через шлюз API (`gateway.py`).