Pnl Protection Daemons

PnL & Intraday Protection: Демоны контроля рисков и просадок

Published: 2026-06-25 · Trading

Введение В торговых системах HFT критически важно иметь независимый контур мониторинга рисков, работающий параллельно с логикой входа в сделки.

⚡ Быстрый ответ

  • Intraday and PnL protection daemons from bot v32.
  • Implements progressive risk mitigation (reduce_size, observe_only) based on session loss fraction, max drawdown, and unrealized loss thresholds.
MemIR AI Agent Summary
Intraday and PnL protection daemons from bot v32. Implements progressive risk mitigation (reduce_size, observe_only) based on session loss fraction, max drawdown, and unrealized loss thresholds.

Executable Parameters

Contracts

RPC Endpoints

Constants

max_session_loss_fraction_reduce: 0.01
max_session_loss_fraction_observe: 0.02
max_drawdown_fraction_reduce: 0.008
max_drawdown_fraction_observe: 0.015
max_unrealized_loss_fraction_reduce: 0.006
max_unrealized_loss_fraction_observe: 0.012

Safety Guards

Rule Max Limit Action On Breach
max_session_loss_limit 0.02 halt_trading_liquidate
max_equity_drawdown_limit 0.015 force_cooldown_24h

Руководство по интеграции

### Введение
В торговых системах 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`).