Walk-forward-анализ: следующие окна и скрытое будущее

Скользящий форвард-анализ (walk-forward analysis) повторяет выбор параметров на предыдущем окне и проверку на следующем периоде, затем сдвигает границы по времени. Результаты последующих проверок объединяют по заранее заданным правилам расходов и повторной оптимизации. Это оценка процедуры, которая не устраняет подгонку автоматически и не является тестом реального счета.

Сдвиг выбора и следующего теста

Предположим, параметры выбираются на данных января–марта, а проверяются в апреле. Затем выбор проводится на феврале–апреле, проверка — в мае. Каждое следующее испытание использует уже выбранные параметры; результаты апреля и мая объединяются по записанному протоколу.

Когда апрель завершился, он может войти в следующее окно выбора перед маем, если именно так устроено заранее записанное правило. Это не разрешение задним числом менять процедуру ради улучшения уже просмотренного апрельского результата. Задайте границы, частоту пересчета, ограничения параметров, расходы и способ объединения результатов.

Просмотренный тест становится частью выбора

В исходном вымышленном случае параметры выбираются на барах 1–100 и оцениваются на 101–120. Если после просмотра 101–120 изменить правила ради этого участка, тестовые данные уже использованы при выборе. Новая версия требует более позднего окна оценки по письменной процедуре. Улучшенный результат на тех же 101–120 нельзя называть нетронутой проверкой вне выборки.

Повторными изменениями можно подогнать не только параметры, но и всю процедуру. Само название walk-forward эту проблему не отменяет.

Разделение по времени

На узком экране прокрутите схему вправо; с клавиатуры перейдите Tab к рамке и нажмите стрелку вправо.

Сначала выбор на предыдущем окне, затем проверка зафиксированных параметров на следующих данных, затем сдвиг без использования будущего теста.
Просмотр теста и изменение правил создают новую версию метода; исходная геометрия трех этапов сохранена.
  1. Предыдущее окно: выбирайте параметры по письменной процедуре.
  2. Следующий тест: фиксируйте параметры и оценивайте последующие данные.
  3. Сдвиг: повторяйте, не используя будущий тест при выборе.

Отличие от одной исторической проверки

Обычный бэктест может оценивать одну историческую выборку. Скользящая процедура передвигает окна выбора и последующей оценки. Отдельная функция Forward в MT5 выделяет более позднюю часть заданного периода; одна такая пара окон еще не задает все повторные шаги, расходы и правила объединения. Сходство результатов не гарантирует будущую прибыль.

Скрытое будущее внутри целевой величины

Дополнительный вымышленный пример проверяет скрытое использование будущего. Пусть отбор использует наблюдения с номерами 1–100, а тест начинается с бара 101. Для каждого обучающего наблюдения i целевая величина рассчитывается по пяти следующим барам i+1…i+5. Тогда метка для i=100 использует бары 101–105 — уже из теста. Одной непересекающейся нумерации исходных наблюдений недостаточно. Чтобы в этом заданном случае ни одна обучающая метка не использовала бар после 100, оставьте в обучающей выборке наблюдения с номерами 1–95: метка для наблюдения 95 заканчивается на баре 100. Наблюдения 96–100, всего 5, исключаются из выбора; остается 95 обучающих наблюдений, а тест 101–120 содержит 20 баров. Это исправляет только данную пятибарную конструкцию меток. Размер промежутка нужно выводить из способа формирования целевой величины и доступности данных, а не выбирать пять как универсальное правило. Предобработка, перенос позиций и выбор всей процедуры требуют отдельных проверок.

В scikit-learn параметр gap исключает заданное число наблюдений с конца обучения перед тестом. Разделитель сам не знает, из каких будущих цен построена ваша метка. Документация также требует равномерных расстояний между наблюдениями для сопоставимых длительностей тестовых частей; последовательные опубликованные валютные даты не обязательно имеют одинаковый календарный интервал. Здесь проверяются только условные номера баров, а не доходности.

Не менять проверку после просмотра результата

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

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

Проверьте понимание

Выбор параметров использует бары 1–50. Какое окно может быть следующим непересекающимся тестом?

Ответ и объяснения без JavaScript

Правильный ответ: 51–60

40–55

Часть этого окна уже использована при выборе: бары 40–50.

1–50

Это повторная оценка тех же баров, на которых подбирали параметры.

51–60

Каждый бар следует после окна выбора. Для реального метода также проверяются доступность признаков, метки и остальные зависимости.

Источники и пределы применения

  1. QuantConnect: скользящая оптимизация и ее частота

    29 октября 2026 прочитаны строки 768–776: повторный выбор по предыдущему окну, расписание и риск подгонки. Код стратегии и его торговые результаты не запускались и не используются как доказательство доходности.

  2. scikit-learn: хронологические разбиения TimeSeriesSplit

    29 октября 2026 прочитаны строки 633–678 и 724–738: хронологический порядок, предпосылка равномерных наблюдений, max_train_size/test_size/gap и пример пропуска. Дополнительная метка с горизонтом 5 — наша условная конструкция, не проверка выполненного sklearn-кода.

  3. MetaTrader 5: оптимизация и последующая проверка

    29 октября 2026 прочитаны строки 143–146 и 440–457: выделение поздней части периода и проверка результатов оптимизации. Это функция платформы, а не готовая универсальная скользящая процедура или гарантия будущей прибыли.

Условные месяцы и номера баров, без фактических цен, заявок, стратегии, статистики прибыли или запуска MT5/sklearn/LEAN. Пятибарный горизонт — явно заданная новая учебная предпосылка. Одно разбиение не проверяет доступность данных, все виды утечки или будущее исполнение; язык не определяет страну и доступность услуг.

Учебные последовательности

Отметки общих терминов учитываются в нескольких последовательностях; сброс одной последовательности удаляет эти общие отметки и из других.

От плана к тестированию автоматизации

Сопоставьте платформу и правила исполнения, разделите тестовые выборки и оцените допущения о риске.

Шаг 10 / 12 · Отметки доступны при включенном JavaScript.

Посмотреть всю последовательность

Для сохранения отметок включите JavaScript.