Вы читаете книгу «Walk-Forward анализ на финансовых рынках» онлайн
Введение: Почему большинство стратегий не работают
Представьте себе археолога, который находит идеально сохранившуюся карту сокровищ. Карта вычерчена с математической точностью, указаны все ориентиры, расстояния, даже фазы луны для каждого шага. Археолог снаряжает экспедицию, вкладывает состояние, проходит сотни километров — и на месте оказывается пустыня. Сокровища исчезли. Карта была безупречна. Но она описывала мир, которого больше нет.
Это не история о древних цивилизациях. Это история о вас, если вы когда-либо запускали бэктест на исторических данных, видели «идеальную кривую доходности» и верили, что будущее будет послушно повторять прошлое.
В финансовых рынках миллионы умнейших людей — выпускники MIT, бывшие ракетные инженеры, лауреаты премий по эконометрике — ежедневно совершают одну и ту же фундаментальную ошибку. Они путают описание прошлого с предсказанием будущего. Они создают стратегии, которые виртуозно обыгрывают историю, но разбиваются о реальность, как самолёт, чья аэродинамическая труба была настроена на ветры, которые уже не дуют.
Почему? Потому что рынок — это не физический закон, а эволюционирующая адаптивная система. Это джунгли, где правила игры меняются каждый раз, когда вы думаете, что их поняли.
В этой книге мы разберём, почему классический подход к построению торговых стратегий — «настроил на истории, получил прибыль» — обречён с вероятностью, близкой к 100%, если не использовать один метод, который превращает иллюзию в устойчивое преимущество. Этот метод называется Walk-Forward Analysis.
Но мы не просто дадим рецепт. Мы отправимся в путешествие — через историю финансов, через эволюцию машинного обучения, через философию Карла Поппера и когнитивные ловушки, которые заставляют нас видеть узоры там, где их нет. Мы научимся отличать шум от сигнала, а подгонку — от обобщения.
Иллюзия прибыльности: как нас обманывает бэктест
В 1987 году, за несколько месяцев до «чёрного понедельника», когда рынки рухнули на 20% за один день, портфельные менеджеры по всему миру с восторгом демонстрировали клиентам свои бэктесты. Кривые доходности были подобны ракетам, устремлённым к звёздам. Ни одна из них не предсказала обвала. Потому что все они были построены на данных, которые уже содержали в себе все предыдущие кризисы, но не содержали следующего.
Бэктест — это замечательный инструмент, но только если вы понимаете его природу. Это не симулятор будущего. Это зеркало заднего вида. Оно показывает, где вы были, но не говорит, куда повернёт дорога.
Проблема в том, что человеческий мозг эволюционно не приспособлен к вероятностному мышлению в нестационарных средах. Когда мы видим график, где зелёная линия неуклонно растёт, наш древний мозг кричит: «Вот оно! Закономерность! Беги за ней!». Мы впадаем в состояние, которое нейробиологи называют patternicity — склонность видеть осмысленные паттерны даже в случайном шуме.
Финансовые рынки — идеальная среда для этого когнитивного порока. Они генерируют бесконечные ряды цифр, а наши алгоритмы, от простых скользящих средних до глубоких нейросетей, с готовностью находят в этих рядах любую закономерность, которую мы попросим. Вопрос не в том, можно ли подогнать стратегию под историю. Можно всегда. Вопрос в том, останется ли эта закономерность в живых, когда вы начнёте торговать в реальном времени.
Переоптимизация как главная болезнь трейдера
В древнегреческой мифологии был разбойник по имени Прокруст. Он заманивал путников в свой дом, укладывал их на железное ложе и либо вытягивал несчастным ноги, либо отрубал всё, что не помещалось. Так появлялось идеально подогнанное тело.
Переоптимизация стратегии — это прокрустово ложе, только наоборот: вы берёте исторические данные и насильственно подгоняете параметры стратегии так, чтобы они идеально соответствовали каждому движению рынка. Вы добавляете условия, фильтры, индикаторы — десятки, сотни параметров. В итоге стратегия становится настолько «точной», что описывает каждую кочку прошлого, но теряет способность ехать по любой другой дороге.
Я видел портфели, где число параметров превышало число сделок в выборке. Это не торговля, это математическая магия, которая рассеивается при первом дуновении реального рынка.
Переоптимизация имеет не только техническое, но и глубокое психологическое измерение. Она даёт нам иллюзию контроля. Мы не можем контролировать рынок, но мы можем контролировать параметры своей модели. И мы увлекаемся, как ребёнок, который крутит ручки синтезатора, пока не получит идеальный звук, забывая, что в реальном концертном зале акустика совсем другая.
Что на самом деле проверяет Walk-Forward анализ
Здесь мы подходим к главному герою нашей книги. Walk-Forward анализ — это не просто ещё один метод валидации. Это смена философии. Это переход от статичного взгляда на мир («рынок имеет стационарные свойства») к динамичному («рынок — эволюционирующая система, и наша модель должна эволюционировать вместе с ним»).
Представьте, что вы не просто строите карту, а создаёте навигационную систему, которая постоянно перекалибруется по спутниковым данным, учитывая новые дороги, пробки и изменения ландшафта. Walk-Forward — это именно такая система. Он делит историю на множество последовательных «окон»: на каждом шаге вы обучаете стратегию на одних данных (in-sample), а проверяете на следующих, ещё не виденных (out-of-sample). Затем окно сдвигается, и процесс повторяется.
То, что вы получаете на выходе, — это не одна идеализированная кривая, а распределение результатов сотен (или тысяч) независимых тестов. Вы видите, насколько стратегия стабильна во времени, а не просто прибыльна в прошлом.
Это метод, который используют ракетные конструкторы, когда тестируют системы навигации в меняющихся атмосферных условиях. Это метод, который применяют врачи в клинических испытаниях, когда проверяют, работает ли лекарство на разных группах пациентов в разное время. И это единственный метод, который отделяет «случайно повезло в прошлом» от «имеет реальное преимущество».
Как читать эту книгу и кому она нужна
Эта книга для тех, кто хочет не просто получить рецепт «как сделать Walk-Forward в Python», но и понять *почему* этот подход работает на уровне философии науки, эволюционной биологии и поведенческой экономики.
Если вы аналитик или квантитативный трейдер, вы найдёте здесь глубокий технический материал, включая математические формализации, критерии робастности и архитектуру автоматизированных систем. Но вы также встретите истории, которые заставят вас взглянуть на свою работу по-новому.
Если вы инвестор или управляющий капиталом, вы узнаете, как отличать устойчивые стратегии от «переоптимизированных игрушек», какие вопросы задавать управляющим и почему «идеальная доходность» — это самый надёжный сигнал того, что перед вами ловушка.
Если вы учёный, интересующийся сложными системами, вы увидите в финансовых рынках уникальную лабораторию для проверки идей об адаптивности, нестационарности и пределах предсказуемости.
Если вы просто любознательный человек, который хочет понять, как устроен мир современных финансов, — вы получите захватывающее путешествие в сердце алгоритмической цивилизации, где решения на миллиарды долларов принимаются машинами, которые учатся на ошибках, а не на иллюзиях.
Структура книги выстроена как путь посвящения:
Часть I. Фундамент: где ломается классический подход. Мы разберём анатомию бэктеста, его историю и скрытые ловушки. Вы узнаете, почему индустрия десятилетиями закрывала глаза на фундаментальные проблемы, и как data snooping стал главным убийцей капиталов.
Часть II. Методология Walk-Forward. Здесь мы шаг за шагом построим философию и технику Walk-Forward анализа. Вы увидите, как он переопределяет понятия «обучение» и «проверка», и познакомитесь с различными архитектурами — от простого сдвига окна до экспоненциального забывания.
Часть III. От теории к практике: алгоритмическое преимущество. Мы перейдём к реализации: выбору метрик робастности, построению пайплайнов, интеграции с машинным обучением. Вы узнаете, как превратить Walk-Forward из метода валидации в ядро живого, адаптивного торгового механизма.
Часть IV. Философия устойчивости. Завершающая часть — о том, как изменить своё мышление. О хрупкости, антихрупкости (спасибо Нассиму Талебу), об этике алгоритмической торговли и о будущем, где люди и машины будут искать преимущество не в подгонке, а в понимании.
Каждая глава содержит практические блоки, код (в духе технической практики) и исторические или философские интерлюдии (в духе научпопа). Вы можете читать книгу линейно, а можете сразу нырять в те разделы, которые резонируют с вашим текущим вызовом.
Но прежде чем мы двинемся дальше, я хочу, чтобы вы сделали одну вещь. Откройте свой любимый торговый терминал или последний отчёт по стратегии. Посмотрите на кривую доходности. Спросите себя: «Сколько раз эта кривая перестраивалась на новых данных? Сколько out-of-sample тестов она прошла? А если я сдвину окно обучения на один год — она останется такой же красивой?».
Если вы не можете ответить на эти вопросы, значит, вы стоите на зыбкой почве. И эта книга — ваш шанс построить фундамент, который выдержит любое землетрясение рынка.
Часть I. Фундамент: где ломается классический подход
Глава 1. Анатомия бэктеста
История бэктестинга: от Excel до квантов
Чтобы понять, почему Walk-Forward анализ — это не просто улучшение, а парадигмальный сдвиг, мы должны заглянуть в историю бэктестинга. Его корни — в эпохе, когда трейдеры сидели на биржевых полах с блокнотами и карандашами, записывая цены мелом на досках. Первые «бэктесты» были мысленными: опытный спекулянт прокручивал в голове, как бы его правило сработало на прошлых движениях.
Настоящая революция случилась с появлением электронных таблиц. В 1980-х годах, когда Lotus 1-2-3, а затем Excel, вошли в обиход, каждый трейдер вдруг получил возможность загрузить исторические данные и быстро проверить любую идею. Это было похоже на то, как если бы средневековому алхимику вдруг подарили современную лабораторию. Энтузиазм был невероятным.
В 1990-е индустрия квантитативных финансов взорвалась. Появились первые хедж-фонды, построенные исключительно на систематических стратегиях. Легендарный Renaissance Technologies, D.E. Shaw, AQR — они начинали с того, что скрупулёзно тестировали тысячи идей на исторических данных. Их успех породил миф: «Если достаточно глубоко проанализировать прошлое, можно найти ключ к будущему».
Но именно в этот момент зародилась и главная эпидемия. Инструменты становились мощнее, данных становилось больше, а критического мышления — не прибавлялось. Трейдеры, инженеры, физики, переквалифицировавшиеся в «квантов», начали создавать модели такой сложности, что они с точностью до цента воспроизводили каждый исторический тик. И с неизменным удивлением обнаруживали, что в реальной торговле эти модели теряют деньги.
К началу 2000-х стало очевидно: проблема не в данных и не в вычислительной мощности. Проблема в методологии. Бэктест в классическом понимании — это статический снимок. А рынок — это живой, дышащий организм. Вы не можете сделать рентгеновский снимок динозавра и утверждать, что знаете, как поведёт себя его потомок, эволюционировавший через миллионы лет.
Сегодня мы живём в эпоху, где бэктестинг стал доступен каждому: любой человек с ноутбуком может загрузить 20 лет данных и запустить сотни стратегий за минуту. Но именно эта доступность усугубила проблему. Чем легче тестировать, тем больше мы склонны тестировать бессмысленные гипотезы, пока одна из них не покажется значимой. Это называется multiple testing или, в финансовом контексте, data snooping. И это — главная ловушка, которую мы разберём ниже.
In-sample vs Out-of-sample: скрытая ловушка
В 2008 году, когда рухнул Lehman Brothers, многие квантитативные фонды, чьи стратегии показывали впечатляющую устойчивость в бэктестах на данных до 2007 года, понесли катастрофические потери. Почему? Потому что они использовали данные in-sample (обучающую выборку) для калибровки стратегии, а затем наивно полагали, что out-of-sample (тестовая выборка), которая была просто хронологически следующим отрезком, подтвердит надёжность.
Но здесь кроется семантическая ловушка. Когда мы говорим «out-of-sample», мы часто подразумеваем «данные, которые модель не видела». Однако в финансовых временных рядах невиданность — это не то же самое, что независимость. Рынок обладает памятью, но эта память нестационарна. Период 2005–2007 годов (до кризиса) и период 2008 года (кризис) — это два разных режима, две разные вселенные с разными корреляциями, волатильностью и ликвидностью.
Классическое разделение на in-sample и out-of-sample предполагает, что данные однородны. Это как если бы вы учили ребёнка плавать в бассейне, а потом бросили его в бурный океан и сказали: «Но ты же уже плавал в воде!».
Настоящая out-of-sample проверка — это не просто другой отрезок времени. Это проверка на другом режиме рынка. Walk-Forward анализ тем и ценен, что он заставляет вас многократно проходить через смену режимов: каждый новый out-of-sample период — это мини-будущее, которое не было известно в момент обучения. И если ваша стратегия выдерживает десятки таких сдвигов, её устойчивость уже не случайна.
Data snooping и survivorship bias
В 1960-х годах психолог Пол Мил провёл эксперимент, который сегодня называют «проклятием победителя». Он показал, что если 100 исследователей независимо проверяют одну и ту же гипотезу на одних и тех же данных, вероятность того, что кто-то получит статистически значимый результат чисто случайно, близка к 100%. В финансах это работает так же: если вы протестируете 10 000 различных индикаторов на одном историческом ряде, вы обязательно найдёте несколько, которые дадут фантастическую доходность. Но это будет не открытие закономерности, а просто математическая неизбежность.
Data snooping — это ситуация, когда одни и те же данные используются многократно для формулировки и проверки гипотез. Каждый новый тест съедает часть вашей «статистической свободы». К тому моменту, когда вы находите идеальную стратегию, вы уже не можете доверять её p-значению, потому что оно не учитывает количество предыдущих попыток.
К этому добавляется survivorship bias — смещение выжившего. Когда мы тестируем стратегии на исторических данных, мы неявно используем только те активы, которые дожили до сегодняшнего дня. Но в прошлом существовали тысячи компаний, которые обанкротились, были поглощены или исчезли. Их данные часто отсутствуют в базах. Если ваша стратегия, скажем, торгует только акции, которые сейчас в S&P 500, вы автоматически исключаете те, которые когда-то входили в индекс, но потом рухнули. Это создаёт иллюзию, что рынок «легче» обыграть, чем на самом деле.
Survivorship bias — это как если бы вы изучали секрет долголетия, опрашивая только столетних людей, и игнорировали тех, кто умер в 50. Вы получите очень оптимистичную картину, но она будет искажена.
Walk-Forward анализ, особенно если он проводится на больших универсумах данных с учётом всех существовавших на момент времени активов, является одним из немногих методов, который позволяет выявить и ослабить влияние этих смещений.
Почему «идеальная кривая доходности» — плохой знак
В 2011 году группа исследователей из Университета Чикаго провела любопытный эксперимент. Они сгенерировали тысячи полностью случайных временных рядов (белый шум) и попросили группу квантитативных аналитиков «найти» в них торговые стратегии. Аналитики, используя свои лучшие методы, в большинстве случаев находили стратегии, которые на этих случайных данных показывали впечатляющие кривые доходности с высокими коэффициентами Шарпа.
Затем эти стратегии запускали на новых случайных рядах, сгенерированных независимо. Результат был ожидаем: все стратегии теряли деньги, показывая отрицательную доходность.
Вывод был пугающим: даже на абсолютно случайных данных, если дать аналитикам достаточно свободы, они создадут «прибыльные» стратегии. Чем больше параметров, чем больше фильтров, тем легче подогнаться под шум. И чем красивее кривая на истории, тем с большей вероятностью она отражает не реальный сигнал, а результат переоптимизации.
«Идеальная кривая доходности» — это как зеркальная гладь озера, которая кажется прекрасной, но скрывает под собой мутную, илистую воду. Она не имеет шума, не имеет просадок, не имеет периодов стагнации. Но реальные рынки, как и реальная жизнь, всегда имеют шум, просадки и периоды, когда ничего не работает.
В этой книге мы научимся любить шум. Мы научимся доверять стратегиям, которые показывают неровные, но последовательные результаты в десятках out-of-sample тестов. Мы научимся видеть красоту в несовершенстве — потому что именно оно свидетельствует о том, что стратегия не была перекалибрована на каждый чих истории, а уловила нечто более глубокое и устойчивое.
А теперь, когда фундамент заложен, когда мы поняли, где и как рушится классический подход, мы готовы к следующему шагу. Мы готовы погрузиться в методологию, которая превращает хрупкие, переоптимизированные модели в адаптивные, эволюционирующие системы. Мы готовы к Walk-Forward анализу.
Глава 2. Переоптимизация: враг в коде
В предыдущей главе мы говорили о том, что «идеальная кривая доходности» — это не признак гениальности, а маркер болезни. Теперь мы откроем дверь в операционную и посмотрим на этого монстра вблизи. У него много имён: overfitting, curve fitting, переоптимизация, подгонка под историю. Но суть одна — это процесс, при котором модель запоминает шум, а не выделяет сигнал.
В мире машинного обучения переоптимизацию называют «смертельным грехом». В трейдинге она не просто грех — это самоуничтожение. Потому что цена ошибки здесь измеряется не баллами на экзамене, а реальными деньгами, часто чужими и исчисляемыми миллионами.
Curve fitting и его признаки
Представьте, что вы стреляете из лука. Если вы подгоняете прицел под каждый предыдущий выстрел — учитываете порывы ветра, влажность, дрожь руки, — вы сможете идеально попадать в старые мишени. Но новая мишень окажется в другом месте, а ваша система, перенастроенная на вчерашние условия, промахнется. Curve fitting — это именно такая «стрельба по вчерашним мишеням».
Как распознать, что стратегия переоптимизирована? Вот несколько признаков, которые должны заставить вас насторожиться, даже если кривая доходности выглядит как взлёт ракеты SpaceX.
1. Аномально высокий коэффициент Шарпа.
Если бэктест показывает Sharpe > 3 (или, особенно, > 5) на длинной истории, это почти всегда либо подгонка, либо использование экзотических активов с неучтёнными рисками. В реальной торговле Sharpe выше 2–3 встречается только у единичных фондов с уникальным доступом, и то на ограниченных периодах. Когда я вижу «стратегию» с Sharpe 8 на 10-летней истории, я знаю: передо мной результат data mining, а не рыночного преимущества.
2. Слишком малое количество сделок.
Если стратегия за 10 лет совершила 50 сделок, а её параметров — 20, то степень свободы равна нулю. Каждая сделка «оправдывает» несколько параметров. Статистически значимый результат требует сотен, а лучше тысяч независимых сделок. Малое количество сделок означает, что результат легко мог быть случайным.
3. Чрезмерная чувствительность параметров.
Возьмите любой параметр стратегии (например, длину скользящей средней) и слегка измените его. Если стратегия из прибыльной превращается в убыточную при изменении на ±5%, это верный признак того, что она «настроена на резонанс» с историческим шумом. Устойчивая стратегия должна демонстрировать плато — диапазон параметров, где результат остаётся положительным и относительно стабильным.
4. Отсутствие просадок или идеальная последовательность.
Реальные рынки создают просадки. Даже лучшие трейдеры в мире проходят через периоды Drawdown. Если ваша кривая идёт под 45 градусов без единого отката — вы либо смотрите на результат подгонки, либо торгуете на рынке, которого не существует.
5. Сложность, неоправданная данными.
Количество параметров и правил не должно превышать корень квадратный от числа сделок. Если у вас 100 параметров и 500 сделок — это не торговля, это «математическое порно».
Как параметры «подгоняются» под шум
Процесс подгонки начинается невинно. У вас есть идея: «Когда рынок перекуплен, а тренд сильный, возможно, стоит входить». Вы берёте индикатор RSI и скользящую среднюю. Параметры: 14 и 50. Результат так себе. Тогда вы пробуете RSI 12, MA 48 — лучше. RSI 10, MA 44 — ещё лучше. Вы добавляете фильтр объёма. Затем — временной фильтр: не торговать в первые 30 минут после открытия. Потом — фильтр волатильности. Затем — динамический трейлинг-стоп. На каждом шаге вы смотрите на историю и подкручиваете винтики, чтобы график рос всё выше.
К тому моменту, когда вы заканчиваете, ваша стратегия представляет собой машину Руба Голдберга — сложную, витиеватую, идеально работающую на том историческом отрезке, где вы её «обучали». Но каждый новый винтик — это не улучшение, а добавление шумовой компоненты. Вы фактически построили интерполяционную функцию, которая проходит через все точки исторического ряда, но не способна к экстраполяции.
В техническом плане это выглядит так: вы минимизируете функцию ошибки на in-sample данных, но размерность пространства параметров растёт, и вы начинаете ловить выбросы, аномалии, однократные события. Стратегия «учит» наизусть, что 15 августа 2007 года в 14:30 произошло резкое движение, и вводит правило, которое срабатывает именно в этот момент. Но в будущем такого движения не будет, а правило останется и начнёт генерировать ложные сигналы.
Математически переоптимизация — это классический компромисс между смещением и дисперсией. Сложная модель имеет низкое смещение (хорошо описывает обучающие данные) но высокую дисперсию (сильно меняется при малых изменениях входных данных). На рынках, где распределение меняется, высокая дисперсия убивает.
Парадокс: больше данных — хуже результат
На первый взгляд это звучит абсурдно. Как может больше исторических данных ухудшить стратегию? Разве мы не учим: чем больше данных, тем надёжнее оценка?
В финансах этот парадокс работает по двум причинам.
Первая: нестационарность. Если рынок меняет свои свойства, то добавление старых данных (из другого режима) может «размыть» сигнал, актуальный для текущего режима. Представьте, что вы строите модель погоды. Если вы добавите в обучение данные ледникового периода, ваша модель станет хуже предсказывать завтрашнюю температуру. В финансах «ледниковые периоды» — это эпохи другой волатильности, другой корреляционной структуры, другой ликвидности.
Парадокс заключается в том, что оптимальное окно данных для обучения часто не является «всеми доступными данными». Это небольшой отрезок, который отражает текущий рыночный режим. Walk-Forward анализ, как мы увидим, решает эту проблему, динамически выбирая или взвешивая данные.
Вторая: увеличение степеней свободы при подгонке. Чем больше данных, тем больше соблазн добавить параметров, чтобы «объяснить» каждый новый паттерн. Это приводит к тому, что сложность модели растёт быстрее, чем объём полезной информации. В пределе вы получаете модель, которая идеально описывает 20 лет истории, но не может предсказать завтрашний день.
Известный исследователь в области количественных финансов Маркос Лопес де Прадо приводит пример: если вы тестируете 1000 стратегий на 10 годах данных, вероятность найти хотя бы одну с p-value < 0.01 чисто случайно составляет более 99,9%. Добавление данных не спасает, потому что растёт и количество гипотез, которые вы можете проверить.
Примеры провалов на реальных стратегиях
Теория без крови — не теория. Давайте посмотрим, как переоптимизация убивала реальные деньги.
История первая: «Совершенный портфель» одного хедж-фонда
В середине 2000-х годов небольшой, но амбициозный хедж-фонд из Лондона разработал стратегию на основе «многофакторной модели» с 27 параметрами. Бэктест на данных с 1995 по 2004 год показывал годовую доходность 34% с максимальной просадкой 4% и Sharpe 4,2. Инвесторы выстроились в очередь. Фонд собрал $450 млн.
В реальной торговле первые три месяца стратегия показывала результаты, близкие к бэктесту. Затем начались расхождения. К концу первого года доходность упала до 8%. На втором году фонд потерял 22%. Разбирательство показало: каждый из 27 параметров был подобран так, чтобы «объяснить» конкретные исторические эпизоды. Например, фильтр волатильности был настроен на идеальное отсечение событий 1998 года (крах LTCM), но в новых условиях этот фильтр отсекал уже прибыльные сделки. Стратегия была настолько чувствительна, что сдвиг одного параметра на 2% превращал её из прибыльной в убыточную.
История вторая: «Турбо-стратегия» на фьючерсах
Мой знакомый трейдер, инженер по образованию, разработал систему для торговли фьючерсами на S&P 500. Он использовал нейросеть с двумя скрытыми слоями и 150 входами (индикаторы, лаги цен, объёмы). На 15-летних данных сеть показывала феноменальный результат: коэффициент Шарпа 3,7.
Он запустил систему на реальном счёте $100 000. Первая неделя: +$8 000. Вторая: -$15 000. Третья: +$2 000. Четвёртая: -$25 000. Через два месяца счёт был обнулён.
Что произошло? Нейросеть выучила не рыночные закономерности, а специфические шумовые паттерны, которые были в данных 1990-х годов: особенности тиков, аномалии в объёмах, связанные с конкретными историческими событиями (например, поведение рынка во время азиатского кризиса). В современном рынке, с другой микроструктурой, эти паттерны исчезли. А сеть продолжала торговать по ним, воспринимая любые отклонения как сигнал.
История третья: Крах LTCM — классика жанра
Long-Term Capital Management (LTCM) — это, пожалуй, самый знаменитый пример переоптимизации в истории. Созданный нобелевскими лауреатами Робертом Мертоном и Майроном Шоулзом, фонд использовал сложнейшие модели для арбитража облигаций. Их бэктесты показывали невероятную устойчивость: они «доказали», что их стратегии теряют деньги только раз в 10^20 лет.
Но модель не учитывала один важный фактор: поведение участников в кризис. Когда в 1998 году Россия объявила дефолт по ГКО, рынки охватила паника. Ликвидность исчезла, корреляции, которые в модели были близки к нулю, стали равны единице. Стратегии LTCM, подогнанные под «нормальные» рынки, рухнули за несколько недель. Фонд потерял $4,6 млрд, и его пришлось спасать Федеральному резерву.
Урок LTCM: даже если ваша модель — это вершина академической мысли, даже если у вас есть Нобелевская премия, переоптимизация под историю, не включающую экстремальные режимы, смертельна.
Что мы узнали
Переоптимизация — это не просто техническая ошибка. Это проявление глубокого человеческого желания контролировать хаос, подогнать реальность под красивую модель. Она питается нашей когнитивной предвзятостью: мы видим порядок там, где его нет, и награждаем сложность, путая её с глубиной.
Но есть и хорошая новость. Переоптимизацию можно диагностировать. У неё есть признаки, которые мы можем проверить до того, как поставить на кон реальный капитал. И есть методология, которая защищает от этой болезни — Walk-Forward анализ, к которому мы перейдём в следующей главе.
Walk-Forward — это прививка от curve fitting. Это способ заставить вашу модель не просто «знать историю», но и «выживать» в постоянно меняющихся условиях. Он не даёт вам подгонять параметры под каждый чих рынка, потому что вынуждает многократно проверять стратегию на невидимых данных.
Представьте, что вместо того чтобы настраивать лук под каждый предыдущий выстрел, вы тренируетесь стрелять по движущимся мишеням в разных погодных условиях. Вы учитесь не точности попадания в одну точку, а устойчивости навыка. Именно этому учит Walk-Forward.
Но прежде чем мы продолжим, я хочу, чтобы вы сделали паузу. Посмотрите на свои текущие стратегии. Есть ли у них признаки переоптимизации, о которых мы говорили? Можете ли вы изменить параметры на 5-10% и получить такой же результат? Если нет — вы держите в руках бомбу замедленного действия. Если да — вы на пути к устойчивости.
Глава 3. Финансовые рынки как нестационарная система
В предыдущих главах мы разобрали анатомию бэктеста и смертельную болезнь переоптимизации. Но остался главный вопрос, который висит в воздухе, как проклятие: почему вообще стратегии, которые блестяще работали на истории, так часто разваливаются в реальности?
Ответ лежит в фундаментальном свойстве финансовых рынков, которое большинство трейдеров и квантитативных аналитиков предпочитают не замечать. Это свойство называется нестационарностью.
Стационарная система — это та, чьи статистические свойства не меняются во времени. Бросание кубика: вероятность выпадения шестёрки всегда 1/6. Вращение Земли: угловая скорость постоянна с астрономической точностью. Стационарные системы предсказуемы в том смысле, что прошлое даёт надёжную модель будущего.
Финансовые рынки — не такая система. Они не просто не стационарны; они эволюционируют, адаптируются, реагируют на собственное предсказание. Это делает их одной из самых сложных динамических систем, с которыми сталкивался человек.
Режимы рынка: тренд, флэт, хаос
В 1990-х годах, когда я начинал работать на Уолл-стрит, ветераны часто повторяли одну фразу: «Рынок либо трендовый, либо боковой, а ты либо трейдер тренда, либо контртрендовик. Выбери одно и молись, чтобы режим не сменился».
В этой старой мудрости скрыто глубокое понимание: рынок не имеет единой природы. Он переключается между качественно различными состояниями, как вода между твёрдым, жидким и газообразным. И каждое состояние требует своей логики.
Режим 1: Тренд
Трендовый рынок — это когда цена движется в одном направлении продолжительное время, а колебания вокруг основного движения относительно невелики. Классический пример — американский фондовый рынок с 1982 по 2000 год: долгосрочный бычий тренд, прерываемый лишь короткими коррекциями.
В трендовом режиме работают стратегии следования за трендом (trend following): прорывы, скользящие средние, каналы. Психология здесь проста: страх упущенной выгоды (FOMO) и стадное поведение создают самоподдерживающееся движение. Трейдеры, которые пытаются «ловить вершины» и торговать против тренда, в этом режиме несут убытки.
Но тренд не вечен. Он заканчивается, когда импульс истощается, когда появляются новые участники с противоположными взглядами, или когда макроэкономические условия меняются.
Режим 2: Флэт (боковик, консолидация)
Флэт — это диапазон, в котором цена колеблется между поддержкой и сопротивлением, не совершая направленного движения. Такой режим может длиться месяцами или даже годами (японский рынок после краха 1990 года провёл в боковике более двух десятилетий).
Во флэте стратегии следования за трендом умирают. Они входят на прорывах, которые оказываются ложными, и несут убытки от многократных «stop-outs». Зато здесь процветают контртрендовые стратегии: торговля от границ диапазона, осцилляторы, реверсии к среднему.
Флэт — это режим, который убивает новичков, пришедших после сильного тренда. Они пытаются торговать так же, как раньше, и разоряются, не понимая, что рынок изменил свою природу.
Режим 3: Хаос (высокая волатильность, кризис)
Хаотический режим — это когда рынок теряет структуру. Корреляции, работавшие годами, рушатся. Ликвидность исчезает. Цены совершают скачки, которые невозможно предсказать ни трендовыми, ни контртрендовыми моделями.
Примеры: октябрь 1987 года («чёрный понедельник»), крах LTCM в 1998, финансовый кризис 2008, «flash crash» 2010, март 2020 (COVID). В эти периоды большинство систематических стратегий терпят катастрофические убытки, потому что они построены на статистических закономерностях, которые в хаосе перестают существовать.
Интересно, что хаос — это не просто «шум». Это режим, в котором рынок становится чувствителен к начальным условиям в стиле теории хаоса. Небольшое событие (дефолт одного банка, приказ крупного продавца) может вызвать цепную реакцию, которая обрушивает весь рынок.
Три режима — тренд, флэт, хаос — это не жёсткие категории. Рынок может находиться в смешанных состояниях, может переключаться между ними внезапно или постепенно. Но ключевое, что нам нужно понять: оптимальная стратегия в одном режиме катастрофична в другом.
Почему прошлое перестаёт работать
Если рынок — это система с переключающимися режимами, то возникает фундаментальная проблема для традиционного подхода: вы не можете обучить стратегию на данных, которые включают только некоторые режимы, и ожидать, что она будет работать во всех.
В 2006 году, за два года до ипотечного кризиса, почти все модели оценки риска (Value-at-Risk, VaR) показывали, что вероятность крупных убытков ничтожна. Они обучались на данных, где не было жилищного пузыря и последующего краха. Когда кризис пришёл, VaR-модели оказались бесполезны — рынок вошёл в режим, которого они «не видели» в обучающей выборке.
Это проблема не только статистики, но и эпистемологии — теории познания. Карл Поппер, философ науки, утверждал, что научные теории никогда не могут быть подтверждены, только опровергнуты. В финансах это особенно остро: исторический успех не является доказательством будущей эффективности. Каждый новый день — это потенциальное опровержение.
Но почему же тогда индустрия десятилетиями полагалась на бэктесты? Потому что существовало негласное допущение, что рынки достаточно стационарны, чтобы прошлое было ориентиром. Это допущение, как мы теперь знаем, ошибочно. Рынки эволюционируют, потому что:
1. Участники учатся. Когда стратегия становится известной, она перестаёт работать. Это называется *адаптивными рынками* (теория Эндрю Ло). Арбитражные возможности исчезают, как только их начинают эксплуатировать.
2. Меняется микроструктура. Переход от открытого outcry к электронной торговле, появление HFT, изменение правил бирж — всё это меняет статистические свойства цен.
3. Меняется макроэкономическая среда. Режимы процентных ставок, инфляции, глобализации создают долгосрочные сдвиги в поведении рынков.
4. Технологии меняют скорость. Алгоритмическая торговля ускорила реакции рынка. Паттерны, которые раньше развивались за дни, теперь схлопываются за минуты.
Эти факторы делают финансовые временные ряды нестационарными в строгом математическом смысле. Их среднее, дисперсия, автокорреляция, корреляция с другими активами — всё это меняется во времени.
Адаптивность против стабильности
Перед каждым, кто строит торговые системы, встаёт экзистенциальный выбор: стремиться к стабильности (создать стратегию с фиксированными правилами, которая выдерживает время) или к адаптивности (стратегию, которая перестраивается вместе с рынком).
Классическая школа количественного анализа, особенно в академической среде, тяготеет к стабильности. Идея: найти «фактор» или «аномалию», которая является устойчивой во времени и на разных рынках. Такие факторы действительно существуют — например, momentum (импульс) или value (недооценённость). Но даже они переживают периоды глубоких просадок (value пережил худшее десятилетие в истории после 2008 года). Стабильность относительна.
Практическая школа, особенно проп-трейдинг и хедж-фонды, делает ставку на адаптивность. Системы, которые перекалибруются ежедневно или еженедельно, подстраиваясь под текущий режим. Но адаптивность несёт риск переобучения к текущему режиму и запаздывания при смене режима.
Дилемма напоминает знаменитую проблему «исследование-эксплуатация» (exploration-exploitation) в обучении с подкреплением: вы можете либо использовать то, что работает сейчас (эксплуатация), либо пробовать новое, чтобы быть готовым к будущему (исследование).
В финансах эта дилемма усугубляется тем, что сам акт адаптации меняет рынок. Если все перестраиваются на трендовую стратегию, тренды усиливаются, а потом резко разворачиваются, когда позиции становятся переполненными.
Я предлагаю смотреть на это не как на выбор «или-или», а как на синтез. Устойчивая философия (например, следование за трендом) может оставаться неизменной, но её реализация — параметры, фильтры, управление риском — должна адаптироваться. Walk-Forward анализ, который мы подробно разберём в следующих главах, как раз и является методом, который позволяет сохранить стабильность философии при адаптивности реализации.
Ограничения классических моделей
Чтобы окончательно понять необходимость нового подхода, давайте рассмотрим, на что способны и на что не способны классические модели, которые доминировали в финансах последние полвека.
1. Модели на основе нормального распределения
В 1900 году французский математик Луи Башелье в своей диссертации «Теория спекуляций» предположил, что цены активов следуют броуновскому движению — случайному блужданию с нормально распределёнными приращениями. Эта модель легла в основу всей современной финансовой теории: портфельной теории Марковица, модели ценообразования опционов Блэка-Шоулза, CAPM.
Проблема: реальные доходности активов имеют «толстые хвосты» — экстремальные движения случаются гораздо чаще, чем предсказывает нормальное распределение. Бенуа Мандельброт, один из великих математиков XX века, ещё в 1960-х годах показал, что распределение доходностей лучше описывается устойчивыми распределениями Леви, которые имеют бесконечную дисперсию. Но финансовая индустрия продолжала использовать гауссиану, потому что она удобна. Цена этого удобства — систематическая недооценка риска «чёрных лебедей».
2. Модели линейной зависимости (ARIMA, VAR)
Классические эконометрические модели предполагают, что зависимость между прошлым и будущим линейна и стационарна. ARIMA (авторегрессия интегрированного скользящего среднего) стала стандартом для прогнозирования временных рядов.
Но финансовые рынки демонстрируют нелинейную динамику: режимы, пороги, точки бифуркации. Взаимосвязи между активами не постоянны: корреляции растут во время кризисов (явление, известное как «корреляционный крах»). Линейные модели просто не могут уловить эту сложность.
3. Модели на основе равновесия (CAPM, APT)
Теоретические модели, такие как CAPM (модель ценообразования капитальных активов), предполагают, что рынки находятся в равновесии, а доходность актива определяется его «бетой» — чувствительностью к рынку.
Но равновесие — это миф. Рынки постоянно находятся в процессе поиска равновесия, но никогда его не достигают. Поведенческие финансы показали, что цены определяются не только рациональными ожиданиями, но и эмоциями, когнитивными искажениями, ограничениями арбитража.
4. Модели машинного обучения без учёта нестационарности
В последнее десятилетие появилась волна «квантов», которые применяют нейронные сети, случайные леса и градиентный бустинг к финансовым данным. Без должной регуляризации и учёта нестационарности эти модели — чемпионы по переоптимизации. Они прекрасно работают на истории, где есть чёткие паттерны, но терпят крах, когда распределение данных меняется.
Рынок как эволюционирующая экосистема
Если мы хотим создать стратегии, которые выживают в долгосрочной перспективе, нам нужно изменить ментальную модель. Вместо того чтобы думать о рынке как о физической системе с неизменными законами, полезнее представить его как экосистему, где виды (участники) конкурируют, адаптируются, эволюционируют, вымирают.
В экосистеме нет стационарности. Популяции циклически растут и падают. Появляются новые ниши. Старые стратегии, которые были успешны десятилетиями, могут стать нежизнеспособными за год. Это не дефект системы; это её суть.
В такой экосистеме выживают не те, у кого есть «идеальная модель», а те, кто обладает мета-способностью: способностью быстро распознавать изменения и адаптироваться, не теряя дисциплины.
Это подводит нас к главной идее книги. Walk-Forward анализ — это не просто метод проверки стратегий. Это реализация эволюционного подхода к торговле. Вы не создаёте один раз навсегда зафиксированную модель. Вы создаёте процесс, который постоянно переоценивает себя, отбрасывает устаревшие паттерны, улавливает новые, сохраняя при этом ядро устойчивого преимущества.
Но прежде чем мы двинемся дальше, я хочу, чтобы вы почувствовали нестационарность не на уровне абстракции, а на уровне собственного опыта. Откройте график любого инструмента, которым вы торгуете. Разделите историю на десятилетия: 1990-е, 2000-е, 2010-е, 2020-е. Посмотрите на волатильность, на длину трендов, на частоту кризисов. Они отличаются? Они отличаются радикально. Это и есть нестационарность. И теперь, когда вы её увидели, вы больше не можете делать вид, что её не существует.
Часть II. Walk-Forward анализ: новая парадигма
До сих пор мы двигались по пути отрицания. Мы разобрали анатомию бэктеста, увидели, как переоптимизация превращает код в ловушку, и признали, что финансовые рынки — это нестационарная, эволюционирующая система. Мы словно хирурги, которые сначала исследуют болезнь, прежде чем сделать разрез.
Теперь настало время перейти к главному: к методу, который превращает понимание нестационарности в инженерное преимущество. Этот метод называется Walk-Forward анализ. Он не просто «ещё один способ тестирования». Это смена парадигмы — переход от статического взгляда на историю к динамическому, адаптивному подходу, который отражает саму природу рынков.
В этой части мы разберём Walk-Forward от интуиции до архитектуры, от выбора параметров до «сшивания» торговой кривой. Вы узнаете, почему этот метод стал золотым стандартом в количественных финансах и как он позволяет отделить устойчивые стратегии от статистических артефактов.
Глава 4. Суть Walk-Forward подхода
Интуиция: «скользящее окно» принятия решений
Представьте, что вы капитан корабля, который пересекает океан. У вас есть карта, составленная сотни лет назад, но вы знаете, что океан меняется: течения смещаются, появляются новые отмели, даже береговая линия не остаётся неизменной. Ваша стратегия: вы не полагаетесь слепо на старую карту. Вместо этого вы каждую неделю опускаете лот, измеряете глубину, фиксируете течение, обновляете свои знания о местности. И только потом прокладываете курс на следующую неделю.
Walk-Forward анализ — это тот же принцип, применённый к финансовым рынкам. Вы не строите стратегию один раз на всех исторических данных и не ожидаете, что она будет работать вечно. Вместо этого вы создаёте процесс, который повторяет цикл:
1. Обучайтесь на последнем известном отрезке истории (in-sample).
2. Проверяйте на следующем, ещё не использованном отрезке (out-of-sample).
3. Сдвигайте окно и повторяйте.
В результате вы получаете не одну кривую доходности, а серию последовательных out-of-sample результатов, «сшитых» в единую линию. Эта линия показывает, как стратегия реально вела бы себя, если бы вы перекалибровывали её с определённой периодичностью, используя только ту информацию, которая была доступна на момент принятия решения.
Интуиция проста: прошлое учит нас, но не связывает. Мы используем историю для обучения, но проверяем себя на будущем, которое становится прошлым только после того, как мы его прошли. Это имитация реальной торговли, где каждый день приносит новые данные, а не позволяет нам заглядывать вперёд.
Отличие от классического тестирования
Классический подход (один бэктест на всех данных) напоминает студента, который готовится к экзамену, имея перед собой ответы. Он может идеально «сдать» тест, но не понимает предмета. Walk-Forward — это экзамен без ответов, который принимают каждую неделю.
Различия можно свести к нескольким ключевым пунктам:
| Классический бэктест | Walk-Forward анализ |
| Использует все данные для оптимизации | Использует только in-sample окно для оптимизации |
| Проверка на отдельном out-of-sample отрезке (часто в конце) | Многократная проверка на множестве out-of-sample отрезков |
| Одна кривая доходности | Серия «сшитых» out-of-sample результатов |
| Статическая модель | Динамическая, перестраиваемая модель |
| Подвержен data snooping | Устойчив к data snooping (при правильной архитектуре) |
| Не даёт информации о стабильности во времени | Даёт распределение результатов по периодам |
Наиболее важное отличие — в философии валидации. Классический подход проверяет, может ли стратегия объяснить прошлое. Walk-Forward проверяет, может ли процесс обучения и адаптации генерировать устойчивое преимущество в будущем. Это разница между «знанием истории» и «способностью учиться».
Когда Walk-Forward необходим, а когда — нет
Как и любой инструмент, Walk-Forward не является панацеей. Есть области, где он критичен, и области, где он избыточен или даже вреден.
Walk-Forward необходим, когда:
- Стратегия имеет параметры, которые нуждаются в регулярной калибровке. Если ваша система использует скользящие средние, пороги волатильности, веса факторов — она требует периодической перенастройки. Walk-Forward позволяет найти оптимальную периодичность и проверить, насколько калибровка устойчива.
- Рынки, на которых вы торгуете, демонстрируют явную нестационарность. Форекс, сырьевые товары, криптовалюты — всё это классические примеры сред с меняющимися режимами. Walk-Forward помогает отделить долгосрочное преимущество от временных аномалий.
- Вы используете методы машинного обучения. Нейронные сети, случайные леса, градиентный бустинг — все они склонны к переоптимизации. Walk-Forward с регуляризацией и кросс-валидацией — единственный способ оценить их реальную предсказательную силу.
Walk-Forward не нужен (или нужен в упрощённой форме), когда:
- Стратегия не имеет параметров. Если ваша система основана на неизменных правилах, не требующих калибровки (например, «покупай первый рабочий день месяца»), то Walk-Forward не добавит информации. Но даже здесь полезно проверить устойчивость во времени.
- Вы торгуете на очень длинных горизонтах (инвестирование, а не трейдинг). Долгосрочные портфельные стратегии, основанные на фундаментальных факторах, могут тестироваться на вне выборочных периодах, но частый Walk-Forward может привести к излишней ротации.
- Объём данных ограничен. Если у вас всего 2–3 года данных, разбиение на множество окон оставит слишком мало данных для обучения. В этом случае лучше использовать простую out-of-sample проверку с учётом ограничений.
Важно: решение о применении Walk-Forward должно приниматься до того, как вы увидите результаты. Если вы сначала сделаете классический бэктест, а затем, увидев плохие результаты, начнёте «улучшать» с помощью Walk-Forward, вы снова впадёте в data snooping. Методология должна быть определена априори.
Визуализация процесса
Чтобы по-настоящему понять Walk-Forward, полезно представить его визуально.
Представьте временную шкалу от 2010 до 2024 года. Вы выбираете:
- Длину обучающего окна (in-sample window) — например, 3 года.
- Длину тестового окна (out-of-sample window) — например, 1 год.
- Шаг сдвига — например, 1 год.
Процесс выглядит так:
[--- IS 2010-2012 ---] [--- OOS 2013 ---]
[--- IS 2011-2013 ---] [--- OOS 2014 ---]
[--- IS 2012-2014 ---] [--- OOS 2015 ---]



