Блог им. IvanNedomolkov_3ea
В прошлый раз я рассказывал, как прогнал 231 факторную стратегию через злой бэктест и ни одна не прошла проверку. Пост зашёл, но в комментах закономерно спросили: «ну и что, всё выкинул? совсем ничего не работает?».
Не совсем. Из всей этой мясорубки выжила одна конструкция. Не потому что я её полюбил, а потому что она единственная прошла то же испытание, на котором легли остальные 230. Рассказываю, как она устроена, и сразу честно — почему это не машинка для печати денег.
Идея: не угадывать, а реагироватьБольшинство стратегий отвечают на три вопроса одинаково в любой ситуации: сколько денег держать в рынке, какие акции брать, когда выходить. «Всегда покупаем топ-10% по моментуму, держим месяц, повторяем». Красиво в статье, грустно на счёте.
HMR (я назвал её Hybrid Momentum-Reversion) исходит из другого: правильный ответ зависит от того, что сейчас творится на рынке в целом. В тихий растущий рынок — одни правила, в кризисную панику — совсем другие. Она ничего не предсказывает. Она каждый день смотрит на барометр и подстраивает поведение под то, что уже видно.
Барометр простой, без магии: положение S&P 500 относительно своих скользящих средних плюс VIX (индекс страха). По их сочетанию рынок каждый день получает один из пяти ярлыков.
Пять режимов рынка| Режим | Когда | Что делает |
|---|---|---|
| BULL | растём уверенно, VIX < 25 | 80% в лонг, 20% в шорт для страховки |
| BULL, но осторожно | растём, но недельный импульс сдулся | 60% лонг |
| Боковик | болтаемся между средними | 50% лонг, 30% шорт |
| BEAR | падаем, VIX ≥ 25 | переворот: 50% шорт, лонга всего 20% |
| Паника | VIX ≥ 40 | всё в кэш и не отсвечиваем |
Чтобы стратегию не колбасило (сегодня BULL, завтра боковик, послезавтра опять BULL), режим меняется только когда новое состояние держится три дня подряд. Мелочь, а спасает от кучи ложных переключений.
Дальше внутри выбранного режима работает обычная кухня: берём 2 сильнейших сектора по относительной силе, внутри них 3-5 акций с лучшим годовым моментумом, фильтруем (выше EMA50, RSI не перекуплен, объём выше среднего), стоп на 1.5 ATR, частичная фиксация на росте. Ничего экзотического. Вся соль — в переключении режимов, а не в индикаторах.
Что показал бэктестГонял на четырёх разных эпохах, с учётом комиссий и проскальзывания. Вот честные цифры (Sharpe / среднегодовая / максимальная просадка):
| Период | Sharpe | Годовых | Просадка |
|---|---|---|---|
| 2007-2010, кризис и восстановление | 1.21 | +16,1% | -14% |
| 2020-2026, ковид-инфляция-AI | 1.03 | +16,4% | -18% |
| 2015-2024, длинный спокойный бычий | 0.76 | +9,7% | -18% |
| 1996-2024, вся история 28 лет | 0.38 | +2,9% | -20% |
Смотрите на 2008 год отдельно. Пока S&P 500 складывался на -57%, стратегия сделала +16% годовых на всём кризисном окне при просадке 14%. Вот ради этого она и строилась.
Почему это не грааль (честно)А теперь то, о чём в промо-постах молчат. Посмотрите на две нижние строки таблицы.
На длинном спокойном бычьем рынке 2015-2024 стратегия дала 9,7% годовых, а тупой buy-and-hold индекса — около 13%. То есть она проиграла простой покупке SPX. И это не баг. Её защитные конструкции (шорты, выходы в кэш, стопы) стоят денег, а когда кризисов нет, ты просто оплачиваешь страховку, которая не пригодилась.
А на всей 28-летней истории среднегодовая вообще +2,9%. Смешная цифра, если смотреть только на неё. Но рядом стоит просадка -20% против -57% у индекса в 2008. Вот и весь размен: ты жертвуешь доходностью в спокойные годы ради того, чтобы не потерять половину капитала в катастрофу.
Поэтому я не называю HMR победителем рынка. Честная формулировка другая: она редко выигрывает много, но почти никогда не проигрывает катастрофически. Это стратегия для тех, кому важнее не обнулиться в кризис, чем выжать максимум на бычьем забеге. Кому-то это вообще не надо — тогда buy-and-hold и спокойный сон.
Что дальшеПока это бэктест, не боевой счёт. Дальше — гонять её вперёд по времени на бумаге и смотреть, ведёт ли она себя так же на данных, которых не видела при разработке. Половина красивых бэктестов умирает именно на этом шаге, так что радоваться рано.
Дисклеймер, без него нельзя: всё выше — результаты на исторических данных и paper-trading, не индивидуальная инвестиционная рекомендация. Торговля на бирже — это риск потерять деньги.
Вопрос к залу. У кого режимные стратегии — те, что сами переключают лонг, шорт и кэш по состоянию рынка — реально пережили боевой прод лучше простого buy-and-hold? Или это всё живёт только на истории и красивых графиках, а на реальном счёте разваливается? Интересен именно опыт, а не теория.
А как я это всё считаю — на чём гоняю данные и как устроено само испытание стратегий — могу расписать отдельным постом, если наберётся интерес.
chizhan, легко. Самое обидное было так:
1. value по P/E — на истории Sharpe 1.49, а строгий гейт не прошла ни одного фолда. Чтобы пройти Deflated Sharpe на моём числе наблюдений, нужен честный 1.7+, всё что ниже неотличимо от везения.
2. равновзвешенные факторные портфели — обгоняют индекс, но доказать что это не случайность не выходит, около 60% отказов там именно по статистике.
3. взвешенные по капе — со статистикой чисто, зато обгонять нечем: взвесил по капе и получил тот же индекс.
4. вся ветка «возьму равновзвешенный бенчмарк RSP и всё сойдётся» — против RSP стало ещё хуже, чем против обычного S&P. Гипотеза прожила один вечер.
5. и общий счёт: по простому walk-forward у меня прошло 25 кандидатов, я уже яхту выбирал. По строгому гейту из этих же 25 прошло ноль.
Так что поржать есть над чем, я сам полгода на это потратил )
Дмитрий-Димас Ермаков, цель была не обогнать индекс на бычьем забеге, а не сложиться пополам в кризис. В 2008 S&P сделал -57%, у этой конструкции просадка 14% и +16% годовых на том окне. Вот за это и платишь 3-4 процентными пунктами доходности в спокойные годы.
Если впереди 20 лет без катастроф, то да, buy-and-hold проще, дешевле и я первый скажу что он лучше. Только я такого прогноза дать не могу, поэтому и городил огород.
smart-lab.ru/blog/773457.php
Сбербанк ЕМА13 месяцы… было бы мне сейчас лет 25...
wistopus, а месячная EMA13 по сути тем же и занимается: режет участие, когда рынок ушёл под неё. У меня барометр поболтливее (средние + VIX + подтверждение три дня подряд), но идея одна. И честно — на всём окне 1996-2024 моя конструкция дала Sharpe 0.38, так что простая месячная средняя её особо и не позорит. Ссылку гляну, спасибо.
Отец говорит: «А подай-ка мне, сынок, сыр, попробуем ловить на него». Сынишка отвечает: «Так я его съел…» Отец говорит: «Тогда подай пареную перловку!» Сынишка отвечает: «А я и ее съел…» – «Ну, дай кукурузу!» — «И ее съел...». -«Ладно. Доедай тогда червей и пошли домой».
bocha, так это буквально мой бэктест и есть: 231 наживка, все съедены, домой иду с одной.
rog, по знаку у меня примерно так же, направление я не угадываю. Барометр отвечает на другой вопрос: сколько сейчас вообще держать. В BULL 80% лонга, при VIX выше 40 позиции нет совсем. Держится это на том, что волатильность кластеризуется, а вот вероятность хода вверх/вниз я и правда считаю монеткой.
Ho_Chu, справедливо. В этом виде на Мосбирже она не поедет: весь барометр завязан на S&P и VIX, а секторную ротацию делать не из чего, ликвидных бумаг полтора десятка и половина из них нефтянка. Аналог VIX есть (RVI), но глубины рынку он не добавляет.
Если руки дойдут, буду пробовать не портфельную версию, а одну-две бумаги с тем же переключением режимов по RVI и индексу. Подозреваю, вылезет красивый оверфит на пяти переключениях за всю историю. У вас был опыт с режимными на нашем рынке, что вышло?
Ho_Chu, вот и я к тому же выводу пришёл. Из всей конструкции там остаётся один вопрос: сколько сейчас вообще держать. Секторная ротация отваливается, выбирать особо не из чего.
Если руки дойдут, попробую голый режимный фильтр на индексе, RVI вместо VIX, без всякой ротации: только размер позиции. Подозреваю, что выйдет скучно, зато проверяемо.
Анзорик, дневки. Все сигналы считаются по закрытию дня, внутридневного нет вообще, поэтому и к данным требования скромнее.
База локальная и уже причёсанная: 5 264 тикера, 1996-2026, около 39 млн записей в аналитических слоях. За счёт этого прогон одной стратегии по всей истории идёт минуты, а не часы. Секундомер специально не ставил, врать не буду.
Дольше всего не считается, а готовится. Конвейер данных отъел в разы больше времени, чем все бэктесты вместе, про это отдельный пост писал.
Так как просадки фондового рынка все разные, то не реально подобрать один фильтр на все случаи. Например, средняя или другие индикаторы с большим периодом успешно предохранят от просадок 2000-2002 и 2007-2009 гг, но просигнализируют на самом дне стремительных снижений и пропустят такое же быстрое восстановление рынка 2019, 2020, 2025 годов. А 2022 год тоже отдельная история.
Те, кто строил свой тайминг на примере 2007-2009 года, в дальнейшем безнадежно отставали от S&P500.
Федор Подпольный, согласен, и это ровно та причина, по которой у нас фильтр не бинарный. Одну среднюю на все кризисы настроить нельзя: медленная спасает от 2000 и 2008 и опаздывает на 2020, быстрая режет на каждом откате.
Барометр у нас отвечает не на вопрос «в рынке или в кэше», а на вопрос, каким размером стоять. 2020 он тоже проспал, в защиту переложились уже после провала, кусок падения съели честно. Зато и обратно вернулись не гаданием на дне, а по мере нормализации волатильности.
А про подгонку под 2007-2009 вы попали в самое больное. Из 231 конструкции ровно так и сыпалось большинство: на своём кризисе красиво, на out-of-sample хуже бай-энд-холда. Выжила одна, и та не потому что угадывает развороты, а потому что не разоряется, когда ошибается.