Out-of-sample и walk-forward простыми словами
Out-of-sample и walk-forward — два метода, которые превращают бэктест из самообмана в честную проверку. Разбираем простыми словами.
Out-of-sample и walk-forward — два метода, которые превращают бэктест из самообмана в честную проверку. Звучит технически, но идея простая: проверять стратегию на данных, которых она «не видела». Разбираем простыми словами.
Out-of-sample простыми словами
Разделите историю на две части. На первой (in-sample) настраиваете стратегию. Вторую (out-of-sample) прячете и используете только для финальной проверки. Если стратегия работает и на второй части, которую не видела при настройке, — это серьёзный аргумент за её устойчивость. Если результат резко падает — вы имели дело с подгонкой. Важное правило: в out-of-sample нельзя «подсматривать» и докручивать параметры, иначе он перестаёт быть честным и превращается в ещё один in-sample.
Walk-forward простыми словами
Walk-forward — это многократный out-of-sample по скользящему окну. Настраиваете на отрезке, проверяете на следующем; сдвигаете окно вперёд и повторяете по всей истории. Так вы имитируете реальный процесс: периодическую перенастройку и проверку на будущем. Это ближе к тому, как стратегия жила бы в реальности, где вы тоже время от времени пересматриваете настройки, а не замораживаете их навсегда.
Плюсы и ограничения
Плюс: оба метода резко снижают риск принять переоптимизацию за рабочую стратегию. Ограничения: нужны достаточные данные, чтобы делить их на части; методы усложняют процесс; они уменьшают, но не устраняют неопределённость будущего. Итоговую проверку всё равно даёт форвард-тест на демо.
Как это выглядит на практике
Есть три года истории. Первые два вы отдаёте под настройку, третий трогаете только в самом конце. Стратегия на «спрятанном» годе показывает результат заметно скромнее, но в том же направлении — это хороший знак устойчивости. Если бы на третьем годе она развалилась, вы бы знали: успех на первых двух был подгонкой. Числа условны, проверяйте на своих данных, но логика деления важнее конкретных цифр. Частая ловушка на этом шаге — «одноразовость» проверки: out-of-sample честен ровно один раз. Как только вы посмотрели на него, не понравился результат, докрутили параметры и посмотрели снова — этот кусок данных перестал быть независимым и превратился в ещё один участок настройки.
Частые ошибки
- Оптимизировать на всей истории, не оставив данных для честной проверки
- Подглядывать в out-of-sample и докручивать параметры под него
- Делить данные так, что в проверочную часть попадает только один тип рынка
- Считать хороший out-of-sample гарантией — форвард-тест всё равно нужен
Итог
Out-of-sample и walk-forward — это проверка стратегии на данных, которых она не видела: лучший доступный способ поймать самообман переоптимизации. Применяйте их перед реальными деньгами. Инструменты с их поддержкой — в нашем каталоге.
Две процедуры и разница между ними
Проверка вне выборки устроена просто: история делится на две части, параметры подбираются на первой, результат проверяется на второй. Вторая часть не участвует в подборе ни разу — в этом весь смысл. Если результат на ней сопоставим с первой, закономерность вероятна; если хуже в разы, вы описали особенности первого периода.
Walk-forward — та же идея, применённая многократно и со сдвигом. История делится на серию окон: на первом подбираются параметры, на следующем проверяются, затем окно сдвигается, параметры подбираются заново на новых данных и снова проверяются на следующих. Получается серия независимых проверок вместо одной.
Практическая разница существенна. Однократная проверка вне выборки отвечает на вопрос, работала ли стратегия на конкретном втором отрезке. Walk-forward отвечает на более важный вопрос: работает ли процедура периодической перенастройки — то есть можно ли эту стратегию поддерживать в реальности, где параметры приходится обновлять.
Из walk-forward получается и практический ответ о частоте перенастройки. Если результат держится при пересчёте раз в квартал, вы знаете регламент обслуживания стратегии. Если требуется ежемесячная подстройка, стратегия неустойчива, и в реальности вы будете постоянно опаздывать за рынком.
Типичные ошибки в обеих процедурах одинаковы. Первая — подглядывание: посмотреть результат на проверочной части, вернуться и «чуть поправить» параметры. После этого проверочная часть перестаёт быть независимой, и вся процедура превращается в обычную оптимизацию с лишними шагами.
Вторая ошибка — слишком короткие окна. Проверочный отрезок с десятью сделками не даёт статистики, и результат на нём случаен. Ориентир — не меньше тридцати сделок в каждом проверочном окне, иначе walk-forward даёт красивую процедуру без содержания.
Как провести проверку правильно
- Разделите данные до начала подбора и зафиксируйте границу.
- Не смотрите на проверочную часть до окончания оптимизации.
- В каждом проверочном окне должно быть не меньше тридцати сделок.
- Сравнивайте не доходность, а ожидание на сделку и просадку.
- Из walk-forward выведите регламент перенастройки: раз в квартал, полгода, год.
- Форвард-тест у своего брокера остаётся обязательным после обеих процедур.
И про честность к себе, без которой процедура не работает. Соблазн подсмотреть результат на проверочной части и «немного поправить» параметры возникает всегда. Единственная защита — зафиксировать границу выборки письменно до начала подбора и считать проверочную часть недоступной, как чужие данные.
И про то, что процедура не гарантирует результата. Она отсеивает подгонку, но не превращает слабую идею в рабочую: стратегия без преимущества провалит проверку вне выборки, и это правильный исход, а не повод искать другую процедуру. Ценность метода именно в отказах — он экономит месяцы работы с идеями, которые не работают.
И про размер выборки, без которого процедура превращается в ритуал: если во всей истории набирается меньше двухсот сделок, делить её на окна бессмысленно — в каждом окне окажется статистический шум, и любой вывод будет случайным.
Как организовать проверку на своих данных
Практический минимум: разделите историю на две части и настраивайте только на первой. Вторую не открывайте до момента проверки — именно это условие чаще всего нарушают, подглядывая в отложенную часть и незаметно подстраивая параметры под неё. После такого подглядывания отложенная выборка перестаёт быть независимой и проверка теряет смысл.
Более строгий вариант — последовательные окна: настройка на отрезке, проверка на следующем, сдвиг вперёд, повтор. Итог собирается только из проверочных отрезков и показывает, как система работала бы при регулярной перенастройке — то есть так, как вы и будете её эксплуатировать. Дополнительно стоит записать, насколько сильно менялись оптимальные параметры от окна к окну: сильные скачки означают, что устойчивой закономерности нет, даже если суммарный результат положителен. Это часто более информативный вывод, чем сама итоговая кривая.
Частые вопросы
Как делить историю?
Часто большую часть под настройку, меньшую — под проверку; главное — не трогать проверочную до конца.
Walk-forward обязателен?
Желателен, если данных хватает; он ближе к реальному процессу перенастройки.
Хватает ли данных?
Если после деления в каждой части мало сделок, выводы будут шаткими — берите больше истории.
Это заменяет демо?
Нет, финальную проверку даёт форвард-тест на демо-счёте.
Материал носит образовательный характер и не является индивидуальной инвестиционной рекомендацией (не ИИР).
Материал носит информационный характер и не является индивидуальной инвестиционной рекомендацией. Редакционная политика