Тестирование советника (начинающему трейдеру).
Существуют различные подходы к тестированию советников. У каждого трейдера, наверняка выработался свой подход к тестированию механических торговых систем. Данная статья будет полезна начинающим трейдерам, у которых еще не сложилось собственное мнение по поводу методов тестирования.
Во время разработки механической торговой системы, как правило, проводится оптимизация системы, подбор параметров, добавление различных условий и фильтров. Это обычная практика среди трейдеров использующих именно механические торговые системы. Затем, обязательно, проводится тестирование советника.
Самый распространенный способ среди трейдеров - новичков это тестирование на всей имеющейся в наличии истории котировок. Потому, как считается, что чем больше промежуток, на котором тестируется система, тем лучше.
Оптимизировав систему на всей доступной трейдеру истории, он, тем самым, лишаем себя возможности провести так называемый тест «out-of-sample», т.е. когда система прогоняется на исторических данных, которые не участвовали в оптимизации. Проверку на работоспособность системы в этом случае трейдеру приходится проводить на демо-счете в режиме реального времени.
У данного способа есть свои плюсы и минусы. Из плюсов можно выделить то, что для оптимизации используется наибольшее количество баров имеющейся в наличии истории. А чем больше период тестирования советника, тем больше сделок он совершит за этот период. Ну а чем больше сделок, тем выше достоверность результатов.
Минус только один – отсутствие возможности у трейдера проверить работу системы на исторических данных, которые не принимали участия в оптимизации.
Возможно, многие опытные трейдеры скажут, что тест «out-of-sample» нужно, для абсолютной достоверности, проводить на демо-счете в реальном времени, и будут правы. Но, такое тестирование потребует много времени – несколько месяцев или даже лет, для начинающего трейдера, как впрочем, и для трейдера со стажем, это просто не реально. И при этом, после такого тестирования, трейдер, возможно, получит отрицательный результат, а время потеряно. Чтобы этого не случилось, лучше пользоваться вторым методом тестирования.
Чтобы воспользоваться вторым методом тестирования системы, трейдеру необходимо разбить всю имеющуюся историю на два отрезка – длинный и короткий. На длинном участке проводится оптимизация и настройка системы. На коротком участке, проводится тестирование “out-of-sample”. Длинный участок содержит примерно 80-90% от всей имеющейся истории котировок. Каждый трейдер сам решает для себя какую часть истории и для чего использовать.
Принцип тестирования очень прост – сначала, на длинном участке проводим оптимизацию системы. Получив результаты, выбираем наиболее достоверные (о том, как их выбирать, можно прочитать в статье «Какие результаты оптимизации выбрать») и запускаем тестирование системы на том же длинном участке. Таким образом, мы получаем значения всех показателей системы – прибыль, профит-фактор, просадка, количество сделок и т.д., которые, собственно и описывают поведение системы на истории.
Теперь, прогоняем эту же систему на втором - коротком промежутке, который не участвовал в настройке системы (собственно этот тест и называется “out-of-sample”). Протестировав систему таким образом, трейдер получит новые показатели системы – прибыль, профит-фактор, просадка и т.д.
Все, что остается теперь, это сопоставить, то, как вела себя система на длинном участке, где происходила настройка системы, и то, как она ведет себя на коротком промежутке при тестировании “out-of-sample”. При этом система должна показывать примерно одинаковые результаты. Если хоть один параметр системы значительно хуже, то можно считать, что она нерабочая или же проводить дополнительные тесты на предмет достоверности.
Многие трейдеры возразят, что сравнивать результаты тестов, которые проводились на промежутках истории разной длины не совсем корректно. Так оно и есть, ведь длинная часть истории содержит в себе различные виды или типы рынка: нисходящий тренд, восходящий тренд, флэт и др. В то время, как короткая часть “out-of-sample”, скорей всего содержит только один из этих типов.
Для того, чтобы корректно сравнить результаты трейдеру необходимо выбрать из большей части участок равный периоду теста «out-of-sample» и сравнить эти результаты. Система будет считаться работоспособной, только в том случае, если результаты теста «out-of-sample» будут не хуже результатов любого из выбранных трейдером периодов.
Трейдер всегда может провести дополнительные, более сложные исследования, чтобы подтвердить или опровергнуть работоспособность системы. Но на начальном этапе достаточно описанного выше тестирования, тем более что он достаточно прост в использовании и трейдер любого уровня сможет им воспользоваться.
Один важный совет напоследок:
Как бы хорошо трейдер не протестировал свою систему на истории, он никогда не может быть на 100% уверен в том, что на реальном рынке его система будет вести себя так же как и при тестировании. Поэтому всегда, прежде чем начать торговать по системе, трейдер должен определиться с критериями остановки торговли по ней. Самый простой критерий – просадка, если система на реале позволила себе просадку большую, чем во время тестов, то необходимо немедленно остановить торговлю. Такое простое правило позволит начинающему трейдеру избежать потери своего депозита.
С Уважением.
Смирнов П.В.