Риск-менеджмент для алготрейдеров: уровни защиты
Уровни риск-менеджмента в автоматической торговле: стоп на каждую сделку, дневной лимит убытка, максимальная позиция, лимит сделок, аварийный выключатель и мониторинг.
В автоматической торговле риск-менеджмент - не дополнение, а часть самой системы. Компьютер может отправить сотни ордеров, ни разу не остановившись, чтобы спросить, не выглядит ли что-то странно. Поэтому имеет смысл выстроить несколько уровней защиты: если один откажет, следующий остановит ущерб.
Почему автоматической торговле нужен другой подход
У ручного трейдера последняя линия обороны - сам человек: он видит что-то странное и закрывает позицию. В автоматической системе этого тормоза не всегда есть. Дублированный алерт может открыть двойную позицию. Ошибка в логике может вызвать повторные входы. Обрыв связи может оставить позицию без стопа.
Поэтому о риске стоит думать на двух уровнях: рыночный риск - цена идёт против вас, и операционный риск - система делает то, чего вы не планировали. Хороший риск-менеджмент работает с обоими.
Уровень 1: стоп на каждую сделку
Основа: у каждой сделки есть заранее определённый выход на случай ошибки. Несколько принципов:
- Стоп должен быть отправлен брокеру как реальный ордер, а не существовать только внутри вашего кода. Если система отключится, ордер, стоящий у брокера, всё равно вас защитит.
- Ставьте стоп по структуре рынка или волатильности, а затем подбирайте размер позиции под стоп, а не наоборот. См. методы расчёта размера позиции.
- Помните, что стоп-ордер превращается в рыночный, и на быстром рынке может исполниться заметно дальше от уровня.
Уровень 2: дневной лимит убытка
Даже со стопом на каждой сделке серия убытков за один день может накопиться. Дневной лимит говорит: после потери заданной суммы система прекращает торговлю до следующего дня.
Гипотетический пример: на счёте с риском $200 на сделку дневной лимит $500 остановит торговлю после двух-трёх убытков. Если вы торгуете с проп-фирмой, ставьте личный лимит заметно ниже лимита фирмы, оставляя запас на проскальзывание и открытые позиции. Подробности - в статье дневной лимит убытка.
Заранее решите, учитывает ли лимит только реализованные убытки или и плавающие, и закрывает ли система открытые позиции при достижении лимита или только блокирует новые входы.
Уровень 3: максимальный размер позиции
Это одна из важнейших защит от багов. Даже если ваша логика рассчитывает размер позиции динамически, установите жёсткий потолок по числу контрактов, который нельзя превышать ни при каких обстоятельствах. Если искажённый алерт запросит 50 контрактов вместо 5, потолок его остановит.
Стоит задать потолок по каждому направлению (лонг или шорт) и по общей экспозиции, особенно если на одном счёте работают несколько стратегий или коррелированные рынки, например NQ и ES.
Уровень 4: число сделок и торговые часы
- Максимум сделок в день: стратегия, которая обычно делает три сделки в день и вдруг делает двадцать, сообщает вам, что что-то не так. Такой лимит останавливает зацикливание.
- Временные окна: ограничьте торговлю часами, на которых стратегия тестировалась. Многие трейдеры также избегают входов вокруг важной статистики.
- Закрытие до конца сессии: если вы не собираетесь держать позицию на ночь, убедитесь, что позиции автоматически закрываются до окончания сессии. Некоторые проп-фирмы этого требуют.
Уровень 5: аварийный выключатель и мониторинг
Аварийный выключатель (kill switch) - один быстрый и простой способ остановить всё: отменить рабочие ордера, закрыть позиции и заблокировать новые сигналы. Убедитесь, что точно знаете, где он находится, и что он работает и с телефона.
Мониторинг включает:
- Уведомления при исполнении сделки, достижении лимита или ошибке.
- Регулярную сверку того, что система «считает» открытым, с тем, что реально открыто на счёте.
- Журнал сделок, по которому можно потом проверить, что произошло и почему.
Что делать, если автоматика ведёт себя неправильно
Когда что-то выглядит не так, порядок действий такой:
- Остановить: нажмите аварийный выключатель. Не пытайтесь чинить, пока система продолжает торговать.
- Проверить: зайдите напрямую в платформу брокера и проверьте открытые позиции и ордера.
- Закрыть вручную всё, что не должно быть открыто.
- Задокументировать: сохраните алерты, логи и временные метки.
- Разобраться в причине до перезапуска, затем возвращаться постепенно, желательно через симуляцию.
Риск разорения
Риск разорения - это вероятность того, что серия убытков опустит счёт ниже точки, после которой продолжать уже нельзя; на счёте проп-фирмы это, например, уровень максимальной просадки. Даже стратегия с реальным преимуществом может случайно попасть в длинную серию убытков.
Гипотетический пример: если вы рискуете 25% допустимой просадки на каждой сделке, четыре убытка подряд закрывают счёт - а такая серия совершенно обычное событие. Если рискуете 5%, нужно двадцать убытков подряд. Небольшой риск на сделку не устраняет риск, но даёт стратегии время показать, есть ли у неё преимущество. Подробнее о просадке - в статье типы просадки в проп-фирмах.
Главное
- В автоматической торговле есть и рыночный, и операционный риск, и защищаться нужно от обоих.
- Выстраивайте уровни: стоп на сделку, дневной лимит, потолок контрактов, лимиты на число сделок и часы.
- Аварийный выключатель и мониторинг - часть системы, а не опции.
- Если что-то пошло не так: остановить, проверить у брокера, закрыть, задокументировать и только потом разбираться.
- Небольшой риск на сделку резко снижает риск разорения.
В WeCore есть автоматические правила риска: дневной лимит убытка, максимум контрактов, торговые часы и закрытие позиций - они применяются к каждому подключённому счёту. Их можно сделать строже правил проп-фирмы и проверить в режиме симуляции. Подробности - в руководстве как настроить лимиты риска в WeCore.