Блог им. AYarmots

Momentum на MOEX: как PF 1,66 превращается в 0,67

Серия «Кладбище стратегий MOEX», пост #3 из 9.

«Покупай силу. Тренд — твой друг. Не иди против рынка». Это звучит разумно. Momentum — одна из самых популярных стратегий в американской академической литературе, за неё дают нобелевские премии. Мы её проверили. Вот что получилось.

Что тестировали

Логика простая: акция в восходящем тренде продолжит расти. Сигнал на покупку — RSI выше 60 и цена выше 50-дневной скользящей средней. Выход — по ATR-стопу или тейку, удержание около 30 дней.

Ничего экзотического. Классический трендследящий вход с технической фильтрацией.

Тестировали на пятилетней истории дневных свечей, около 70 тикеров Мосбиржи, комиссия round-trip 0,10% (тариф «Трейдер» Т-Инвестиций).

Напоминание о методологии

Каждая стратегия в серии проходит две ключевые проверки:

In-Sample (IS) — результаты на той части истории, которую модель «видела». Здесь параметры подбираются, тикеры отбираются, конфигурация настраивается. Выглядит хорошо почти всегда — это не достижение, это условие задачи.

Out-of-Sample (OOS) — примерно 30% истории, которую стратегия не видела при настройке. Это единственная объективная оценка. Если на OOS edge сохраняется — что-то есть. Если нет — это переобучение.

Результаты

На всём наборе тикеров momentum показал 329 сделок, доля прибыльных — 40,4%, среднее ожидание +0,43%, Profit Factor 1,16.

Пограничный результат. Не провал, но и не уверенный edge.

Тут начинается интересное. Мы посмотрели на отдельные тикеры и нашли четыре, где стратегия смотрелась сильно лучше: TATN, MTSS, LKOH, SBER. На них In-Sample:

  • PF = 1,66
  • среднее ожидание = +1,36% на сделку

Красиво. Стабильно. Есть ощущение, что нашли что-то настоящее.

Теперь OOS на тех же четырёх тикерах:

  • PF = 0,67
  • среднее ожидание = −0,83% на сделку

Edge не просто исчез — он сменил знак. Стратегия на OOS убыточна.

Momentum на MOEX: как PF 1,66 превращается в 0,67

Два бара — два периода, одни и те же четыре тикера. На обучении стратегия выглядела убедительно. На проверочных данных ушла ниже безубытка.

Почему это переобучение

Вот механизм того, что произошло.

Мы взяли 70 тикеров и запустили стратегию. Большинство показали посредственные или отрицательные результаты. Четыре — хорошие. Мы их выделили и сфокусировались на них.

Проблема в том, что эти четыре тикера могли показать хорошие IS-результаты по двум разным причинам:

  1. В них действительно есть momentum-эффект.
  2. Случайно так вышло на этом конкретном отрезке истории.

На In-Sample мы не можем отличить одно от другого. Единственная проверка — OOS. И OOS говорит: это был шум.

Отбор «лучших тикеров» по историческим данным — это и есть подгонка. Каждый раз, когда мы смотрим на прошлое и говорим «вот на этих инструментах работало», мы завышаем ожидания. Мы уже знаем, что именно на этих тикерах паттерн проявился. Но будущее этого не знает.

Математически это называется data snooping bias или overfitting. По-русски — переобучение. Модель (или стратегия) «запомнила» особенности конкретного исторического отрезка вместо того чтобы выучить устойчивую закономерность.

Хороший способ почувствовать проблему интуитивно: если бросать кубик достаточно раз, найдётся серия бросков, где выпадает много шестёрок. Это не значит, что кубик «показывает edge на шестёрках».

Почему Momentum вообще плохо подходит для MOEX

Есть структурные причины, почему трендследование работает хуже на российском рынке, чем на американском.

Первая — ликвидность. MOEX — концентрированный рынок. Топ-5 тикеров по обороту занимают значительную долю всего объёма. Тренды формируются и ломаются быстрее, отчасти потому что участников меньше.

Вторая — режимы. MOEX 2020–2024 — это санкционные шоки, геополитические события, переоценка ставки. В таких условиях технический импульс менее предсказуем: цена тянется фундаментальными переоценками, а не поведением толпы.

Третья — комиссия. 0,10% round-trip на 30-дневном удержании — это примерно 0,04% в пересчёте на день. Маленькое число, которое съедает пограничный edge.

Вывод

Momentum на MOEX — FAIL. PF 0,67 на OOS, среднее ожидание −0,83%.

Важнее цифр — иллюстрация механики переобучения. Получить PF 1,66 на IS, отобрав лучшие тикеры, — легко. Это ни о чём не говорит. Только OOS на данных, которые модель не видела, даёт ответ.

Следующий пост — календарные аномалии. Покупка в конце месяца, эффект января, лучшие и худшие дни недели. Там тоже красивые IS-графики и похожий финал.


Momentum переобучился, потому что отобранные «лучшие тикеры» — это форма без причины. Устойчивый edge даёт не паттерн, а понимание, почему конкретная компания стоит дешевле, чем должна, и что это исправит. Пример такого разбора — Сбербанк: разбор Сбера.

Данная публикация является личным мнением автора. Мнение владельца сайта может не совпадать с мнением автора.
3.9К | ★2
16 комментариев
Very nice, very good.

Ранее так же приходил к выводу, что на moex нет места для самых робастых алгоритмов, применяемых на остальных рынках.
avatar
Добрый день. Не совсем понятна стратегия. Вход примерно ясен. А вот выход… ATR-стоп — он на месте стоит все 30 дней, внизу? Далее. Где стоит тейк? Что за 30 дней: выход таки по тейку, или через 30 дней закрывается по-любому? Ну впрочем в любом случае я не удивлён, по описанию, что результат так себе.
avatar
Out-of-Sample (OOS) — примерно 30% истории, которую стратегия не видела при настройке. Это единственная объективная оценка. Если на OOS edge сохраняется — что-то есть. Если нет — это переобучение.
Кто вам это сказал про 30%? Out-of-Sample (OOS) должен быть не менее 100% длины In-Sample (IS), иначе его результаты при 30% массива  IS в три раза ещё более случайны чем на IS.И по IS должно быть не меньше 1000 сделок чтоб о верифицированной статистике говорить.

Про «должен быть 100% IS» — это не правило, а выбор протокола. У меня на OOS не «слегка хуже», а смена знака: по 4 отобранным тикерам PF с 1,66 на IS упал до 0,67 на OOS, ожидание с +1,36% до -0,83% на сделку — для вывода о переобучении этого достаточно.

avatar
Алексей Я., про выбор 4 тикеров вообще не понял. Вы на 4 тикерах моментум проверяли? 
avatar

Нет, на четырёх не проверяли — полный прогон был на всех ~70 ликвидных бумагах, это 329 сделок. И там PF вышел 1.16: пограничный, торговать нельзя.

А четыре тикера — TATN, MTSS, LKOH, SBER — это иллюстрация ошибки, а не отдельный тест. Я специально взял те, где на In-Sample стратегия смотрелась лучше всего (PF 1.66), чтобы показать, что бывает дальше. На Out-of-Sample на этих же четырёх PF упал до 0.67 — edge не просто исчез, а сменил знак.

Смысл в том, что сам отбор «вот на этих бумагах работало» по прошлым данным — это и есть подгонка. Всегда найдётся горстка тикеров, где паттерн случайно сложился на конкретном отрезке. Отличить случайность от реального эффекта можно только на OOS — и он показал, что это был шум.

avatar
Алексей Я., 
1. У меня не получилось ни одной путной системы на RSI. Дурной индикатор, причем это как то сразу видно, не надо долго упражняться с бэктестами.
2. 5 лет — мало. Я для моментума беру инфу с 2007 года.
3. Смысл моментума не в том, чтобы всегда иметь плюс, а в том, чтобы быть в среднем лучше рынка. 


avatar
Странно, алгоритм не слишком похож на обычный моментум. Я бы сказал так. 
1. Вы протестировали стратегию на RSI. 
2. Результат говорит только о том, что такая стратегия на RSI с таким временным окном работает плохо. 
Глобальный вывод в статье не релевантен. 
avatar

Замечание по определению справедливо — RSI>60+SMA50 это технический фильтр-подтверждение импульса, не академический моментум Кархарта (топ-квинтиль по 12-1m доходности). В статье это стоило обозначить точнее. Кросс-секциональный вариант на тех же данных (ранжирование по 12m возврату) тестировали отдельно — результат аналогичный: survivorship artifact на фиксированной корзине тикеров MOEX даёт отрицательный CAGR. Поэтому вывод о трендовых системах на MOEX, на мой взгляд, остаётся.

avatar
Алексей Я., стандартная формула для учебника всегда повод подумать, но никогда  не готовая торговая система. У меня свой вариант моментума дает почти 10% среднегодовой плюс к индексу полной доходности московской биржи, причем с учетом издержек. А в индексе издержки не учтены. 
Поэтому корректно написать, что такой-такой вариант не дает устойчивого преимущества. А гробить сразу чуть ли не единственную рабочую систему на роллировании акций, имхо, неправильно.   
avatar
Почему Momentum вообще плохо подходит для MOEX
вашенские выводы хорошо коррелируются с «бедолагой» в нонешном положении AlexChi…
avatar
wistopus, не знаю, какие у него результаты, но оборот у него, на мой взгляд, чрезмерный. Скорее всего он не проверял свою систему на данных 2012-2013 годов. 
Моментум вообще не должен давать плюс на сильных провалах рынка, он дает статистическое преимущество в масштабах цикла рост рынка — падение рынка, а лучше — нескольких циклов. Если средний плюс к рынку 10% годовых, это не значит, что на провале в -25% будет непременно -15%. Может быть и хуже. 
Некоторые торгуют моментум с разными предохранителями. У АлексЧи, насколько я помню, стоит глубокий стоплосс. Можно какой-то другой фильтр вкрутить.
avatar
Я конечно далеко не эксперт, но покупать выше RSI 60 и выше 50 дневной средней изначально выглядит как не самая хорошая идея.
Поясните в чем смысл покупать в шаге от перекупленности?
avatar

Вход RSI>60 — осознанный выбор логики моментума: покупать уже подтверждённое движение, а не откат. На американском рынке такой моментум исторически даёт премию (Jegadeesh-Titman). На MOEX вышло любопытно: мы гоняли обе логики — RSI(2) Коннорса (перепроданность, покупка слабости) дал PF 0,70, а моментум RSI>60 (покупка силы) — 0,67 на out-of-sample. Ни одна не прошла. MOEX отказывает и тем, и другим без дополнительного контекста.

avatar
Алексей Я., вообще американский рынок акций сильно отличается от российского. И даже самый трендовый Насдак 100 не похож на MCFTR. Поэтому прямой перенос их систем к нам и наших систем к ним обычно не работает. 
avatar

Читайте на SMART-LAB:
Фото
USD/CAD: передышка перед продолжением роста?
Валютная пара USD/CAD протестировала в пятницу пробитый ранее горизонтальный уровень 1.4140, одновременно завершив торговый день свечной формацией...
Фото
Мировой страховой рынок покажет рост в 2,3% в 2027 году – Swiss Re Institute
Swiss Re, одна из крупнейших и старейших в мире перестраховочных компаний, поделилась своим прогнозов в отношении мирового страхового рынка....
Фото
Эпоха дивидендов под вопросом. Что теперь делать инвесторам?
Привычный мир российского инвестора, похоже, уходит в прошлое. Если до сих пор для него главным аргументом в пользу покупки бумаг...

теги блога Алексей Я.

....все тэги



UPDONW
Новый дизайн