Обложка: Бэктестирование, форвардное и пошаговое форвардное тестирование

Бэктестирование, форвардное и пошаговое форвардное тестирование: в чём разница?

Кевин Дж. Дэйви

Бэктестирование, форвардное тестирование и walk-forward-анализ (пошаговое тестирование вне выборки) помогают оценивать торговые стратегии. Прежде чем выбрать метод, стоит разобраться, как он работает и какие преимущества и риски у него есть.

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

Для алгоритмических стратегий я предпочитаю пошаговое форвардное тестирование. Но сначала разберём все три метода.

Что такое бэктестирование?

Бэктестирование проверяет торговые правила на исторических данных. Алгоритм получает прошлые цены и формирует сделки по заданным правилам; результаты симуляции позволяют оценить стратегию.

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

Что такое форвардное тестирование?

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

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

Что такое пошаговое форвардное тестирование?

Пошаговое форвардное тестирование (walk-forward testing) — разновидность исторического теста. При правильном применении оно помогает избежать многих недостатков обычного бэктестирования. Результаты получают на исторических данных «вне выборки»: параметры стратегии на этих участках заранее не подбирали.

Преимущества бэктестирования

За короткое время можно проверить множество комбинаций параметров и рыночных условий прошлого. При достаточном объёме данных это помогает разрабатывать устойчивые торговые системы и оценивать соотношение риска и потенциальной доходности.

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

Преимущества форвардного тестирования

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

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

Преимущества пошагового форвардного тестирования

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

Как сочетать три метода

При разработке стратегии полезны и проверка на истории — в том числе пошаговая, — и последующее форвардное тестирование.

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

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

До начала любого теста определите допустимые пределы риска. Это важно независимо от выбранного метода.

Почему я выбираю пошаговое форвардное тестирование

В чём главное различие между традиционным бэктестом и пошаговой проверкой «вне выборки»? При обычной оптимизации параметры подбирают на всём массиве исторических данных. Затем выбирают лучшие значения и начинают торговать с ними. На истории может получиться красивая кривая капитала — иногда даже неправдоподобно красивая. Но в будущем столь же хорошие результаты встречаются редко. Именно такие бэктесты часто показывают в рекламе недобросовестные продавцы торговых систем.

При пошаговом методе параметры оптимизируют на одном участке данных, а затем применяют к следующему, ещё не использованному для настройки. Результаты каждого такого участка «вне выборки» по очереди входят в итоговую оценку. Поскольку стратегия проверяется на данных, под которые её не подгоняли, этот результат лучше указывает на возможное поведение в будущем.

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

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

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

Схема ниже показывает разницу между традиционной оптимизацией и пошаговой проверкой. «ВВ» обозначает участок данных вне выборки, «Торг.» — последующую торговлю с выбранными параметрами.

Сравнение традиционного бэктестирования и пошагового форвардного тестирования

Об авторе. Кевин Дэйви — частный трейдер фьючерсного, валютного и сырьевого рынков с опытом более 30 лет. Три года подряд он занимал первое или второе место в годовом конкурсе торговли на реальные деньги, показывая доходность свыше 100% за год. Он написал Building Algorithmic Trading Systems: A Trader’s Journey From Data Mining to Monte Carlo Simulation to Live Trading и ещё пять книг об алгоритмической торговле, а также ведёт обучающий курс Strategy Factory.

Переведено для TLAP.

Как вы проверяете стратегию перед запуском: ограничиваетесь историей или оставляете отдельный участок данных «вне выборки»? Сравните подход автора с материалом TLAP о том, как понять, что советник устарел, а для собственной проверки возьмите исторические котировки. Для ручной проверки торговой идеи на истории можно попробовать симулятор рынка TLAP. В обсуждении можно поделиться тем, какие результаты у вашей системы оказались ближе к реальной торговле.