Бэктестинг и форвард-тестирование: важность корреляции

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

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

Основы бэктестинга

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

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

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

Оптимизационные исследования

Многие торговые платформы также позволяют проводить исследования по оптимизации. Это влечет за собой ввод диапазона для указанного ввода и предоставление компьютеру возможности «вычислить», чтобы выяснить, какой ввод сработал бы лучше всего. Оптимизация с несколькими переменными может выполнять математические вычисления для двух или более переменных, чтобы определить, какие комбинации дали бы наилучший результат.

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

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

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

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

Данные в выборке и данные вне выборки

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

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

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

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

Корреляция относится к сходству между характеристиками и общими тенденциями двух наборов данных. Метрики корреляции могут использоваться при оценке отчетов об эффективности стратегии, созданных во время периода тестирования (функция, предоставляемая большинством торговых платформ). Чем сильнее корреляция между ними, тем выше вероятность того, что система будет хорошо работать при форвардном тестировании производительности и торговле в реальном времени.

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

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

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

Основы прямого тестирования производительности

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

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

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

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

Суть

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

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