Mean Reversion: как зарабатывать на просадках рынка
Большинство трейдеров смотрят на красные свечи и чувствуют тревогу. Я разобрал подход, где красные свечи - это и есть список покупок. 25 лет бэктеста, 14.47% годовых, просадка 24%. Разбираю что внутри и что из этого применимо не только к акциям.
Содержание
- Что такое mean reversion и почему это работает
- Математика под капотом: Z-Score и почему полосы Боллинджера это работает
- Half-life: сколько времени цена возвращается
- Три индикатора: точные настройки
- 200-дневная простая скользящая (SMA 200)
- Полосы Боллинджера: период 20, множитель 2.5
- RSI с периодом 2
- Алгоритм решения: схема входа и выхода
- Правила входа и выхода
- Управление капиталом
- Результаты: что говорит бэктест на 25 лет
- Что из этого применимо если вы торгуете не акции
- Пример реальной сделки: как это выглядит пошагово
- Как настроить и проверить за один вечер
- Когда mean reversion не работает
- Три ошибки, которые ломают стратегию
Наткнулся на видео Rayner Teo о стратегии mean reversion. Rayner - сингапурский трейдер и исследователь, у него привычка давать конкретные параметры и проверять их на данных, а не просто рассуждать. Это я ценю. Посмотрел, разобрал по частям.
Стратегия работает на акциях. Я торгую золото. Но идея под ней - универсальная, и об этом в конце.
Что такое mean reversion и почему это работает
Mean reversion - возврат к среднему. Идея в том, что цена не уходит далеко от своего среднего значения надолго. Если акция временно перепродана - она, скорее всего, вернётся. Задача: поймать этот откат и выйти при возврате.
Звучит просто. Проблема в слове «временно». Иногда акция падает потому что перепродана, а иногда - потому что у компании реальные проблемы. Стратегия Rayner Teo решает это одним фильтром: торговать только то, что в долгосрочном восходящем тренде. Если цена выше 200-дневной скользящей - это скорее откат. Если ниже - не трогать.
Простой принцип. Я сам люблю такие - их легко сломать в тестере и сразу видно где граница.
Математика под капотом: Z-Score и почему полосы Боллинджера это работает
Большинство трейдеров настраивают Боллинджера и не думают о том, что именно они измеряют. А измеряют они Z-Score - количество стандартных отклонений цены от среднего:
Z = (Цена - Среднее) / Стандартное отклонение
Нижняя полоса Боллинджера при множителе 2.5 - это Z = -2.5. Статистически: такое случается примерно в 1.2% торговых дней. Не «цена немного упала», а «цена оказалась там, где бывает один раз из восьмидесяти».
Именно это объясняет разницу между множителями 2.0 и 2.5. При 2.0 срабатывает примерно 4.5% дней. При 2.5 - 1.2%. Разница в частоте в три с половиной раза - и соответствующая разница в качестве сигнала.
Для тех, кто хочет глубже: статистики проверяют пригодность инструмента для mean reversion через тест Дики-Фуллера (ADF). Он проверяет, является ли ценовой ряд стационарным - то есть возвращается ли цена к среднему или уходит всё дальше. Для S&P 500 на дневных данных этот тест исторически проходит. Для биткоина в периоды бычьего рынка - нет. Это не мнение, это математика.
Half-life: сколько времени цена возвращается
Есть концепция, которую редко упоминают в простых разборах mean reversion - период полувозврата (half-life). Это среднее время, за которое цена проходит половину пути обратно к среднему после отклонения.
Rayner Teo ставит временной стоп в 10 дней. Это не случайное число - оно примерно соответствует half-life для большинства ликвидных американских акций. Если цена не вернулась за это время, значит отклонение, скорее всего, не временное. Это структурный сдвиг, а не перепроданность.
На практике: если у вас другой инструмент и другой таймфрейм - 10 дней может не подходить. Для ETF на индексы half-life обычно короче. Для акций малой капитализации - длиннее. Подбирать под конкретный инструмент.
Три индикатора: точные настройки
Вся механика строится на трёх инструментах.
200-дневная простая скользящая (SMA 200)
Фильтр тренда. Правило одно: цена закрытия выше SMA 200 - можно рассматривать вход. Ниже - пропускаем. Никаких исключений, никаких «ну тут почти вышла».
Полосы Боллинджера: период 20, множитель 2.5
Здесь важна деталь. Стандартный множитель - 2.0. Rayner использует 2.5. Разница принципиальная: при 2.5 акция должна упасть дальше от среднего, чтобы сработал сигнал. Меньше сигналов, но каждый - более экстремальная перепроданность. Я проверил на графике: при 2.0 сигналы сыпятся чуть ли не каждую неделю, при 2.5 - раз в месяц-полтора. Разрыв в качестве заметен.
Сигнал входа: закрытие дня ниже нижней полосы Боллинджера.
RSI с периодом 2
Не стандартный RSI(14) - двухпериодный. Быстрый осциллятор, реагирует за 1-2 свечи. Используется только для выхода: когда RSI(2) пересекает 50 снизу вверх - цена восстановилась, сделка закрывается.
RSI(2) как инструмент входа - мусор, слишком шумит. Но как сигнал «восстановление состоялось» - работает именно потому что быстрый.
Алгоритм решения: схема входа и выхода
Вся логика стратегии укладывается в два вопроса на входе и два условия выхода. Удобно смотреть на схеме - проверяешь сверху вниз, без лишних интерпретаций:
Правила входа и выхода
Вход: цена выше SMA 200 И закрытие дня ниже нижней полосы Боллинджера (период 20, множитель 2.5). На следующий день - покупка по рыночной цене на открытии.
Выход 1 (основной): RSI(2) пересёк 50 вверх. Цена вернулась к среднему, фиксируем.
Выход 2 (временной стоп): если через 10 торговых дней RSI так и не дал сигнал - выходим по рыночной цене. Это защита от заморозки капитала в сделках, которые «застряли».
Стоп-лосса по цене нет. Это необычно. Я бы не стал копировать этот момент напрямую - на акциях без плеча поглотить 15-20% просадку по позиции реально, на деривативах или с плечом это другой разговор.
Управление капиталом
Три правила:
- Не более 20% капитала на одну позицию - максимум 5 позиций одновременно
- Без плеча - только собственные средства
- Только длинные позиции - стратегия не шортит
При 5 позициях по 20% капитал полностью загружен, но диверсифицирован. Логика понятна: если все 5 акций дадут просадку одновременно - это кризис, и mean reversion тут не поможет. Но такие периоды в бэктесте тоже есть - максимальная просадка 24% это как раз они.
Результаты: что говорит бэктест на 25 лет
Тест на американских акциях, 1998-2023 год:
| Метрика | Результат |
|---|---|
| Общая доходность | 2834% |
| Среднегодовая | 14.47% |
| Максимальная просадка | 24% |
| Период теста | 25 лет (1998-2023) |
S&P 500 за тот же период - около 7-8% годовых при просадках до 50%+. По соотношению доходность/просадка mean reversion смотрится лучше.
Важная оговорка, которую Rayner в видео проговаривает честно: это американские акции, индексный период роста. На других рынках, в другие эпохи - нужен отдельный тест. Я бы не переносил эти цифры на ФОРТС или золото напрямую.
Что из этого применимо если вы торгуете не акции
Я скальпирую золото на M5. Mean reversion в том виде, как описано выше, мне не подходит - горизонт не тот, инструмент другой. Но идея под стратегией работает на любом таймфрейме.
В моём подходе тот же принцип: вход только по тренду старшего таймфрейма (GOLD MTF-консенсус), точка входа - откат к зоне ценности. Это и есть mean reversion, только внутри дня. Нижняя полоса Боллинджера на D1 заменяется на Pulse и зону VWAP на M5.
Принцип «покупать временную перепроданность в рамках восходящего тренда» - одна из немногих идей, которые реально работают на разных инструментах. Детали меняются, логика нет.
Пример реальной сделки: как это выглядит пошагово
Возьму модельный пример, чтобы показать механику без абстракций. Допустим, акция Apple (AAPL) в октябре 2023 года.
Шаг 1 - проверка тренда. Цена AAPL около $170, SMA 200 в районе $155. Акция выше скользящей - фильтр пройден, смотрим дальше.
Шаг 2 - сигнал входа. После серии коррекционных дней цена закрылась ниже нижней полосы Боллинджера (период 20, множитель 2.5). Это экстремальная перепроданность - именно то, что ищем. Не каждое красное закрытие даёт такой сигнал, множитель 2.5 делает его редким и точным.
Шаг 3 - вход. На следующее утро покупаем по цене открытия. Без попыток поймать идеальный тик - просто рыночная заявка. Размер позиции: 20% капитала.
Шаг 4 - управление. Каждый вечер после закрытия проверяем RSI(2). Пока он ниже 50 - держим. На третий день RSI пересекает 50 снизу вверх - цена восстановилась до среднего. Закрываем позицию по открытию следующего дня.
Три дня, цена вернулась с перепроданности к среднему. Никакой аналитики, никаких новостей, никаких «мне кажется». Два условия на входе, одно на выходе.
Если за 10 дней RSI так и не дал сигнал - выходим принудительно. За 10 лет торговли я убедился: позиция, которая не отрабатывает за разумное время, редко отрабатывает вообще. Это правило защищает не от убытка, а от кое-чего хуже - от иллюзии «скоро развернётся».
Как настроить и проверить за один вечер
Практический маршрут для тех, кто хочет не просто прочитать, а попробовать:
TradingView (бесплатно):
- Открыть любую акцию на дневном таймфрейме
- Добавить индикатор «Moving Average» - тип Simple, период 200
- Добавить «Bollinger Bands» - период 20, множитель 2.5 (по умолчанию стоит 2.0 - изменить обязательно)
- Добавить «RSI» - период 2 (по умолчанию 14 - изменить)
- Добавить горизонтальную линию на RSI на уровне 50
Теперь листаем историю назад и ищем моменты, когда цена закрылась ниже нижней полосы при выполнении фильтра по SMA 200. Смотрим что произошло дальше. Это займёт 30-40 минут и даст гораздо лучшее понимание, чем любое описание.
Что проверить в первую очередь:
- Сравнить количество сигналов при множителе 2.0 и 2.5 - разница очевидна
- Посмотреть как стратегия вела себя в марте 2020 (ковидный обвал) - это стресс-тест любой mean reversion системы
- Проверить несколько акций из разных секторов - технологии ведут себя иначе чем защитные активы
Для систематического тестирования на российском рынке инструмент другой - QUIK или собственный скрипт через MOEX API. Данные по акциям Мосбиржи есть, но историческая глубина меньше, а поведение рынка в кризисы существенно отличается от американского. Это отдельная работа, не перенос параметров.
Когда mean reversion не работает
Честный разбор невозможен без этого раздела. Mean reversion ломается в нескольких сценариях - и важно знать их заранее, а не обнаруживать на живом счёте.
Сильный тренд. В период направленного импульса (earnings surprise, ставки ФРС, геополитика) цена может уходить от среднего и продолжать движение неделями. Фильтр SMA 200 частично защищает, но не полностью: акция может быть выше 200-дневной и при этом падать 30% от локального максимума.
Крипта в бычьем рынке. Биткоин и альткоины в периоды ажиотажа не ведут себя как стационарный ряд - тест Дики-Фуллера это покажет. Цена уходит на несколько стандартных отклонений и остаётся там месяцами. Mean reversion там работает только на боковике.
Соотношение риска к прибыли ниже, чем у трендовых стратегий. Это важный факт, который редко упоминают. Типичный R:R для mean reversion - 1:1 до 2:1. Трендовые стратегии дают 3:1 и выше, но за счёт меньшего процента прибыльных сделок. Mean reversion берёт частотой: много небольших плюсов и редкие, но болезненные промахи когда тренд не разворачивается.
Высокие транзакционные издержки. Стратегия предполагает частые входы. При высоком спреде или комиссиях значительная часть преимущества съедается. На акциях через брокера с фиксированной комиссией это не критично, на CFD с широким спредом - уже серьёзный вопрос.
Три ошибки, которые ломают стратегию
Входить без фильтра тренда. Акция ниже SMA 200 - это не откат, это продолжение падения. Фильтр по 200-дневной убирает большинство катастрофических сделок.
Стандартные настройки Боллинджера (множитель 2.0). При 2.0 сигналов много, часть из них - просто нормальная волатильность, не экстремальная перепроданность. Множитель 2.5 - это осознанное решение взять меньше сделок, но лучших.
Не ограничивать сделку по времени. Без временного стопа (10 дней) можно годами ждать восстановления акции, которая просто перестала расти. Капитал заморожен, возможности упущены.
Подходит ли стратегия для российского рынка и ФОРТС?
Напрямую - нет. Бэктест на US market с его ликвидностью и историей роста. Для ФОРТС нужен отдельный тест на локальных данных. Логика принципа переносима, конкретные параметры - под вопросом.
Почему RSI с периодом 2, а не стандартный 14?
RSI(14) слишком медленный для краткосрочного сигнала выхода. RSI(2) реагирует за 1-2 дня и показывает именно краткосрочное восстановление. Для входа RSI(2) не используется - там слишком много шума.
Почему нет стоп-лосса по цене?
Стратегия рассчитана на акции без плеча. При 20% на позицию и диверсификации на 5 бумаг максимальный урон от одной сделки - управляемый. На инструментах с плечом этот подход надо пересматривать - без стопа по цене риск становится неограниченным.
Можно ли добавить стоп-лосс по цене?
Можно, Rayner в видео говорит что тестировал этот вариант. Результаты ухудшаются - стоп срабатывает в момент максимальной перепроданности, после чего цена разворачивается. Mean reversion стратегии в целом плохо сочетаются с жёсткими стопами по цене.
Сколько сигналов даёт стратегия в месяц?
При настройках 2.5 стандартных отклонения - редко. На диверсифицированном списке из 50-100 акций можно ожидать несколько сигналов в месяц. Это не высокочастотная стратегия.
Что такое Z-Score и зачем он нужен в mean reversion?
Z-Score = (Цена - Среднее) / Стандартное отклонение. Показывает насколько далеко цена ушла от среднего в единицах стандартного отклонения. Нижняя полоса Боллинджера при множителе 2.5 - это Z = -2.5, статистически редкое событие (~1.2% дней). Чем выше множитель, тем реже сигнал и тем экстремальнее отклонение.
Работает ли mean reversion на криптовалютах?
На боковике - да. В периоды бычьего рынка - плохо. Крипта в ажиотаже ведёт себя как моментум-инструмент, а не как стационарный ряд: цена уходит на несколько стандартных отклонений и остаётся там неделями. Фильтр по тренду (SMA 200) частично защищает, но полностью проблему не решает.
Что такое pairs trading и как он связан с mean reversion?
Продвинутая версия принципа: торговать не одну акцию, а спред между двумя коинтегрированными инструментами (например, EUR/USD и USD/CHF с корреляцией -0.83). Когда спред отклоняется от исторического среднего на ±2 стандартных отклонения - открываем позицию на возврат. Именно на этом принципе строится статистический арбитраж в хедж-фондах.
Материал носит образовательный характер и не является инвестиционной рекомендацией. Все цифры бэктеста взяты из видео Rayner Teo, проверены на американских акциях 1998-2023. Для других рынков и инструментов результаты могут отличаться. Торговля сопряжена с риском потери капитала.
Тем же и торгую
AlgoSynergy COCKPIT - торговая система для золота на MetaTrader 5: четыре индикатора и правило входа из четырёх проверок. На странице есть и обратная сторона - список того, что я проверил и выбросил, с числами.