Тестирование торговой системы

 

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

Ниже рассмотрены основные способы и правила тестирования торговых систем применяемые в настоящее время.

Backtesting или тестирование на исторических данных

Благодаря развитию компьютерных технологий, сегодня провести такого рода Backtesting может практически любой трейдер. Практически каждый современный торговый терминал обладает набором инструментов для такого рода тестирования. Не исключением является и торговый терминал MetaTrader4 (МТ4). В МТ4 для этих целей применяется инструмент под названием «Тестер стратегий».  Он позволяет протестировать создаваемую торговую стратегию на любом историческом интервале данных (если истории не хватает её всегда можно подгрузить). Для того чтобы воспользоваться этим инструментом необходимо сначала переложить тестируемую стратегию на язык понятный торговому терминалу (создать программный код). Для торгового терминала МТ4 это язык программирования MQL4.

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

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

Что такое оптимизация торговой системы и в чём её опасность

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

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

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

Подробнее об этом читайте в статье: Чем опасна оптимизация торговой системы.

Как избежать переоптимизации торговой системы

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

Во вторых для устранения негативного влияния оптимизации следует разделить временной интервал тестирования (не менее 3-х лет) на три части. С одними и теми же значениями параметров следует прогнать систему на каждом интервале в отдельности. В результате должны получиться три набора результатов торговой системы с высокой степенью корреляции между собой. Это означает, что система должна вести себя приблизительно одинаково на всех трёх временных интервалах. Проще говоря, взгляните на графики результатов тестирования, если они похожи (примерно одинаковый уровень наклона кривой прибыли с одинаковыми размерами просадок и пр.) то корреляция на достаточном уровне.

Тестер стратегий в МТ4
Тестер стратегий в торговом терминале МТ4

Paper trading или тестирование на текущих данных

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

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

Вывод

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

1.       Тестирование на исторических данных

2.       Тестирование в реальном времени

Первым делом испытайте ТС на истории. Убедитесь в том, что она в принципе обладает достаточным потенциалом прибыльности.

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

После этого в обязательном порядке протестируйте ТС на демо-счёте. Если это внутридневная система, то достаточно будет 2-4 недели тестирования. Для более долгосрочных ТС, соответственно, больше. Ни в коем случае не пренебрегайте этим этапом, именно он является определяющим во всей процедуре тестирования.

Только так можно быть уверенным в прибыльности тестируемой системы и смело начинать торговать по ней на реальном торговом счете.

InstaForex