Трейдеры, которые хотят попробовать торговую идею на реальном рынке, часто делают ошибку, полагаясь исключительно на результаты тестирования на истории, чтобы определить, будет ли система прибыльной. Несмотря на то, что тестирование на истории может предоставить трейдерам ценную информацию, оно часто вводит в заблуждение и является лишь частью процесса оценки.
Тестирование вне образца и форвардное тестирование производительности дают дополнительное подтверждение эффективности системы и могут показать истинные цвета системы до того, как будут получены реальные деньги. Хорошая корреляция между результатами тестирования на основе, вне выборки и форвардного тестирования имеет жизненно важное значение для определения жизнеспособности торговой системы.
Основы тестирования на истории
Тестирование на истории относится к применению торговой системы к историческим данным, чтобы проверить, как система работала бы в течение указанного периода времени. Многие из современных торговых платформ поддерживают тестирование на истории. Трейдеры могут проверять идеи с помощью нескольких нажатий клавиш и получать представление об эффективности идеи, не рискуя средствами на торговом счете. Тестирование на истории может оценить простые идеи, такие как кроссовер скользящего среднего на исторических данных, или более сложные системы с различными входами и триггерами.
Пока идея может быть определена количественно, она может быть протестирована. Некоторые трейдеры и инвесторы могут обратиться за квалификацией к квалифицированному программисту, чтобы развить идею в тестируемую форму. Как правило, это подразумевает программирование, кодирующее идею на собственном языке, размещенном на торговой платформе. Программист может включать определяемые пользователем входные переменные, которые позволяют трейдеру «настроить» систему.
Примером этого может служить простая система пересечения скользящих средних, отмеченная выше: трейдер сможет вводить (или изменять) длины двух скользящих средних, используемых в системе. Трейдер может протестировать, чтобы определить, какие длины скользящих средних лучше всего подойдут на исторических данных.
Оптимизация Исследования
Многие торговые платформы также позволяют проводить оптимизационные исследования. Это влечет за собой ввод диапазона для указанного ввода и позволяет компьютеру «делать математику», чтобы выяснить, какой ввод был бы лучше всего. Многопараметрическая оптимизация может сделать математику для двух или более переменных, чтобы определить, какие комбинации достигли бы наилучшего результата.
Например, трейдеры могут сообщить программе, какие данные они хотели бы добавить в свою стратегию; затем они будут оптимизированы до идеального веса с учетом проверенных исторических данных.
Тестирование на истории может быть захватывающим в том смысле, что убыточная система часто может быть волшебным образом превращена в прибыльную машину с несколькими оптимизациями. К сожалению, настройка системы для достижения наибольшего уровня прибыльности в прошлом часто приводит к системе, которая будет плохо работать в реальной торговле. Эта чрезмерная оптимизация создает системы, которые хорошо выглядят только на бумаге.
Подгонка кривой - это использование аналитики оптимизации для создания наибольшего числа выигрышных сделок с наибольшей прибылью на исторических данных, использованных в период тестирования. Хотя это выглядит впечатляюще в результатах тестирования на истории, подгонка кривой приводит к ненадежным системам, поскольку результаты по сути разрабатываются специально для этих конкретных данных и периода времени.
Тестирование на истории и оптимизация предоставляют трейдеру множество преимуществ, но это только часть процесса оценки потенциальной торговой системы. Следующим шагом трейдера является применение системы к историческим данным, которые не использовались на начальном этапе тестирования на истории.
Данные в выборке по сравнению с данными в выборке
При тестировании идеи на исторических данных целесообразно зарезервировать период времени исторических данных для целей тестирования. Исходные исторические данные, на которых идея проверена и оптимизирована, называются данными в выборке. Набор данных, который был зарезервирован, известен как данные вне выборки. Эта настройка является важной частью процесса оценки, поскольку она предоставляет способ проверить идею на данных, которые не были компонентом в модели оптимизации.
В результате на идею не повлияют никакие данные за пределами выборки, и трейдеры смогут определить, насколько хорошо система может работать с новыми данными, т. Е. В реальной торговле.
Прежде чем начинать тестирование или оптимизацию, трейдеры могут выделить процент исторических данных, которые будут зарезервированы для тестирования вне выборки. Один метод состоит в том, чтобы разделить исторические данные на трети и выделить одну треть для использования в тестировании вне выборки. Только исходные данные должны использоваться для первоначального тестирования и любой оптимизации.
На рисунке ниже показана временная шкала, в которой одна треть исторических данных зарезервирована для тестирования вне выборки, а две трети используются для тестирования внутри выборки. Хотя на приведенном ниже рисунке показаны данные вне выборки в начале теста, типичные процедуры будут иметь участок вне выборки, непосредственно предшествующий ожидаемой производительности.
Временная шкала, представляющая относительную длину данных в выборке и вне выборки, используемых в процессе тестирования на истории. Изображение Джули Бэнг © Investopedia 2020
Корреляция относится к сходству между характеристиками и общими тенденциями двух наборов данных. Метрики корреляции можно использовать при оценке отчетов об эффективности стратегии, созданных в течение периода тестирования (функция, предоставляемая большинством торговых платформ). Чем сильнее корреляция между ними, тем выше вероятность того, что система будет хорошо работать при прямом тестировании производительности и реальной торговле.
На рисунке ниже показаны две разные системы, которые были протестированы и оптимизированы на данных выборки, а затем применены к данным вне выборки. Диаграмма слева показывает систему, которая была четко подогнана к кривой, чтобы хорошо работать с данными в выборке и полностью не работала с данными вне выборки. Диаграмма справа показывает систему, которая показала хорошие результаты как в данных, так и в выборке.
Две кривые эквити. Торговые данные перед каждой желтой стрелкой представляют собой тестирование в образце. Сделки между желтой и красной стрелками указывают на тестирование вне образца. Сделки после красных стрелок относятся к этапам прямого тестирования производительности.
Как только торговая система была разработана с использованием данных выборки, она готова для применения к данным вне выборки. Трейдеры могут оценивать и сравнивать результаты производительности между данными в выборке и вне выборки.
Если существует небольшая корреляция между тестированием в выборке и вне выборки, как, например, на левом графике на рисунке выше, вполне вероятно, что система была чрезмерно оптимизирована и не будет хорошо работать в реальной торговле. Если существует сильная корреляция в производительности, как видно на правой диаграмме, следующий этап оценки включает дополнительный тип тестирования вне выборки, известный как прямое тестирование производительности.
Основы тестирования производительности
Прямое тестирование производительности, также известное как торговля бумагами, предоставляет трейдерам еще один набор данных, выходящих за рамки выборки, для оценки системы. Прямое тестирование производительности - это симуляция реальной торговли и включает следование логике системы на реальном рынке. Это также называется торговлей на бумаге, поскольку все сделки выполняются только на бумаге; то есть входы и выходы из торговли документируются вместе с любой прибылью или убытком для системы, но реальные сделки не выполняются.
Важным аспектом прямого тестирования производительности является точное следование логике системы; в противном случае становится трудно, если не невозможно, точно оценить этот этап процесса. Трейдеры должны быть честными в отношении любых входов и выходов из торговли и избегать поведения, подобного сделкам по сбору вишни, или не включать в себя сделку на бумаге, объясняющую, что «я бы никогда не принял эту сделку». Если сделка произошла бы по логике системы, она должна быть задокументирована и оценена.
Многие брокеры предлагают симулированный торговый счет, на котором можно размещать сделки и рассчитывать соответствующие прибыли и убытки. Использование симулированного торгового счета может создать полуреалистичную атмосферу для практики торговли и дальнейшей оценки системы.
На рисунке выше также показаны результаты прямого тестирования производительности на двух системах. Опять же, система, представленная на левой диаграмме, не справляется с первичным тестированием данных в выборке. Однако система, показанная на правой диаграмме, продолжает хорошо работать на всех этапах, включая прямое тестирование производительности. Система, которая показывает положительные результаты с хорошей корреляцией между тестированием производительности в выборке, вне выборки и форвардным тестированием, готова к внедрению на реальном рынке.
Суть
Тестирование на истории - это ценный инструмент, доступный на большинстве торговых платформ. Разделение исторических данных на несколько наборов для обеспечения тестирования в выборке и вне выборки может предоставить трейдерам практические и эффективные средства для оценки торговой идеи и системы. Поскольку большинство трейдеров используют методы оптимизации при тестировании на истории, важно оценить систему на чистых данных, чтобы определить ее жизнеспособность.
Непрерывное тестирование с опережающим тестированием производительности обеспечивает еще один уровень безопасности, прежде чем вывести систему на рынок, рискуя реальными деньгами. Положительные результаты и хорошая корреляция между бэк-тестированием в выборке и вне выборки и форвардным тестированием производительности увеличивает вероятность того, что система будет хорошо работать в реальной торговле.