Как осуществить ручное тестирование торговой стратегии
В этой статье мы рассмотрим принципы тестирования торговой стратегии перед применением ее на реальном торговом счете. Статья будет интересна опытным трейдерам, которые хотят улучшить свою торговую стратегию или построить новую с нуля, а также начинающим трейдерам, который владеют базовыми понятиями и имеют некоторый опыт торговли, хотя бы на демо счетах.
Зачем нужно тестирование
Для того чтобы убедиться в том, что та или иная торговая стратегия достойна вашего внимания, необходимо провести тестирование. Его можно провести вручную, даже если вы не обладаете навыками программирования.
Рассмотрим принципы тестирования на примере среднесрочной торговой концепции (пробой уровня и отбой от уровня поддержки или сопротивления), которая изучалась в рамках курса «Трейдинг. Успешный старт» на самой популярной валютной паре EURUSD на дневном таймфрейме с 2007 по 2015 год включительно. В данной статье я продемонстрирую, какие результаты вы можете получить в процессе тестирования и объясню логику его проведения.
Для качественного тестирования потребуется время, поэтому стоит запастись терпением. Необходимо собрать входные данные и провести ручное тестирование, либо можно создать торговый робот, который проведёт тестирование за вас.
Второй вариант, естественно, более предпочтителен. Но мы рассмотрим в качестве примера именно ручное тестирование, чтобы убедиться в том, что даже не обладая навыками программирования, можно провести качественное тестирование и получить набор данных, позволяющих сделать максимально взвешенные выводы относительно вашей торговой концепции.
Сбор данных
Проводя тестирование, мы будем условно отматывать график в прошлое, рассматривая актуальные уровни поддержки сопротивления, и далее постепенно листать график вперед, рассматривая все возможные точки входа в рынок, анализируя потенциальные сигналы на пробой или отбой.
Полученные данные мы будем заносить в такую таблицу:
Первый столбец – это название финансового инструмента, в нашем случае, EURUSD.
Второй столбец – направление входа. Если формируется сигнал на пробой или на отбой, вверх на повышение, указываем в столбце «В» «long», то есть – длинная позиция, на покупку. Если возможен вход на понижение, указываем «short», то есть – позиция на понижение.
Дата – это время, когда формируется сигнал на повышение или на понижение. Риск в пунктах – это риск в пунктах для каждой из этих сделок.
Для исследования мы рассмотрим все возможные варианты сделок:
- пробои;
- отбои с установкой «стоп-приказа» по ближайшему уровню поддержки или сопротивления;
- отбои с установкой «стоп-приказа» по еще не сформировавшемуся уровню поддержки или сопротивления (более агрессивный подход, который, тем не менее, часто позволяет получить более привлекательное отношение прибыли к рискам).
Дата в столбце «Е» – это время выхода из рынка, когда сформировался соответствующий сигнал.
Точку выхода из рынка с убытком мы будем определять как точку, когда цена обновляет отметку, где находился «стоп-приказ».
«Прибыль в пунктах» – это прибыль в пунктах каждой отдельной сделки – прибыль или убыток соответственно.
Столбец «G» – максимальная плавающая прибыль, которая формируется в сделке.
Рассмотрим для примера сделку номер 1. В ней зафиксирована прибыль в размере 300 пунктов. Максимальная плавающая прибыль в этой сделке составляет 650 пунктов. То есть почти в 2 раза больше зафиксированного результата.
Учитывать данный параметр нужно для того, чтобы определить оптимальное отношение потенциала прибыли к рискам для данной торговой стратегии – чтобы понять, насколько объективным является выбранное отношение профит/лосс. Какие сделки можно закрывать по данной валютной паре, торгуя на пробой? Какую цель можно назвать объективной?
Ответы на эти вопросы кроются в анализе статистики. Это, конечно, не даст идеального ответа на вопрос, каким должен быть тейкпрофит, в каждой отдельной сделке, но позволит сопоставить адекватный среднестатистический тейк-профит с целью, установленной по уровням поддержки/сопротивления. Это позволит понять не завышены ли наши ожидания и какой по счету уровень поддержки или сопротивления можно считать адекватной целью.
Мы намеренно не ставим тейкпрофит по данным позициям, и подразумеваем, что они закрываются, только когда тренд разворачивается. Если мы получим оптимальное значение профит/лосс для каждой из этих торговых тактик, мы сможем быть максимально объективными при постановке целей с учетом уровней поддержки и сопротивления.
Столбец «I» – это отношение максимальной плавающей прибыли, которая была зафиксирована внутри сделки к рискам. То есть то же самое, что профит/лосс, если бы мы закрыли сделку в наилучшей точке из всех возможных.
Столбец «J» – это тип сделки, где 1 – это пробой, 2 – это торговля на отбой, то есть классический отбой с установкой «стоп-приказа» по ближайшему сформировавшемуся уровню поддержки или сопротивления, а 3 – это торговля на отбой с установкой «стоп-приказа» на основании несформировавшегося уровня поддержки или сопротивления, то есть агрессивный отбой от уровня.
Столбец «К» – это использование отчетов CFTC, показывающих, насколько каждая из этих сделок соответствует мнению крупных участников рынка.
Но «0» означает, что данная сделка не соответствовала мнению крупных участников рынка. «1» означает, что сделка открывалась в том направлении, в котором уже наращивали позиции крупные игроки, спекулянты.
Столбец «К» заполняется для того, чтобы понять, насколько отчеты о сделках крупных трейдеров (СОТ) помогают в среднесрочной торговле на рынке, если говорить об использовании отчетов CFTC на протяжении многих лет.
Начало тренда – следующий столбец, который означает номер пробоя или номер отбоя внутри данного тренда. Например, 1 означает, что вход осуществляется в самом начале тренда. Это первый пробой или первый отбой в рамках конкретного тренда, то есть начало тренда. Если мы видим значения, скажем, 5, 4, то это означает, что сигнал формируется в точках, близких к завершению этого направленного движения рынка.
Повторный вход в рынок подразумевает ситуации, когда мы вновь открываем позиции, если наши сделки на отбой были выбиты каким-либо движением. Например, если была открыта позиция на отбой на покупку, рынок резко двинулся вниз, сделка была выбита по стоп-лосс, сформировался новый сигнал на отбой в этом же направлении, и данный сигнал на повышение стал бы повторным входом в рынок.
Целью заполнения данного столбца является желание определить, насколько актуальны или неактуальны, с точки зрения среднесрочной торговли на рынке, повторные входы при торговле на отбой от горизонтальных уровней поддержки и сопротивления.
«ATR» – это значение индикатора ATR для пары евро-доллар в каждой отдельной сделке, которая открывалась на рынке.
Столбец «О» – это «высадка пассажиров». Подразумевает, что нас выбивало из рынка, а потом рынок продолжал двигаться в том направлении, в котором мы предполагали. Такие ситуации встречаются, и застраховаться от них, торгуя со стоп-приказом, не представляется возможным. Их стоит учитывать, чтобы понять не происходит ли подобное часто. Если да, то, возможно, стоит пересмотреть принципы установки стоп-лосс.
Обработка статистики
Собрав статистику, мы можем приступить к её обработке. Проще всего осуществлять подобную обработку в Excel или в его аналоге – электронных таблицах Google Docs.
На основании собранной информации по EURUSD была получена следующая статистика:
В нашем случае обработка статистики проводиться в правой части, как продолжение таблицы на изображении 1.
Изначально мы могли определить, чему именно равняется отношение показателя профит/лосс в каждой отдельной сделке, получить среднее значение для пробоев, для отбоев, посмотреть на число убыточных сделок и на общее число сделок.
Эта информация является чрезвычайно важной для дальнейших исследований, целью которых является определение рациональности использования правил управления капиталом и рисками в торговле, определение того, как именно меняется статистика торговли при использовании динамического расчета риска на сделку, определение наилучших дополнительных фильтров при открытии позиции.
Итак, средний профит/лосс для торговли на пробой и на отбой без фильтров равняется 1,96. Получено это отношение прибыли к рискам на основании выхода из рынка при развороте тренда, пробое уровня поддержки во время бычьего рынка, или уровня сопротивления на медвежьем рынке.
Убыточных сделок, если открывать все сделки подряд, не ограничивая их по максимально возможному риску, не применяя каких-либо фильтров, в этом случае получается 71%.
Всего с 2007 по 2015 год включительно «открыто» 464 сделки. Из них на пробой – 38% сделок, среди которых 63% убыточных, среднее значение профит/лосс – 1,56. То есть среднее значение соотношения прибыли/риск для сделок на пробой, если входить во все пробои без исключения, составляет примерно 1,5. Не 2, не 3, не 4, а 1,5.
При этом средний профит/лосс при открытии позиции на отбой составляет 2,32. При этом на отбой 76% сделок являются убыточными, и от общего числа на отбой было открыто 62% сделок.
Со стандартным «стоп-приказом», то есть со «стоп-приказом» на основании ближайших сформированных уровней поддержки и сопротивления, средний профит/лосс составляет 1,63 против среднего отношения профит/лосс в 3 для отбоев с коротким «стоп-приказом». Убыточных сделок со стандартным «стопом» – 71%, убыточных сделок с коротким «стопом» – 80%, поэтому изначально я упоминал что торговля на отбой с коротким стопом является более агрессивной.
Понятно, что с таким количеством убыточных сделок и таким низким соотношением профит/лосс добиться качественного результата будет весьма проблематично. Получение этой информации было одной из целей такого исследования.
Проведённое исследование доказывает, что торговать все сделки подряд — не самая лучшая идея. Это вполне логично, но теперь у нас есть статистическое подтверждение данной идеи. Необходимо выбирать только качественные сделки, которые могут привести к максимальному отношению прибыли к рискам с наибольшей вероятностью. Для этого необходимо использовать фильтры о которых я вкратце упоминал в этой статье — искать вход в начале тренда, а также не открывать позицию со значительным стопом или в ситуациях когда цена уже прошла значительное расстояние.
Данная статья отражает некторые идеи 13-го занятия онлайн курса «Трейдинг. Успешный старт».
В дальнейшем к данному набору сделок будут применены дополнительные фильтры для улучшения качества сделок, которые могут использоваться на любых рынках и финансовых инструментах и будут описаны в следующей статье.