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

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

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

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

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

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

Не станем залезать в дебри технических индикаторов и заумных формул, а возьмем простую и очень логичную систему, основанную на ценовом канале (Price Channel).

Торговать будем только Long (длинные позиции).
Покупать будем, когда рынок закрывается выше двадцати дневного (месячного) максимума.
Продавать, когда рынок закрывается ниже середины ценового канала.
В Амиброкере нет встроенного индикатора ценового канала, поэтому для начала напишем его формулу.
Top = Ref(HHV(H, 20), -1);
Bot = Ref(LLV(L, 20), -1);
Mid = (Top+Bot)/2;
Plot(Top, "Top", colorRed);
Plot(Bot, "Bot", colorRed);
Plot(Mid, "Mid", colorRed);

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

Однако для того, чтобы протестировать эту стратегию необходимо описать для Амиброкера её правила и объяснить, как мы их собираемся использовать.
Top = Ref(HHV(H, 20), -1);
Bot = Ref(LLV(L, 20), -1);
Mid = (Top+Bot)/2;

Buy = Cross(C, Top);
/* покупка когда цена закрытия пересекает верхнюю линию ценового канала снизу вверх */
Sell = Cross(Mid, C);
/* продажа когда цена закрытия пересекает среднюю линию ценового канала сверху вниз */

Вставляем этот код в Formula Editor и жмем Send to Automatic Analysis (AA) (передать в автоматический анализатор). Попадаем в окно АА.
Откроем график акции, на которой будем тестировать стратегию. Пусть это будут обыкновенные акции РАО ЕЭС (EESR). Далее необходимо сделать соответствующие настройки, которыми «объяснить» Амиброкеру, как именно мы собираемся применять эти правила.

Далее идем в настройки (Settings)

Закладка General


Устанавливаем

Закладка Trades


Торгуем только длинные позиции и поэтому нас интересует только блок Long
Исполняем сделки по цене открытия, поэтому в полях Buy price и Sell price устанавливаем Open, а поскольку исполнение сделки происходит на следующий день (на следующем баре) после поступления сигнала, Buy delay и Sell delay (задержку исполнения) ставим 1.

Закладка Stops


Стопы не используем, везде ставим disable

Закладка Report

На этой закладке можно сделать установки в соответствии со своими предпочтениями.

Закладка Portfolio


Пока тестируем не портфельную торговлю, поэтому настройки на этой закладке можно игнорировать.
Единственное, на что необходимо обратить внимание – это на параметр Limit trade size as % of entry bar volume. Мы не собираемся учитывать ликвидность рынка и поэтому установим его 0. Таким образом, гарантированно избежим распространенной ошибки, когда в результате отсутствия в данных объемов тестер отказывается совершать сделки.

На этом подготовку к тестированию можно считать законченной и можно переходить непосредственно к процессу. Закрываем окно настроек AA

Жмем кнопку Back Test и сразу получаем вот такой список всех совершенных сделок.

Теперь можно посмотреть кривую роста нашего капитала. Для этого жмем кнопку Equity.

На этом графике зеленым цветом показан наш капитал, когда он свободен (деньги) и серым когда он связан купленными бумагами. Если связан не весь, то серым будет выделена только связанная часть капитала.
Внизу коричневым цветом показан график просадки нашего капитала. Если зайти в свойства графика (щелчок правой кнопкой и выбрать Parameters), то можно включить отображение длительности просадки (Show #Bars since last high) и линию регрессии графика изменения капитала (Show lin. reg.)
Можно вывести на график стрелки, отмечающие сигналы и сделки системы. Для этого надо щелкнуть правой кнопкой мыши на лист сделок и выбрать один из пунктов.

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

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

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




Удачи.