В количественном трейдинге риск-менеджмент — это не «дополнение» к стратегии, а ее несущая конструкция. Даже модель с положительным математическим ожиданием легко ломается на серии убытков, резкой смене рыночного режима или неверно оцененной позиции. По своему опыту знаю: как только начинаешь автоматизировать торговлю, сразу упираешься в три ключевых метрики — VaR, просадка и волатильность. Без них любая, даже самая изящная модель, превращается в дорогой генератор убытков.
Ниже — разбор без лишней теории, основанный на реальных проектах: что на самом деле измеряет каждый показатель, как его правильно встроить в торговый робот, где он обманывает и как собрать рабочий контур контроля риска для живого портфеля.
Зачем количественному трейдеру риск-менеджмент
Проблема большинства стратегий не в том, что они не умеют зарабатывать. Проблема в том, что они не выдерживают плохой период. Я не раз на практике сталкивался с тем, что стратегия с шарпом 1.8 и годовой доходностью 40% на исторических тестах полностью разоряла счет, когда рынок входил в незнакомый для модели режим.
В реальной торговле риск-менеджмент нужен, чтобы:
- ограничивать размер потерь на сделку и на портфель;
- не допускать критической просадки капитала — той, после которой восстановление становится математически почти невозможным;
- сравнивать стратегии по риску, а не только по доходности: метрики вроде коэффициента Шарпа или Сортино становятся осмысленными только при корректной оценке downside;
- адаптировать позицию под текущую волатильность рынка — динамически, а не «на глаз»;
- переживать режимы, где историческая прибыльность больше не работает, то есть когда модель начинает давать ложные сигналы.
Для алготрейдинга это особенно важно, потому что стратегия принимает решения системно: если в коде заложена неверная оценка риска, она будет ошибаться много раз подряд и одинаково уверенно. Один из моих первых торговых роботов на Python удваивал позицию при падении, потому что в коде не было проверки на максимальный убыток — и это была очень дорогая ошибка.
Три базовые метрики риска: что они показывают
VaR: сколько можно потерять за заданный срок
VaR (Value at Risk) отвечает на вопрос: какой максимальный убыток не должен быть превышен с заданной вероятностью за определенный горизонт времени.
Пример: дневной VaR на уровне 95% равен 2 млн рублей. Это значит, что в 95% дней потери не должны быть больше 2 млн. Но 5% дней могут быть хуже — и это ключевой момент, который часто упускают.
На практике я всегда подчеркиваю: VaR — это не «максимальный убыток», а порог типичного неблагоприятного сценария. Он не скажет, что будет, если рынок упадет на 10% за один день из-за геополитического шока. Он лишь показывает границу, за которой начинаются редкие, но потенциально катастрофические события.
Просадка: насколько стратегия уже провалилась
Просадка (drawdown) показывает, насколько текущая стоимость портфеля ниже предыдущего максимума. Это простой, но невероятно информативный индикатор, который я всегда вывожу на дашборд торгового робота.
Если счет рос до 10 млн, а потом упал до 8,5 млн, текущая просадка — 15%. Это не прогноз, а факт. Именно просадка даёт самое прямое ощущение риска: «стратегия уже потеряла столько-то».
В отличие от VaR, который оперирует вероятностями, просадка — это уже свершившееся падение. Она критически важна для оценки выживаемости, потому что серия убытков может выбить не только лимиты, но и психологическую устойчивость трейдера или инвестора.
Волатильность: насколько сильно «дергается» доходность
Волатильность — это статистическая мера разброса доходности. Чем она выше, тем сильнее колебания цены или PnL. Я часто использую rolling-волатильность (например, за 20 дней) как индикатор «температуры» рынка.
Для трейдера это важный сигнал практического характера:
- высокая волатильность обычно требует меньшего размера позиции, потому что риск-метрики «растягиваются»;
- низкая волатильность может создавать ложное чувство стабильности и провоцировать на избыточный риск;
- рост волатильности часто предшествует ухудшению качества сигналов — модель начинает давать больше ложных входов, а издержки (проскальзывание, комиссия) растут пропорционально.
Сравнение VaR, просадки и волатильности
| Метрика | Что измеряет | Когда полезна | Главный недостаток |
|---|---|---|---|
| VaR | Потенциальный убыток на горизонте времени | Лимиты риска, контроль капитала, регламент для портфеля | Не показывает размер потерь за пределом VaR |
| Просадка | Падение от локального максимума капитала | Контроль живучести стратегии, stop trading, оценка психологической нагрузки | Не прогнозирует будущий риск |
| Волатильность | Разброс доходности/цены | Сайзинг позиции, фильтрация режимов рынка, risk parity | Не различает «плохую» и «хорошую» изменчивость |
Как считать VaR на практике
За годы работы я пришел к тому, что выбор метода расчета VaR зависит от контекста: скорость, стабильность данных, сложность портфеля. Вот три основных подхода, которые действительно используются в реальных системах.
1. Исторический VaR
Берутся исторические доходности портфеля, сортируются от худших к лучшим, и выбирается нужный квантиль. Например, для 95% VaR берется 5-й процентиль распределения.
Плюсы:
- просто считать — пара строк кода на Python;
- легко объяснять, что важно при взаимодействии с инвесторами;
- не требует предположения о нормальности распределения.
Минусы:
- прошлое не гарантирует будущего — это особенно заметно на российском рынке, где режимы меняются резко;
- плохо работает при резкой смене режима: если в окне наблюдения не было кризиса, VaR будет занижен;
- чувствителен к длине окна: слишком короткое — шум, слишком длинное — сглаживает актуальные риски.
Когда использовать: для первого приближения, внутреннего контроля, отчетности по портфелю — я часто применяю его как baseline, а затем сравниваю с более продвинутыми методами.
2. Параметрический VaR
Обычно предполагается, что доходности распределены близко к нормальному закону. Тогда VaR можно оценить через среднюю доходность и волатильность, используя формулу: VaR = -(μ + z * σ), где z — квантиль нормального распределения.
Плюсы:
- быстро — можно пересчитывать каждую минуту;
- удобно для автоматизации, особенно в потоковой обработке данных;
- подходит для регулярного пересчета.
Минусы:
- нормальность часто нарушается — реальные доходности имеют тяжелые хвосты;
- хвостовые риски систематически занижаются;
- плохо отражает асимметрию доходностей: рынки чаще падают быстрее, чем растут.
Когда использовать: если стратегия достаточно стабильна и нужен оперативный расчет — например, для внутридневного контроля лимитов. Но я всегда дополняю его стресс-тестами.
3. Monte Carlo VaR
Генерируются сценарии будущих доходностей на основе модели (например, многомерного нормального распределения или более сложных процессов), после чего считается распределение возможного PnL и берется нужный квантиль.
Плюсы:
- гибкость — можно учесть любые представления о рынке;
- можно учитывать сложные зависимости, включая нелинейность инструментов (опционы, структурные продукты);
- лучше подходит для многокомпонентных портфелей, где важна корреляция.
Минусы:
- сложнее реализовать и отладить;
- результат полностью зависит от качества модели — garbage in, garbage out;
- требует аккуратной валидации: моделирование может создавать иллюзию точности.
Когда использовать: для более серьезных портфелей, особенно если в составе есть нелинейные инструменты или когда важен анализ хвостовых событий.
Почему VaR нельзя использовать в одиночку
VaR удобен и стал отраслевым стандартом, но у него есть фундаментальный недостаток: он не сообщает, насколько плохими будут убытки в худших случаях. Это как знать, что дверной проём высотой 2 метра достаточен для 95% людей, но не знать, что оставшиеся 5% — баскетболисты, которые разобьют голову.
Например, два портфеля могут иметь одинаковый VaR, но:
- у первого потери за пределом VaR редки и умеренны — скажем, 2.5 млн;
- у второго — редки, но катастрофичны — 10 млн и более.
Поэтому VaR всегда стоит дополнять:
- Expected Shortfall — средним убытком в худшем хвосте (например, среднее потерь за пределами 95% VaR);
- просадкой — для контроля реального поведения капитала и триггеров на остановку;
- стресс-тестами — для проверки в кризисных сценариях, которые история может не содержать.
Просадка: главный показатель выживаемости стратегии
Для практики просадка часто важнее VaR. Почему? Потому что именно она определяет, выдержит ли стратегия реальную торговлю, а не только академические тесты. На моей памяти несколько стратегий с прекрасными бэктестами были остановлены инвесторами после 20% падения, хотя VaR на тот момент был в пределах нормы.
Какие бывают просадки
- Текущая просадка — падение от последнего максимума до текущего значения. Я всегда вывожу её на монитор в реальном времени.
- Максимальная просадка — самое большое падение за весь период. Это ключевой параметр для оценки «болевого порога» стратегии.
- Средняя просадка — полезна для оценки типичного риска, но её часто игнорируют, а зря: если средняя просадка составляет 10%, а максимальная 25%, то инвестор должен быть готов к длительным периодам стресса.
- Длительность просадки — сколько времени стратегия восстанавливается. Восстановление в течение года — это серьёзный тест и для модели, и для нервов.
Почему просадка критична
Даже прибыльная стратегия может быть непригодной для реальной торговли, если:
- максимальная просадка слишком большая — например, 50% требует роста на 100% только для возврата к исходному уровню;
- восстановление занимает месяцы — это ставит под вопрос ликвидность и терпение инвестора;
- серия убытков выбивает лимиты риск-менеджера или автоматические стопы;
- размер позиции становится психологически невыносимым — даже если робот торгует без эмоций, человек, следящий за ним, может нажать кнопку «стоп» в самый неподходящий момент.
В квант-трейдинге просадка — это не только математический показатель, но и операционный ограничитель. Если модель уже ушла слишком глубоко вниз, её часто нужно останавливать или снижать риск, не дожидаясь «разворота». Я в своих системах всегда прописываю правило: при достижении просадки 15% стратегия переходит в пониженный режим с уменьшенными позициями, а при 20% — полная остановка до ручного анализа.
Волатильность как инструмент управления позицией
Волатильность полезна не только для оценки риска, но и для динамического сайзинга. В одном из проектов мы строили портфель из фьючерсов на индекс РТС и валютную пару; простая адаптация размера позиции к текущей волатильности позволила снизить максимальную просадку на 30% без потери доходности.
Как ее используют
- уменьшают позицию при росте волатильности — это снижает вероятность получения экстремального убытка;
- увеличивают позицию при спокойном рынке — но осторожно, потому что низкая волатильность часто предшествует всплеску;
- сравнивают активы между собой — например, для risk parity портфелей вес актива обратно пропорционален его волатильности;
- фильтруют периоды, когда стратегия исторически работает хуже — если волатильность выше определенного порога, сигналы игнорируются.
Простое правило риск-сайзинга
Если риск на сделку фиксирован в рублях, а волатильность актива выросла в 2 раза, размер позиции обычно нужно сократить примерно в 2 раза, чтобы сохранить сопоставимый риск. Это базовый принцип, который я часто применяю как первое приближение, а затем уточняю с помощью VaR или стресс-тестов.
Пример: допустим, мы готовы потерять 10 000 руб. на сделку, стоп-лосс в спокойный период составляет 2%. При резком увеличении волатильности стоп-лосс расширяется до 4%, и чтобы сохранить риск, позицию нужно уменьшить вдвое. Это простое правило спасает от неожиданных потерь в «нервном» рынке.
Пошаговый алгоритм риск-менеджмента для торговой стратегии
Ниже — алгоритм, который я использую при разработке любой автоматизированной системы. Он не догма, но проверен на десятках моделей.
Шаг 1. Определите допустимую потерю
Сначала задается не доходность, а лимит риска. Это критически важно: нельзя начинать проектирование стратегии с целевой прибыли, не понимая, сколько вы готовы потерять.
Пример лимитов, которые я обычно закладываю:
- риск на сделку — 0,5% капитала;
- дневной лимит — 2% (чтобы серия убытков за день не превысила разумный порог);
- недельный лимит — 5%;
- критическая просадка — 10–15%, после которой стратегия пересматривается или останавливается.
Шаг 2. Оцените волатильность инструмента
Рассчитайте:
- дневную волатильность доходности (стандартное отклонение);
- rolling volatility за 20/60/120 дней — это даст представление о текущем режиме;
- изменение волатильности во времени — рост волатильности часто сигнализирует о смене рыночного режима.
Это позволит понять, когда актив становится слишком «шумным» для текущего размера позиции, и вовремя сократить риск.
Шаг 3. Посчитайте VaR
Для портфеля или стратегии:
- выберите горизонт: день, неделя, месяц — в зависимости от частоты торговли;
- выберите доверительный уровень: 95% или 99% (для более консервативных систем);
- посчитайте VaR историческим или параметрическим методом, а для сложных портфелей — Monte Carlo.
Шаг 4. Настройте лимиты на просадку
Определите четкие правила:
- когда стратегия снижает риск (например, при просадке 10% — уменьшаем позиции на 50%);
- когда полностью останавливается (просадка 15–20% — полный stop trading);
- кто принимает решение о перезапуске (человек или автоматическое правило после восстановления в течение N дней).
Практика показывает: если не прописать эти правила заранее, стратегия часто «отыгрывается» слишком долго, и убытки растут без контроля.
Шаг 5. Добавьте стресс-сценарии
Проверьте, что будет при:
- резком росте волатильности — например, в 3 раза за день;
- гэпах — открытие с разрывом в 5% против позиции;
- падении ликвидности — когда стоп-лосс исполняется с большим проскальзыванием;
- серии из 5–10 убыточных сделок подряд;
- корреляционном сдвиге между активами — когда все составляющие портфеля начинают двигаться синхронно вниз.
Пример: как риск-модель меняет размер позиции
Допустим, у стратегии есть следующие параметры:
- капитал: 10 млн рублей;
- риск на сделку: 1%;
- допустимый убыток на сделку: 100 тыс. рублей;
- стоп-лосс по инструменту: 2%.
Тогда максимально допустимый объем позиции:
Position size = 100000 / 0.02 = 5 000 000
То есть позиция не может превышать 5 млн рублей, если стоп действительно ограничивает риск в 2%.
Но если волатильность выросла, стоп приходится расширять (или он будет срабатывать слишком часто), например до 3%. Тогда размер позиции должен снизиться:
Position size = 100000 / 0.03 ≈ 3 333 333
Именно так волатильность напрямую превращается в решение о размере позиции. В реальном коде на Python это выглядит как функция, которая на вход получает текущую волатильность и возвращает максимально допустимый объем.
Типовые ошибки в риск-менеджменте
За годы аудита торговых систем я собрал список ошибок, которые повторяются с завидной регулярностью.
1. Считать риск только по стоп-лоссу
Стоп-лосс полезен, но не спасает от:
- гэпов — когда цена уходит далеко за уровень стопа;
- проскальзывания — реальное исполнение может быть хуже на 0.5–1% (на российском рынке в моменты стресса и больше);
- неликвидности — когда ордер просто не может быть исполнен;
- отмены котировок;
- резких новостей — стоп срабатывает, но уже по цене, далекой от плановой.
2. Игнорировать корреляции
Если 10 позиций выглядят разными, но все завязаны на один фактор (например, нефть или курс рубля), реальный риск портфеля может быть в разы выше ожидаемого. Я всегда строю матрицу корреляций и проверяю, что будет, если все активы одновременно пойдут против позиции.
3. Использовать один и тот же риск-сайзинг во всех режимах рынка
В спокойном рынке и в кризисе одинаковый размер позиции дает совершенно разный реальный риск. Это все равно что идти с одинаковым зонтом в моросящий дождь и в ураган.
4. Путать низкую волатильность с низким риском
Иногда рынок кажется спокойным перед резким движением. Низкая волатильность не означает безопасность — часто это «затишье перед бурей». Я видел не одну стратегию, которая наращивала позиции в период низкой волатильности, а потом получала максимальные убытки при пробое.
5. Оценивать стратегию только по доходности
Стратегия с доходностью 30% годовых и максимальной просадкой 40% может быть хуже, чем стратегия с 18% и просадкой 8%. Риск-скорректированные метрики (Шарп, Сортино, Кальмар) должны быть первичными.
Практический чек-лист для квант-трейдера
Перед запуском любой стратегии я проверяю по этому списку:
- Заданы лимиты на сделку, день, неделю и стратегию.
- Посчитан VaR минимум на двух горизонтах (день и неделя).
- Измерена текущая и максимальная просадка.
- Настроен пересчет волатильности по rolling-окну (обычно 20 дней).
- Есть стресс-тесты по кризисным сценариям (включая гэпы и корреляционные сдвиги).
- Учитывается проскальзывание и комиссия (реалистичные, а не «идеальные»).
- Проверены корреляции между инструментами.
- Есть правило снижения риска при ухудшении метрик (например, при росте VaR выше порога).
- Определен критерий остановки стратегии (просадка, VaR, или комбинация).
- Логируется PnL, exposure и риск-параметры — для посмертного анализа ошибок.
Что важно учитывать в российских реалиях
На российском рынке я выделил несколько особенностей, которые часто упускают из виду:
- ликвидность по многим инструментам сильно меняется в течение дня — утром и вечером она может быть достаточной, а днем проваливаться;
- гэпы на открытии из-за ночных событий могут делать стоп-лосс неточным — цена открытия может быть далеко за уровнем стопа;
- корреляции в стресс-периоды часто «схлопываются» и растут одновременно — все падает одинаково, диверсификация перестает работать;
- комиссии, проскальзывание и биржевые ограничения (например, лимиты на количество заявок) заметно влияют на итоговый риск;
- для некоторых инструментов исторические данные хуже отражают будущий режим рынка — периоды низкой волатильности могут сменяться экстремальными без предупреждения.
Поэтому в России особенно ценен не «идеальный» риск-менеджмент на бумаге, а жесткая, простая и проверяемая система ограничений. Я часто рекомендую добавлять дополнительный буфер к лимитам — например, если расчетный VaR составляет 2%, лимит устанавливать на уровне 1.5%, чтобы защититься от модельного риска.
Как встроить риск-менеджмент в Python-контур
Если стратегия автоматизирована, риск-менеджмент должен быть частью пайплайна, а не ручной проверкой в Excel. В моих проектах я всегда выделяю отдельный риск-блок, который вызывается перед каждой отправкой ордера.
Минимальный контур:
- загрузка рыночных данных (цены, объемы, стаканы);
- расчет доходностей;
- оценка волатильности (rolling std);
- расчет VaR (исторический или параметрический);
- контроль просадки (сравнение текущего капитала с историческим максимумом);
- ограничение размера позиции (на основе волатильности и лимитов);
- журналирование всех решений и текущих метрик.
В рабочем процессе это выглядит так:
- стратегия генерирует сигнал — например, от ML-модели, предсказывающей направление движения;
- блок риска проверяет лимиты: не превышен ли дневной убыток, не достигнута ли критическая просадка, не превысит ли новая позиция допустимый VaR;
- если риск превышен, сигнал режется или отменяется — автоматически, без участия человека;
- если условия нормальные, система выставляет ордер с учетом рассчитанного размера позиции;
- после сделки обновляются метрики риска — это позволяет в реальном времени отслеживать состояние.
Когда останавливать стратегию
Стратегию стоит остановить или резко урезать, если срабатывает хотя бы один из триггеров:
- просадка вышла за заранее определенный предел (например, 15%);
- VaR заметно вырос без роста ожидаемой доходности — это говорит о том, что модель входит в более рискованную фазу, но не компенсирует это прибылью;
- волатильность перешла в новый режим — например, rolling 20-дневная волатильность превысила исторический 95-й процентиль;
- поведение стратегии перестало соответствовать тестам — серия убыточных сделок статистически невозможна при исходных предположениях;
- ухудшилась ликвидность или выросло проскальзывание — издержки начинают съедать потенциальную прибыль;
- сломалась статистическая структура сигнала — например, автокорреляция доходностей изменилась, что указывает на смену рыночного режима.
Хорошее правило, которое я вывел из практики: если риск начал расти быстрее, чем прибыльность, стратегия уже требует пересмотра. Не ждите, пока убытки станут необратимыми.
Вывод
В количественном трейдинге прибыльность без контроля риска — это не преимущество, а временная иллюзия. VaR помогает оценить вероятный убыток, просадка показывает, насколько стратегия способна пережить плохой период, а волатильность дает основу для динамического управления размером позиции.
Сильная система риск-менеджмента не пытается угадать рынок. Она делает более важную вещь: не дает одной неудачной серии уничтожить результат всей модели. Именно поэтому в практическом алготрейдинге риск-метрики должны быть встроены в архитектуру стратегии с самого начала, а не добавляться «потом». На наших курсах по алготрейдингу мы разбираем построение таких систем на Python шаг за шагом, чтобы каждый выпускник мог создать робота, который выживет в реальном рынке, а не только на исторических данных.
FAQ
Что важнее: VaR или просадка?
Для реальной торговли чаще важнее просадка, потому что она показывает уже накопленный ущерб и помогает управлять выживаемостью стратегии. VaR полезен как прогнозный ориентир и для установки лимитов до того, как убытки случились.
Можно ли использовать только волатильность для риск-менеджмента?
Нет. Волатильность нужна для сайзинга и адаптации к режиму рынка, но она не заменяет VaR, просадку и стресс-тесты. Волатильность ничего не говорит о том, насколько велики могут быть потери в хвосте, и не учитывает корреляции.
Какой уровень VaR обычно используют?
Часто применяют 95% и 99%. Первый удобен для оперативного контроля, второй — для более жесткой оценки хвостового риска. Я обычно считаю оба и сравниваю: если разница между ними велика, это признак тяжелых хвостов, и следует усилить контроль.
Почему стратегия может быть прибыльной и при этом опасной?
Потому что высокая средняя доходность не компенсирует слишком большую просадку, хвостовые потери и нестабильность результата. Например, стратегия может зарабатывать 50% годовых, но при этом иметь максимальную просадку 60% — такой профиль неприемлем для большинства инвесторов.
Какой показатель лучше всего подходит для остановки стратегии?
На практике обычно используют комбинацию: максимальная просадка, рост VaR, ухудшение волатильности и проскальзывания. Один показатель редко дает полную картину. Я рекомендую настроить триггеры по нескольким метрикам одновременно, чтобы избежать ложных остановок.
