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

Данная стратегия будет тестироваться методом «тестирования шагом вперед» («walk-forward testing») из-за высокой внутридневной волатильности рынка акций. Характер внутридневного движения цены постоянно изменяется из-за экономических новостей, других событий и настроений участников. Кроме того, на характер внутридневного рынка оказывают влияние сезонные факторы, приближение выходных, праздников и так далее. По этим причинам результаты тестов, проведенных на внутридневном масштабе три месяца назад, сегодня могут быть уже не репрезентативны. Более подробная информация по поводу тестирования «шагом вперед» и его использовании при анализе описываемой стратегии представлена на врезке «Как правильно тестировать торговые системы»

Лучшими будем считать те параметры, которые приносят наибольшую чистую прибыль в сочетании с минимальным размером просадки и наименьшим размером максимального убытка по одной сделке. Кроме того, результаты должны быть стабильными, то есть размеры прибыли, количество выигрышных сделок и глубина просадок не должны изменяться значительно при варьировании параметров на небольшую величину по сравнению с их оптимальными значениями. Другими словами, результаты работы системы при использовании nhi, равного 10 барам, должны быть близки к результатам тестирования при значениях данного параметра, равных 9 или 11 барам. Кроме того, лучшими могут считаться только те параметры, при которых максимальное число убыточных сделок подряд не превышает 4.

Практическое использование

Перед тем как использовать эту систему в реальной торговле, следует провести еще как минимум 10 тестов и проверок на «данных не из образца», чтобы убедиться в том, что результаты, полученные в нашем исследовании, не были случайными.

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

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


Как правильно тестировать торговые системы

Важным вопросом при разработке любой торговой системы является то, насколько хорошо эта система будет работать на данных, которые не использовались при ее оптимизации, то есть на новых данных или «данных не из образца» (out-of-sample data). Если говорить коротко, то без тестирования на «данных не из образца» нам остается только надеяться, что в будущем система даст результаты, близкие к тем, которые она показала на исторических данных.

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

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

Тестирование системы прорыва шумового канала по методу «шаг вперед» (walk-forward) проводилось следующим образом: сначала была проведена оптимизация параметров системы на пятиминутных графиках за четырехнедельный тестовый период с 21 февраля по 23 марта. Оптимальные значения параметров системы (то есть количество баров, за которые определяется минимум или максимум и величина шумового фильтра) были определены путем перебора ряда значений для каждого из них. На данной стадии разработки системы единственный смысл полученных оптимизированных параметров состоит в том, что при их использовании система является «подогнанной» под конкретный участок исторических данных настолько, насколько это возможно. Однако без дальнейшего тестирования на «данных не из образца» невозможно сказать, будет ли система работать аналогичным образом и в будущем.

Следующим этапом разработки системы стало ее тестирование с оптимизированными параметрами на участке «данных не из образца», следующим за отрезком, на котором проводилась оптимизация (с 26 по 30 марта). Затем этот процесс был повторен: участок оптимизации был сдвинут на неделю вперед (попав на период с 28 февраля по 30 марта), параметры системы были заново подогнаны под него, а затем использованы при тестировании на новом участке «данных не из образца» со 2 по 6 апреля. Важный момент, касающийся тестирования «шагом вперед», о котором мы пока не упоминали: если невозможно получить хорошие результаты на участках «данных не из образца», результаты использования системы при реальной торговле будут носить случайный характер.

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

Лишь тестирование на «данных не из образца», то есть тестирование на ценовых данных, не участвовавших в определении параметров системы, может свидетельствовать об устойчивости системы и ее способности давать хорошие результаты в реальной торговле.

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

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

Содержание раздела