В сети интернет в наши дни нет недостатка в информации, скорее наоборот — непроверенная, неверная информация создает целую проблему для трейдеров. Люди теряют кучу времени и сил на торговлю системами, которые не заслуживают затраченных на них усилий. И вот вы решили проверить найденную в сети популярную ТС, которая считается среди трейдеров очень прибыльной. Эта статья поможет вам тщательно протестировать вашу систему на предмет устойчивости и быть уверенным, что получившийся робот выдержит все рыночные шторма.
Что это значит? Для нашей торговой системы это означает продолжать эффективно торговать при разных рыночных условиях, адаптироваться к их изменению. Такая система должна содержать четкую и строгую торговую логику, при этом гибко адаптирующуюся к любым рыночным условиям, а ее параметры не должны быть слишком жесткими. Иными словами — ваша система должна быть прочной.
Что такое прочность
На рисунке ниже изображена тихоходка. Это самое живучее существо на Земле, которое переживет даже конец света. Эти дальние родичи раков и насекомых смогли бы выжить в открытом космосе и размножаться там при полной невесомости, без пищи и воды. Им не страшны смертельные дозы радиации, падение крупных астероидов, взрывы сверхновых звезд и гамма-вспышки.
Прочность торговой системы – это ее способность оставаться эффективной на разных рынках и при разных рыночных условиях. Есть несколько типов прочности ТС: прочность по рабочему периоду, сезонная прочность, прочность по фазе рынка, прочность по инструментам, оптимизационная прочность, прочность по параметрам, прочность по портфелю. Далее мы все рассмотрим подробно.
Прочность по фазе рынка
Строго говоря, существует два типа фаз рынка – общий и стратегический. Общий тип определяется наличием тренда и уровнем волатильности инструмента.
Если торговая система на тестах проходит любые стадии рынка, ее можно считать прочной по отношению к фазам рынка. Это самый важный тип прочности — ведь если система будет хорошо работать в тренде, но сливать все заработанное во флете, то в такой системе будет немного смысла. На картинке ниже вы можете видеть шесть условных фаз рынка, для которых стоит провести тесты вашей системы.
Второй тип рыночных фаз – стратегический. Он связан с внешней и внутренней политикой тех стран, которые образуют валютную пару и его влияние подчас очень велико. Банальный пример – Швейцарский франк, который очень сильно изменился после того, как Швейцарский национальный банк существенно понизил процентные ставки и отказался от курсового лимита 1,20 за евро, который он ввел в сентябре 2011 года в попытке предотвратить дефляцию и дальнейшее удорожание валюты.
В идеале, конечно, система не должна терять деньги ни на одной из рыночных фаз, но такое случается крайне редко. Поэтому максимальная задача тут – терять на какой-то из фаз сравнительно немного. Значит ли то, что если ваша система не прочна по рыночным фазам, то стоит от нее отказываться? Конечно нет, ведь существует масса систем, спроектированных именно для торговли в конкретной фазе. Самое важное в исследовании эффективности вашей торговой системы относительно рыночных фаз – определить фазы, в которых торговать по ней крайне нежелательно и в будущем воздержаться от торговли в подобные периоды или же переключиться на более подходящие к текущей фазе торговые системы.
Сезонная прочность
Сезонная прочность – это способность системы оставаться одинаково эффективной независимо от сезонных эффектов, возникающих на рынках. В принципе, можно было включить сезонную устойчивость в группу устойчивости по фазам рынка, но я выделил ее отдельно.
Сезонные эффекты, повторяющиеся из года в год, несомненно существуют на рынках. Связаны они чаще всего с экономическими явлениями, естественным поведением людей, особенностями государственных экономик. Так, например, ввиду того, что в США нефть используется для получения энергии, спрос на неё существенно увеличивается в зимний период, то есть когда наступают сильные морозы в Северной Америке. Нефть действительно тесно связана с долларом, а значит все сезонные аномалии нефти отражаются и на долларе, и, как следствие, на большинстве валютных пар.
Но сезонность бывает еще и менее краткосрочной. Подчас в торговой статистике находятся очень интересные аномалии, например, очень низкая эффективность работы системы по понедельникам или в определенные часы суток. Также нередко неудовлетворительная работа системы приходится на начало или конец месяца.
В большинстве случаев все эти аномалии легко объяснимы. Например, рынки более активны в определенное время суток и менее активны в другое, что связано с открытием и закрытием определенных торговых площадок по всему миру. Все вы знаете, что в Азиатскую торговую сессию торги наиболее спокойные. Или, например, все знают, что в первую половину первой пятницы месяца торговля проходит особенно тихо из-за приближающихся Non-Farm Payrolls.
Все эти закономерности можно легко отследить в myfxbook или любой оффлайн программе для анализа статистики. Вашей задачей в данном случае является выявление таких моментов и учет их в дальнейшей работе. При этом следует помнить, что сезонные эффекты нестабильны и со временем они то появляются, то пропадают. Связано это с тем, что рыночные участники постоянно пытаются использовать те или иные сезонные закономерности в свою пользу и это, конечно же, влияет на общую картину.
Например, с середины 2016 года очень хорошо работали ночные скальперы, но на данный момент мы наблюдаем довольно высокую для такого времени суток волатильность, что делает работу ночных скальперов уже не настолько эффективной. Пройдет еще немного времени и эффективность применения подобных стратегий совсем сойдет на нет и люди перестанут ими пользоваться. Тогда рынок, вполне вероятно, спустя некоторое время снова обнаружит эту неэффективность и снова люди ринутся пользоваться ей, пока все не повторится по кругу.
Прочность по рабочему периоду
Торговая система остается прочной по периоду, если на разных таймфреймах торгуется эффективно. Тут может быть два варианта – либо наша стратегия работает фрактально, либо просто при снижении периода остается малочувствительной к рыночному шуму.
Понятие «фрактал» имеет множество различных значений, я же в данном случае имею ввиду самоподобие. То есть, когда в основу системы заложена некая фигура или паттерн, который одинаково хорошо работает на любом периоде. Примером могут служить волны Эллиотта – считается, что их можно использовать на любом периоде.
Вообще подобных торговых систем очень мало, поэтому чаще всего нам больше подходит второй вариант, когда система малочувствительна к шуму. Считается, что чем ниже период, тем больше шума и сложнее торговать. Поэтому у каждой торговой системы есть некий минимальный порог, минимальный таймфрейм, на котором система все еще остается вполне эффективной.
И наша задача тут сводится к определению этого минимального периода и торговле именно на нем, ведь чем меньше период, тем больше торговых возможностей, больше сделок и выше прибыль. К тому же вместе со снижением таймфрейма снижается и уровень стоп лосса, а значит можно гибче управлять рисками и просадки будут ниже и короче. Если ваша система одинаково хорошо работает на Н4 и на Н1, но на М30 уже плохо, однозначно нужно выбирать Н1.
Но здесь, как и везде, важно вовремя остановиться. Если ваша система хорошо торгует и ниже периода Н1, например, на М15, нужно быть особо внимательным, так как при тестах на столь малых периодах существует множество факторов, способных существенно исказить итоговый результат.
Если же ваша система не прочна по таймфреймам, это не очень страшно. Важно лишь определить период работы, на котором система максимально прочна к фазам рынка.
Прочность по инструментам
Торговая система прочна по инструментам, когда показывает положительные результаты на широком круге торговых инструментов. Тот факт, что ваша система одинаково хорошо торгует и EURUSD, и USDCHF, и AUDUSD, и USDJPY означает, что вы нашли глобальную неэффективность на рынке. А она как огромный алмаз – так же прочна, как и редка. По факту большинство стратегий не имеют такого типа прочности, работая эффективно на одних инструментах и почти ничего не зарабатывая или даже теряя на других.
Поэтому вместо того, чтобы пытаться создать универсальную систему, подходящую для любого инструмента, стоит сосредоточить свои усилия на поиске неэффективности на конкретном инструменте. Пусть у вас лучше будет множество систем, каждая из которых отлично подходит для пары-тройки валютных пар, чем одна, торгующая так себе, но на всех.
Оптимизационная прочность
Торговая система считается прочной по оптимизации, когда ее параметры на форвард тесте остаются в пределах параметров, полученных на периоде оптимизации. Наверняка многие из вас пробовали оптимизировать советники. Нередко бывает так, что тот или иной форекс робот показывает отличные результаты на периоде оптимизации, но подобрать подходящие настройки, которые проходят период форвард теста — оказывается проблемой.
В этом контексте все, что мы можем сделать – всегда использовать форвард тестирование для избежания подгонки под историю и следить, чтобы параметры системы на форвард тесте не сильно отклонялись от параметров системы в период оптимизации. В случае, если система никак не проходит форвард тест, стоит отказаться от ее применения на конкретной валютной паре.
Для более основательного решения этой проблемы придумали такой прием, как Walk Forward Optimisation. Его суть заключается в том, чтобы разбить всю историю на куски определенным образом, как показано на рисунке:
То есть мы проводим оптимизацию на куске А, затем проводим форвард тест, повторяем на втором куске В и так далее. Основная цель этого замысловатого упражнения состоит в том, чтобы проверить, как ведет себя система на неизвестной ей «территории». Если система на всех кусках форвард тестов показала статистику, похожую на полученную при оптимизации, значит система прочна по оптимизации и вероятность подгонки ее параметров под историю довольно мала.
Прочность по параметрам
ТС считается прочной по параметрам, если небольшое изменение параметров системы (в пределах 10-20%) не приводит к фатальным последствиям. Иначе говоря — если вы изменили период скользящей средней в вашей системе с 24 на 20 и она слила депозит — то ее нельзя считать прочной по параметрам.
Если такое происходит, то такая ТС будет очень чувствительна к подгонке настроек под историю. И пользоваться такой стратегией не стоит — велика вероятность потерь на реальном счете.
Практическое применение этого знания состоит в следующем. Вы можете легко прогнать оптимизацию каждого параметра системы и посмотреть, насколько сильно его изменение влияет на результаты. После выявления всех таких параметров провести их общую оптимизацию и посмотреть на результат. Если большая часть результатов (от 50-70%) оказалась прибыльной, то все нормально. Если большая часть наборов настроек сливает, то, скорее всего, эта система слишком чувствительна к изменениям настроек и ее стоит либо попытаться модифицировать, либо выкинуть.
При работе с MetaTrader 4 вы можете на вкладке «График оптимизации» переключиться на режим «Двухмерная поверхность» и оценить распределение двух выбранных величин:
На рисунке выше система с хорошей прочностью по выбранным параметрам. Каждый прямоугольник – это соотношение двух параметров. Чем выше прибыль на наборе настроек, тем более глубокий зеленый цвет имеет прямоугольник. Результаты распределены по всей площади довольно плавно. При изменении настроек изменение прибыльности происходит также довольно плавно.
При взгляде на эту поверхность стоит воспринимать ее как топографическую карту. Чем зеленее цвет, тем выше находится прямоугольник относительно нулевой доходности. Вот как это может выглядеть в 3D:
Ось Net Return – общая прибыль, является высотой. Остальные две оси – оптимизируемые параметры, в данном случае периоды скользящей средней. Самые высокие точки на этом графике на поверхности из предыдущего примера выглядели бы, как одиночные прямоугольники глубоко зеленого цвета. И это оптимизационная поверхность плохой системы. А вот хорошая система:
Тут пики уже не имеют такой острой формы, а более равномерно распределены в пространстве. Про такие еще говорят плоские пики.
В данном контексте ваша основная задача – проверить, все ли пики на оптимизационной поверхности вашей системы являются плоскими. В противном случае это грозит переоптимизацией и подгонкой под рынок.
Есть еще один, более надежный, но и более трудоемкий способ, предложен Ван Тарпом. Его суть сводится к подсчету так называемого числа качества системы, определяемого по формуле:
Average (of the N Profit&Loss) – средняя сделка по системе,
Std Dev (of the N Profit&Loss) – стандартное отклонение от средней сделки,
N – общее количество сделок в тесте.
Таким образом — для каждой комбинации из двух изучаемых параметров нужно просчитать SQN и выявить среднее значение SQN. Считается, что значение должно быть не ниже 2,5. У вас должно получиться что-то вроде этого, если использовать табличку для анализа результатов:
При использовании цветового форматирования ячеек видно, насколько плавно распределяются результаты, какие комбинации параметров оптимальные и насколько система вообще устойчива к изменениям выбранных параметров.
Небольшая хитрость – чтобы не считать этот параметр вручную, вы можете вычислять его в функции OnTester(), а затем, после оптимизации, брать готовые значения с вкладки «Результаты оптимизации» из столбца «Результат OnTester».
Заключение
Этой статьей я познакомил вас с основными типами устойчивости или прочности торговых систем. При соблюдении этих рекомендаций ваши стратегии будут показывать лучшие результаты, или, как минимум, вы значительно снизите вероятность потерь. Описанные критерии прочности являются далеко не единственными для отбора профитной ТС, к слову.
По правде сказать — это только один из критериев, но он самый важный. Он не поможет вам отобрать самую лучшую и самую прибыльную стратегию. Но, руководствуясь всеми приемами в приведенной статье, вы сможете отобрать самые стабильные, самые живучие ТС, которые, как тихоходки, будут иметь максимально возможный запас прочности и будут вас радовать прибылью очень долгое время.
Успехов и до новых встреч!
С уважением, Дмитрий аkа Silentspec
TradeLikeaPro.ru