Блог им. IvanNedomolkov_3ea

Я мерил стратегию окном в 28 лет, которое сам не выдержу. Разбираю дырку в методике

Я мерил стратегию окном в 28 лет, которое сам не выдержу. Разбираю дырку в методике

Под постом про то, как моя стратегия проиграла индексу вчетверо, Дмитрий Овчинников написал коротко: если вы не собираетесь держать систему 28 лет, зачем искать такую систему, которая живёт 28 лет.

Я придумал ответ и стёр. Придумал второй и тоже стёр. Хороший вопрос тем и отличается от подколки: от него отбиваешься раздражением, потому что аргумента нет. Раздражение прошло за сутки, вопрос остался, и он бьёт ровно в середину того, чем я занят полгода.

Сразу говорю: цифрового ответа у меня нет. Есть разбор того, где я свернул не туда.

Чем я гордился

Прогон на 1996-2024 был моей главной опорой во всей серии. Двадцать восемь лет и четыре разные эпохи, с 2008-м внутри. Результат стратегии там 2,9% годовых, и я показывал эту цифру именно потому, что она некрасивая: смотрите, я не прячусь за удобную десятилетку, вот вам вся история целиком.

Мне казалось, это и есть строгость. Из 231 стратегии у меня выжила одна как раз потому, что я гонял всех на полной истории и не давал скидок.

Что этот прогон на самом деле измеряет

Двадцативосьмилетнее окно отвечает на вопрос «переживёт ли конструкция смену эпох». Это вопрос про систему.

Вопрос Дмитрия про меня. Сколько лет я реально просижу в этой конструкции, ни разу не переписав правила и не бросив её на середине.

Связи между этими двумя вопросами нет никакой. Система, которая работает 28 лет подряд, и человек, который её 28 лет держит, живут по разным законам: у системы нет ипотеки и нет соседа, у которого вклад третий год обгоняет твою стратегию. Я проверил стратегию на всех эпохах и ни разу не проверил на своём собственном сроке. Строгость к машине была, к себе не было.

Ответ лежал в моей же таблице, и я читал её неправильно

Вот четыре прогона, которые я выкладывал в посте про устройство HMR. Добавил только одну колонку, длину окна, она считается из дат и никаких новых замеров не требует.

Период Длина окна Sharpe Годовых Просадка
2007-2010, кризис и восстановление ~4 года 1.21 +16,1% -14%
2020-2026, ковид-инфляция-AI ~6 лет 1.03 +16,4% -18%
2015-2024, длинный спокойный бычий ~10 лет 0.76 +9,7% -18%
1996-2024, вся история 28 лет 0.38 +2,9% -20%

Длину пишу с тильдой сознательно. По календарю 1996-2024 это двадцать девять лет, а зову я этот прогон 28-летним, потому что так повелось с первого поста. Мелочь, но раз уж весь текст про мою неаккуратность со сроками, пусть будет названа вслух.

И вторая оговорка, чтобы читатель серии не поймал меня на ровном месте: Sharpe 0.76 в строке 2015-2024 это цифра из того же старого прогона. Как она пережила фикс вселенной и почему рядом с ней стоят 0.77, 0.49 и 0.69, разбирал в прошлом посте.

Читал я эту таблицу сверху вниз с одной установкой: чем длиннее окно, тем честнее цифра. Нижняя строка правда, всё, что выше, скидка самому себе.

А это ведь четыре окна разной длины, и три верхних как раз попадают в сроки, которые живой человек действительно высиживает. Четыре года, шесть, десять. Ответ на вопрос Дмитрия лежал у меня в таблице с самого начала, только я держал верхние строки за смягчающие обстоятельства и отмахивался от них как от лести самому себе.

Для полноты картины: на десятилетке 2015-2024 индекс за тот же срок дал около 13% против моих 9,7%, эту пару я разбирал в посте про цену защиты. То есть даже на человеческом горизонте радоваться особо нечему. Но это уже другой разговор, а здесь важно, что горизонт вообще не рассматривался как параметр.

Почему таблица всё равно не отвечает

Четыре куска истории нарезал я сам, зная заранее, что внутри каждого. Кризисное окно взято потому, что там кризис. Десятилетка взята потому, что это «длинный спокойный бычий». Такая нарезка годится, чтобы показать поведение системы в разных условиях, и совсем не годится, чтобы отвечать на вопрос про горизонт.

Честный ответ выглядел бы так. Взять все возможные окна длиной три, пять и десять лет по всей истории (круглые сроки беру, чтобы шаг был одинаковый, а не подгонялся под мои четыре куска). Посчитать в каждом стратегию и индекс. Посмотреть, в какой доле окон я оказываюсь позади индекса. Отдельно вытащить худшее окно каждой длины, потому что именно в него попадёт читатель, который зайдёт в неудачный момент.

Чего у меня нет

Этих прогонов у меня нет. Я их не делал.

Написать сюда правдоподобные проценты я могу за пять минут, и проверить их снаружи никто не сможет. Соблазн большой, особенно когда пост уже наполовину написан. Мой собственный стенд уже ловил меня на цифре, которую я поленился сверить, и стоило это лучшего результата проекта. Ту историю я разбирал отдельно. Второй раз наступать на неё скучно.

Так что пост выходит без новых чисел. Замер по скользящим окнам будет отдельной работой, и результат я выложу, каким бы он ни получился. Если окажется, что на пятилетках моя система проигрывает индексу в большинстве случаев, напишу и это.

Рынок задаёт тот же вопрос прямо сейчас, только живьём

Пока я рассуждаю про окна на истории, наш рынок идёт вниз и проверяет горизонт держания у всех, кто в нём сидит. Считаю я всё на американских данных, но вопрос про горизонт от географии не зависит совсем. Прогнозов от меня не будет, куда дальше, я не знаю, советов покупать или продавать тем более.

Интересует меня в этой коррекции одна механика. В бэктесте просадка выглядит как строка «-20%», одна ячейка таблицы, глаз скользит по ней за полсекунды. В жизни это недели или месяцы, когда каждое утро цифра красная, а правила требуют ничего не трогать. Длину этой полосы мой отчёт мне никогда не показывал, потому что я её не спрашивал. Глубину спрашивал, а сколько дней подряд, нет.

Люди же выходят обычно не от глубины. Выходят от длины: когда третий год смотришь на минус, а вокруг все уже заработали.

Что меняю

Дальше в отчёты стенда добавляю два блока, которых там не было:

  • результат на всех скользящих окнах по три, пять и десять лет, вместе с долей окон, где стратегия хуже индекса;
  • максимальное число календарных дней подряд, которые система провела ниже своего предыдущего максимума.

Первое отвечает на вопрос «как часто я буду выглядеть дураком на своём сроке». Второе отвечает на вопрос «сколько мне придётся терпеть, чтобы дожить до правоты».

И, отвечая Дмитрию прямо. Система, которая живёт 28 лет, мне не нужна, я столько не проживу с ней рядом. Двадцать восемь лет были нужны как проверка, что конструкция не заточена под одну эпоху. Я перепутал инструмент проверки с целью и полсерии постов вынес наверх ту цифру, которую в реальности не проживёт никто, включая меня.

Дисклеймер, без него никак: всё выше это результаты на исторических данных и paper-trading, не индивидуальная инвестиционная рекомендация. Биржа про риск потерять деньги.

Вопрос к залу. Сколько вы по факту держали один подход, ни разу не переписав правила? Интересует именно факт, планы мы все строим одинаковые. И что обычно выбивает раньше, глубина минуса или его длительность?

Предыдущие части: про платформу и 231 стратегию, устройство HMR, режимы рынка, сколько стоит защита, как стенд поймал меня на вранье.

Данная публикация является личным мнением автора. Мнение владельца сайта может не совпадать с мнением автора.
427
15 комментариев
не дочитал до конца, Но уже по названию Я могу сказать одно своё мнение- за 28 лет нас всех кинуло государство и не раз. на курсе доллара на инфляции и прочее. Так что любой расчёт будет в таких условиях некорректным.
avatar

Про наш рынок спорить не буду, там всё так. Считаю я на американских данных, но мысль ваша в мою же сторону: чем длиннее окно, тем больше разных миров склеено в одну среднюю цифру. Пост как раз про то, что я эту среднюю полсерии таскал наверх как главный аргумент. Теперь смотрю окна по 3, 5 и 10 лет, там хотя бы понятно, что меришь.

зачем вам то, что было 28 лет назад? ерундой занимаетесь, честное слово. тут каждый месяц все меняется и приходится перенастраивать константы. а вы исследуете то, что было в другом мире и при совершенно других условиях. ну обгонит индекс ваша система на прошлом и что? все равно на текущих данных она не будет работать без внесения постоянных корректировок.
avatar

Половину принимаю: длинное окно я и правда таскал зря, про это и пост.

А вот про перенастройку констант каждый месяц у меня встречный вопрос, честный, не для спора. Как вы отличаете адаптацию от подгонки задним числом? У меня на стенде любая стратегия, которой разрешали крутить параметры по ходу, на истории выглядела отлично и разваливалась на отложенном куске, который она не видела. Если у вас это работает вживую, интересно, чем проверяете.

Иван Недомолков, я называю это "адаптация". хотя это вероятно и есть подгонка. про "каждый месяц" я конечно преувеличил. как это происходит? на ощущениях, последним три месяца были хотя бы сделки, и пропали. начинаю "подкручивать" atr, adx, глубины откатов и ещё пару тройку мелких констант. до момента - хотя бы появились сделки на данных последней недели. на фьючерсах работает бот. можно наверно прописать жизненные циклы, макро условия и как сегодня отражается свет Венеры в болотных газах. но мне лень и я не умею. проще тестами подобрать. вчера думал про пост и подумалось можно же определить условия внешние, при которых работали 2-3 из сотен ваших стратегий и менять при совпадении с нынешними, для кого условия подходят, та стратегия и работает. бред какой-то наверно...
avatar

Александр, спасибо, что честно. С этого места разговор нормальный.

Про подкрутку до появления сделок: у меня на этом всё и сыпалось. Критерий «чтобы на последней неделе появились сделки» по построению настраивает параметры под последнюю неделю, ничего другого он мерить не умеет. Дешёвая проверка, если интересно: подбирайте как подбираете, но по данным до какой-то даты, а смотрите потом только на кусок после неё, и руками его уже не трогайте. У меня почти всё, что на истории выглядело живым, на таком куске выцветало.

Идея не бред, половину этого я делал. Режим определяю по двум цифрам, положение S&P относительно средних и VIX, дальше пять состояний и переключение только если новое держится три дня подряд. Второй пост серии как раз про это: smart-lab.ru/blog/1339956.php. Слабое место видно там же: правило трёх дней спасает от дёрганья и одновременно опаздывает, в разворот заходишь позже.

А вторая половина, ваша, у меня не сделана, и с ней засада. Из 231 конструкции выжила одна, то есть выбирать под режим не из кого. Смотреть надо у тех 230, что отвалились: у них наверняка были куски, где они работали, и вопрос, сидят ли эти куски на конкретном режиме. Стенд для этого есть, прогон недорогой. Засада в том, что подбор стратегии под режим на той же истории это та же подгонка этажом выше, и проверять её придётся тем же отложенным куском.

И что обычно выбивает раньше, глубина минуса или его длительность?
Выбивает глубина помноженная на длительность, то есть площадь андерлайна. 
Мой скепсис по поводу стратегии на 28 лет был о другом: вы не сможете торговать такую стратегию, которая годами находится в минусе, чтобы потом в хороший год что? снова проиграть индексу или вяленько его опередить? 
Дмитрий Овчинников, я бы ещё добавил, как можно 28 лет ничего не делать? после первого года торговли и других идей и идей как улучшить эту стратегию добавится вагон. Хочешь не хочешь, но просто не сможешь 28 лет ничего не менять… Но через 28 лет вполне есть шанс чему-то научится, всё перебрать ну а там уже продолжать торговать смысла не будет:)
avatar

Так и есть, у меня и полугода не вышло: правила я за это время переписывал несколько раз, и каждый раз по делу. Отсюда и дырка, про которую пост: прогон на 28 лет меряет конструкцию, которую я всё равно не додержу в неизменном виде. Держусь за одно правило — менять можно, но тогда считать заново с нуля, а не подклеивать свежий кусок к старому красивому графику.

Sergey Pavlov, 
интересно читать зумеров. они даже вопросы сформулировать не могут. мы же с вами отвечаем на свои вопросы, а они то спрашивают про другое? ;)
Дмитрий Овчинников, отвечать на чужие вопросы — непозволительная роскошь:)
avatar

Дмитрий Овчинников, не понял, я уже в зумерах или ещё нет 🙂

Если это про мои ответы, то давайте конкретно: где я съехал с вопроса? Поправлюсь. За собой знаю, что охотнее ухожу в методику, чем отвечаю по существу. Ваша площадь андерлайна как раз тот случай, когда отвечать нечем, пока не посчитаешь, поэтому и забрал считать.

Площадь, а не глубина и не длина по отдельности — забираю, добавлю третьим блоком к тем двум, что уже пообещал в посте. Считается по той же кривой, новых данных не надо.

По второй части: не смогу, тут вы правы. Сидеть годами в минусе ради 2,9% годовых, чтобы в хороший год вяленько обойти индекс, никто в здравом уме не станет, и я не исключение. Для меня это значит, что мерить надо было не 28 лет, а пять, и смотреть долю окон, где я хуже индекса. Выйдет, что хуже в большинстве — значит дело не в неудачном окне, а в том, что стратегия не годится. Так и напишу, когда посчитаю.

По первым строкам: когнитивное заблуждение — считать, что большое окно что-то гарантирует или улучшает. Всё просто. 29-й год не обязан иметь наилучшие усреднённые параметры за 28 лет. Как и следующий месяц после годового окна. 
Если есть в принципе какая-то характеристика с предсказуемым поведением от периода к периоду, то должен найтись метод, её улавливающий. Без него — какое окно, какой индикатор с каким-то своим периодом — не имеет значения. Минус на дистанции будет всегда, чуть больший или чуть меньший.
avatar

С первым согласен целиком, пост ровно об этом. Уточню только, зачем окно было нужно: не как гарантия на следующий год, а как сито. На полной истории отваливались конструкции, заточенные под одну эпоху, из 231 штуки осталась одна. Сито рабочее, а вот вынести его результат наверх как главный итог — это и была ошибка.

Про метод, который ловит устойчивую характеристику: кандидат у меня один, режимы рынка по двум цифрам, и держится он хуже, чем хотелось бы. Разбирал в отдельном посте, там же видно, где он ломается.


Читайте на SMART-LAB:
Фото
Заседание ЦБ по ключевой ставке, какие ожидания и прогнозы?
Фото
Битва акций: Интер РАО против РусГидро
Алексей Девятов Интер РАО и РусГидро — две крупнейшие публичные генерирующие компании России. Разбираемся, чьи акции сейчас выглядят...
Фото
Крепкий рубль давит на дивиденды Сургутнефтегаза: новый прогноз по акциям
Рубль в 2026 году оказался крепче, чем ожидалось. Это снижает прибыль Сургутнефтегаза от переоценки валютной кубышки. На этом фоне...
Фото
Сбер РПБУ 8 мес. 2026 г. - менеджмент ждет замедления, но в отчетах пока рекорды
Сбер опубликовал результаты по РПБУ за 8 мес. 2026 г.  Чистая прибыль за 8 месяцев составила 1,33 трлн руб. (+19%). За август 169,1 млрд руб....

теги блога Иван Недомолков

....все тэги



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