Бэктестинг на практике — поэтапный процесс проверки

Последняя проверка: · Долгосрочный вечнозелёный контент
Предупреждение о рисках · YMYL Эта статья носит исключительно образовательный характер и не является инвестиционной рекомендацией. Торговля на рынке Форекс сопряжена с высоким риском потери капитала — по данным ESMA, 74–89% розничных счетов теряют деньги.

Почти каждый, кто серьёзно относится к стратегии, проводит бэктест, но немногие следуют честному поэтапному процессу проверки — а именно он отделяет счёт, переживший первый год, от того, что обнулился на третий месяц. Этот материал проходит весь конвейер: чистую запись правил, выбор окна истории, разделение данных, walk-forward, демо и первый микро-лот вживую. Это не инструкция для одного теста, а дисциплина проведения стратегии от идеи до реального счёта.

Почему один бэктест — это не процесс

Один бэктест показывает число, которого вы не понимаете. Стратегия заработала тридцать процентов — но захватила ли она реальное преимущество, или вы прогнали триста комбинаций параметров, пока одна не подогналась под исторический шум? Само по себе число не отвечает на это. А процесс отвечает — постепенно лишая трейдера способности учиться на данных, по которым стратегию в итоге оценивают. Каждый этап — это сито с всё более мелкими ячейками. Один чистый тест описан в моём материале о том, как тестировать стратегию на истории; здесь я сосредоточусь на дисциплине, начинающейся задолго до первого нажатия Start.

Правила на бумаге, без интерпретаций

Стратегия, которую нельзя перевести в код или точный лист правил, не готова к тестированию. Запишите вход, выход, стоп-лосс (stop-loss), тейк-профит (take-profit) и размер позиции достаточно точно, чтобы второй человек, читающий документ, открыл идентичные сделки. «Покупаю, когда вижу тренд» — это впечатление, а не правило. Тестируемая версия: «покупать на закрытии дневной свечи, когда EMA(50) выше EMA(200), RSI(14) ниже семидесяти, цена касается двадцатипериодной средней сверху; стоп-лосс 1,5 ATR(14) ниже входа; цель 2,5 ATR выше; риск один процент». Эта дисциплина отсеивает большинство идей ещё до запуска теста.

Окно данных должно охватывать больше одного режима

Второй фильтр — история. Моё правило: минимум десять лет для дневных стратегий, пять для M30 и M15, два года для скальпинга на таймфреймах ниже M15 — из реальных тиковых данных, а не синтетической истории брокера. Последнее десятилетие вместило долгие тренды DXY (2014–2017), всплеск волатильности марта 2020 года, цикл повышения ставок (2022–2023) и консолидацию 2024 года. Стратегия, работающая лишь в одном из этих миров, — это иллюзия, подогнанная под одну эпоху. Менее сотни сделок за пять лет — слишком маленькая выборка: сто — это нижняя граница, профессионалы целятся в триста.

Разделение данных и защита блока out-of-sample

Третий этап забирает данные у самого себя. Разделите историю на семьдесят процентов IS для оптимизации и двадцать пять — тридцать процентов OOS, нетронутые до завершения оптимизации. OOS — это сито честности: оно показывает, имеют ли параметры, выбранные на обучающих данных, ценность за их пределами. Если IS даёт восемьдесят процентов винрейта и профит-фактор 2,4, а те же параметры дают пятьдесят процентов и 1,1 на OOS, вы только что поймали себя на подгонке под кривую. Двенадцать процентов годовых на IS и одиннадцать на OOS по-настоящему лучше, чем тридцать на IS и восемь на OOS. Стабильность, а не пик.

Walk-forward как самое тонкое сито

Одно разделение IS/OOS даёт одно число. Walk-forward повторяет его пять-семь раз: первое окно IS 2018–2021, OOS 2022; второе IS сдвигается на 2019–2022, OOS 2023; и так далее. Для каждого окна вы заново оптимизируете, замораживаете выигравшие параметры, тестируете на OOS, записываете результат, сдвигаете окно. После пяти-семи циклов средний OOS — это самый честный ориентир того, что даст реальный счёт. WFE в диапазоне 0,5–0,75 говорит о стратегии, достойной продвижения дальше; ниже 0,3 — это признание в подгонке под кривую. Механика и разница между скользящим и якорным вариантами разобраны в материале о walk-forward анализе; для более широкого контекста смотрите мастерскую трейдера на ForexMechanics.

«Вся суть walk-forward анализа в том, чтобы раскрыть результативность торговой стратегии в реальном времени и на реальных деньгах, не торгуя её при этом реальными деньгами в реальном времени». — Robert Pardo, The Evaluation and Optimization of Trading Strategies, Wiley, 2008

Демо и микро-лот вживую — где стратегия встречает реальность

Стратегия, прошедшая walk-forward, готова к демо, а не к реальным деньгам. Три-шесть месяцев форвард-теста с замороженными параметрами — это первая проверка поведения в реальном времени: живые спреды, фактические макрорелизы, гэп вечера воскресенья, реальная ликвидность в торговые часы. Демо извлекает то, что бэктест никогда не показывает: стратегия, признанная ликвидной на истории, может оказаться трудной для исполнения, потому что сигналы появляются, когда вы спите. Это проблемы не данных, а вас и вашего рынка.

После форвард-теста вы не переходите сразу к полному размеру. Вы продавливаетесь дальше микро-лотом — одна десятая целевого — три-шесть месяцев на реальных деньгах. Смысл информационный: чем живое исполнение отличается от демо, реальное проскальзывание, как ведёт себя брокер вокруг NFP и как вы реагируете на пусть скромные, но настоящие убытки. В таблице по этапам четыре столбца: IS, OOS, демо, микро-лот. Чем ближе сидят цифры, тем ниже риск того, что вы живёте в иллюзии. Более широкое расхождение — сигнал отступить, а не масштабироваться.

Иллюстративный пример — полный конвейер для пробойной стратегии

Пробойная стратегия на EUR/USD, M30: вход на пробое наивысшего максимума двадцати свечей, выход на наименьшем минимуме десяти. История 2014–2023, IS 2014–2020, OOS 2021–2023. Оптимизация на IS: двадцать три для максимума, одиннадцать для минимума, стоп-лосс 1,4 ATR, винрейт пятьдесят восемь процентов, профит-фактор 1,72, двадцать два процента годовых. На OOS: винрейт пятьдесят четыре процента, профит-фактор 1,51, восемнадцать процентов годовых. Пять итераций walk-forward дают средний WFE 0,71. Четыре месяца демо подтверждают на полпункта больше проскальзывания, чем предполагалось; винрейт и профит-фактор остаются в диапазоне. Микро-лот вживую с января даёт пятьдесят один процент через три месяца — ниже бэктеста, но всё ещё в плюсе. Третий квартал приносит решение: масштабироваться или подождать, если волатильность отклоняется от нормы. Цифры иллюстративны.

Что сделать завтра

  1. Запишите правила стратегии в обычный текстовый файл достаточно точно, чтобы другой человек, прочитав его, открыл идентичные сделки — без интерпретаций, без «я чувствую тренд», с точными значениями параметров, формулой стоп-лосса и размером позиции в процентах от капитала счёта.
  2. Загрузите исторические данные по паре, которой вы реально торгуете, — минимум десять лет для дневных графиков, пять для M30 и M15, два года настоящих тиковых данных для скальпинга; убедитесь, что выборка охватывает разные режимы, включая тренд, консолидацию, всплески волатильности и циклы ставок.
  3. Разделите данные на семьдесят процентов in-sample и двадцать пять — тридцать процентов out-of-sample, не трогайте OOS до завершения оптимизации IS, затем проведите пять-семь итераций walk-forward; если WFE оказывается ниже 0,5 или параметры скачут более чем на пятьдесят процентов между итерациями, упростите логику.
  4. Для стратегии, прошедшей walk-forward, проведите три-шесть месяцев форвард-теста на демо с замороженными параметрами, затем три-шесть месяцев микро-лота вживую; масштабируйтесь до целевого размера только когда четыре набора результатов согласованы, добавив рядом симуляцию Монте-Карло.
  5. Читайте результаты через призму стабильности, а не наивысшей доходности: двенадцать процентов годовых на каждом этапе лучше, чем тридцать на IS и восемь на OOS, потому что именно стабильность решает, переживёт ли счёт первый год; о преимуществе, которое проверяет этот процесс, смотрите поиск торгового преимущества.
Jarosław Wasiński
Об авторе

Jarosław Wasiński

Источники и библиография

  1. Robert Pardo The Evaluation and Optimization of Trading Strategies · klasyczny podręcznik o ewaluacji systemów transakcyjnych i metodyce walk-forward onlinelibrary.wiley.com ↗
  2. MetaQuotes MetaTrader 5 Help — Strategy Tester · oficjalna dokumentacja MT5 dotycząca Strategy Testera, forward testingu i optymalizacji parametrów www.metatrader5.com ↗
  3. MetaQuotes MetaTrader 4 Help — Strategy Testing · opis Strategy Testera MT4: parametry uruchomienia, modele tickowe, interpretacja raportu www.metatrader4.com ↗
  4. Backtrader Backtrader documentation — Introduction · wprowadzenie do otwartego silnika backtestowego w Pythonie używanego przez quants www.backtrader.com ↗
  5. TradingView Pine Script v6 — Welcome · oficjalna dokumentacja Pine Script i Strategy Testera w TradingView www.tradingview.com ↗

Часто спрашивают

Чем этот многоэтапный процесс отличается от одного бэктеста?

Один бэктест даёт одно число и одну интерпретацию. Он показывает, была ли стратегия исторически прибыльной, но молчаливо предполагает, что процесс оптимизации не выучил шум. Многоэтапный процесс превращает это одно число в последовательность сит. Сначала записанные правила отсеивают непроверяемые идеи. Затем длинное окно истории отсеивает стратегии, работающие лишь в одном режиме. Потом разделение на in-sample и out-of-sample отсеивает параметры, работающие только на обучающих данных. Walk-forward отсеивает параметры, работающие только в одном случайном вневыборочном окне. Демо отсеивает стратегии, которые невозможно исполнить на реальных спредах. Микро-лот вживую отсеивает трейдеров, которые не выдерживают психологически. После всех шести сит остаётся часть исходной группы стратегий, но именно эта часть имеет реальный шанс пережить первый год. Один бэктест не обеспечивает такого отбора, поэтому восемьдесят процентов розничных трейдеров теряют деньги, хотя восемьдесят процентов проводили какую-то историческую проверку.

Сколько времени занимает весь процесс от идеи до микро-лота вживую?

Реалистичный график занимает от девяти до пятнадцати месяцев — от первых записанных правил до масштабирования позиции до целевого размера. Первые две недели уходят на точную запись правил и загрузку исторических данных. Следующие две-четыре недели — на in-sample оптимизацию и первую out-of-sample проверку; если она не проходит, вы возвращаетесь к правилам, а не ищете лучший тест. Walk-forward с пятью-семью итерациями добавляет ещё месяц, потому что каждое окно требует собственной оптимизации. Далее три-шесть месяцев форвард-теста на демо-счёте. После этого ещё три-шесть месяцев торговли микро-лотом вживую. Только после сравнения четырёх наборов результатов и подтверждения их стабильности можно масштабироваться до целевой позиции. Сокращение графика ниже девяти месяцев означает пропуск одного из сит, а каждое пропущенное сито переносит риск с этапа проверки на этап реальной торговли, где он стоит настоящих денег.

Какие метрики отслеживать на этапах, чтобы поймать несогласованность?

В таблице, которую вы ведёте на протяжении процесса, должно быть четыре столбца результатов (in-sample, out-of-sample, демо, микро-лот вживую) и как минимум четыре строки метрик. Первая — винрейт (доля прибыльных сделок) в процентах: разрыв более десяти процентных пунктов между этапами сигнализирует о несогласованности. Вторая — профит-фактор, валовая прибыль, делённая на валовой убыток: разрыв более 0,3 между этапами — тревожный знак. Третья — среднее соотношение прибыли к риску: разрыв более 0,5 R указывает, что стоп-лосс ведёт себя иначе, чем в тесте. Четвёртая — максимальная просадка, которая почти всегда растёт от этапа к этапу, но рост более чем на пятьдесят процентов между двумя соседними этапами означает, что стратегия встречает условия, отсутствовавшие в тесте. Пятая, необязательная, — среднее проскальзывание в пунктах (pip): разница между бэктестом и демо, а также между демо и микро-лотом показывает, ведёт ли брокер себя в соответствии с допущениями. Несогласованность в любой из этих метрик — сигнал отступить на этап назад и понять её источник, а не масштабировать позицию.

Гарантирует ли прохождение всего процесса, что стратегия заработает вживую?

Нет. Каждый этап повышает вероятность того, что у стратегии есть реальное преимущество, но никакой набор исторических или форвард-тестов не убирает фундаментальный риск: рынок следующего квартала может оказаться непохожим ни на что, что вы видели в данных. Весь процесс молчаливо предполагает, что режим в out-of-sample окнах и на демо будет достаточно похож на режим реальной торговли. Если стратегия выучила рынок 2018–2023 годов с двумя всплесками волатильности и двумя циклами ставок, а торгует с 2024 года в долгом флэте с низкой волатильностью и меньшим числом значимых релизов, микро-лот вживую может показать результаты, далёкие от бэктеста. Поэтому дисциплина состоит не в том, чтобы полагаться лишь на чистое прохождение сит, а в том, чтобы удерживать микро-лот достаточно долго, чтобы сравнить результат на реальных деньгах с тремя предыдущими этапами. Дополнением служит симуляция Монте-Карло, которая случайным образом переставляет последовательность сделок и раскрывает распределение возможных кривых эквити — оценку худшего разумного сценария, которую один бэктест никогда не показывает.

Углубиться · полное руководство