Как понять, что советник устарел ?

Добрый день, дамы и господа форекс трейдеры !

Я часто слышу от новичков вопросы о том, зачем вообще нужен форвард тест при оптимизации, как оценивать полученные при тестировании и оптимизации результаты, как сравнивать результаты тестов и работы советников реал-тайм.

И самый главный вопрос: «Как понять что советник устарел, перестал работать как должен, и его пора снимать со счета ?»

Именно на эти вопросы я сегодня и постараюсь ответить.

Бэктесты и реальная торговля

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

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

Одним из этапов тестирования системы является ее оптимизация, в процессе которой робот адаптируется к историческим данным, чтобы добиться лучшего результата. Меняя значения различных параметров алгоритма, практически любую торговую систему можно заставить показывать плюс на заранее известном отрезке ценовой истории. При этом имеет значение количество используемых параметров: простую систему, использующую небольшое число переменных, оптимизировать сложнее, с введением же каждого дополнительного условия и параметра торговый результат можно улучшить. Однако растущая теоретическая доходность не говорит о том, что система становится лучше. Робот просто лучше подгоняется под исторические данные. Усложняя систему, можно добиться того, что на открытой истории она заработает на всех возможностях, но на рынке будет приносить лишь убытки.

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

Хорошая система должна показывать хоть какой-то положительный результат и без оптимизации, если же вся доходность достигается только за ее счет, то у роботописателя есть повод задуматься. В процессе оптимизации, на мой взгляд, не всегда стоит останавливаться на коэффициентах системы, при которых в течение бэк-тестинга достигается лучшая доходность. Если значение параметра очень близко к краю положительного диапазона (например, 7 при положительных результатах от 5 до 20), то имеет смысл сместить значение параметра ближе к середине.

Форвард-тесты

Что такое форвардный тест? Это тестирование параметров системы, полученное при оптимизации, на другой, отличной от оптимизационной, исторической выборке данных. Если объяснять на пальцах, то сначала мы подгоняем наши настройки под кусок истории, находя несколько лучших наборов (это и называется оптимизацией), а затем проверяем на более позднем куске истории, годятся ли все еще эти настройки или они уже не актуальны и советник с ними начал сливать. Многие новички пренебрегают форвард-тестированием. Надеюсь, я объяснил вам, почему пренебрегать этим не стоит.

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

В отличие от устоявшихся соображений, форвард тест — это не обязательно проведение проверки в тестере стратегий. Форвард можно проводить и в режиме онлайн на демо или маленьком реальном счете. У такого подхода есть и плюсы, и минусы. Основной минус состоит в том, что подобное тестирование занимает очень много времени. Плюсом же может служить то, что в данном случае показания теста максимально приближены к реальным показателям (по сути это и есть реальные показатели). То есть вы точно увидите, как ведет себя стратегия у этого брокера на данном типе счета.

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

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

Вторая цель теста – избежать переоптимизации параметров системы. Довольно часто при несоблюдении технологии оптимизации даже хорошая система может быть переоптимизирована. Случиться подобное может из-за наличия слишком большого количества правил и фильтров, чрезмерного количества оптимизируемых параметров или же слишком мелкого шага для оптимизации.

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

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

Тесты на демо и тесты на реальных счетах

Многие пробуют тестировать советники на демо счетах. Довольно часто можно услышать: «погоняю-ка я этот советник на демке». Если вы действительно собираетесь использовать тот или иной советник на реальных счетах, так делать не стоит.

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

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

И в-третьих, работая с демо счетами, вы не испытываете психологического давления. Этот фактор также положительно сказывается на доходности счета.

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

Основные показатели торговых систем

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

Максимальная просадка

Ведение любого бизнеса требует затрат. Форекс – такой же бизнес, как и все остальные и затраты на торговую прибыль определяются тут риском и маржей.

Максимальная просадка – величина самого глубокого понижения кривой доходности торгового счета, прежде чем она достигнет нового максимума. Психологически очень тяжело выдерживать большие просадки в реальной торговле. При отборе сетов я обычно не рассматриваю результаты с просадкой более 15-20%. При расчете мани менеджмента я стараюсь достичь максимальной просадки по одной паре не более 10-15%. При работе с крупными суммами рекомендуется максимально допустимая просадка по счету не более 5%. Судите сами, насколько приятно за пару месяцев просадить десятимиллионный счет на 20%. Не у каждого нервы настолько крепки и порой возникают сомнения в используемой торговой системе. Чем выше максимальная просадка, тем выше психологическое давление, испытываемое трейдером.

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

Требуемый капитал

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

Количество сделок

Каждый тип торговой системы имеет свое достоверное количество сделок. Для внутридневной торговли это, как правило, от 200 до нескольких тысяч сделок в год. Для торговли на Д1 количество сделок в год может достигать всего 10. В любом случае стоит помнить, что чем сделок в статистике больше, тем результат считается более достоверным. Как правило, минимальным количеством сделок для оценки параметров системы считается сто.

Средняя прибыль на сделку

При разработке торговой системы очень важно обращать внимание на этот показатель. Чем выше средняя прибыль на сделку, тем лучше. Иногда случается так, что на тестах при торговле лотом 0.1 система дает 3-5 долларов прибыли на сделку. Оценив все остальные параметры, трейдер принимает решение ставить систему на реальный счет. Спустя некоторое время выясняется, что система теряет деньги.

При оценке статистики реального счета оказывается, что средняя прибыль на сделку находится в отрицательной зоне. Как же так получилось? Просто тестирование проводилось при спреде два пункта и без учета реальности. А реальный спред оказался на 3 пункта больше запланированного и в итоге от средней прибыли на сделку осталось только 2 доллара. А еще забыли учесть проскальзывания, которые «съели» еще два пункта. Плюс комиссия, про которую вообще забыли. И в итоге средняя прибыль составила минус один доллар.

Средняя прибыль на сделку – важный параметр и, чтобы судорожно не искать брокера, на котором «это» будет работать в плюс, стоит при тестировании ориентироваться на значения никак не ниже 10 пунктов (10 долларов на сделку при лоте 0.1), а лучше – больше.

Процент выигрышных сделок

Я об этом уже много писал, но еще раз повторюсь. Многие профессионалы работают с процентом прибыльных сделок 50, 40 и даже меньше. Но это психологически очень тяжело и не каждый может выдержать такую торговлю. Как правило, низкий процент (ниже 50%) объясняется высоким соотношением размера средней прибыльной сделки к средней убыточной – от 3 к 1 и выше. Такой баланс характерен для долгосрочных трендовых торговых систем. Для скальперских и систем внутри дня, как правило, характерно значение в 60-70 процентов и даже выше, но прибыль к убытку там, обычно, не выше 1 к 1. Зато такие системы уже более комфортно торгуются, а их кривые доходности выглядят более плавными. Тем не менее, найти такую систему, при этом обладающую стабильностью, крайне нелегко – подчас торговать с процентом прибыльных сделок меньше 50% оказывается менее затратным по времени.

Оценка прибыли

После того, как вы сравнили среднюю годовую прибыль торговой системы с другими используемыми вами инвестиционными инструментами и приняли решение о целесообразности применения системы в этом ключе, настало время оценить ТС относительно риска и требуемого капитала. Годовая прибыль в 100К $ — это круто, но если для ее получения требуется 2 миллиона на депозите, это всего лишь 5% годовых, уже не так круто. При этом если максимальная просадка равна 25%, что соответствует 500К $ или отношению доходности к риску 1 к 5 – это вообще хуже некуда.

И наоборот, если для той же прибыли требуется 100К при риске 10% или 10К, то отношение доходности к риску уже 10:1. А это уже просто сказочный результат.

Отношение доходность/риск (Risk Adjusted Return — RAR)

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

Например, годовая доходность в 25 000$ при просадке в 5 000$ даст  reward to risk ratio, равный 5. Как правило, чем выше это отношение, тем лучше. Многие торговые системы имеют этот показатель от 5 до 10.

Доходность на капитал

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

Вот пример: у нас есть система, которая дает максимальную просадку 10 000$ и годовую прибыль 40 000$. Отношение доходность/риск вполне неплохое, оно равно четырем. К примеру, мы готовы к просадкам 20% и тогда примем просадку на тесте за 10% (двойной запас). Тогда минимальный капитал для торговли у нас будет 100 000$. Вложив 100 000$, мы получим 40 000$ за год или доходность, равную 40% годовых.

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

Коэффициент полезного действия системы

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

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

Естественно, ни одна торговая система не способна выжимать из рынка все. Поэтому можно ввести специальный коэффициент — КПД торговой системы. Это КПД того, насколько эффективно система преобразует потенциальные прибыли, предлагаемые рынком в реальные торговые прибыли на счете трейдера. Например, предположим, что чистая прибыль системы равна 25 000$, а потенциальная 300 000$. Тогда КПД системы равен (25/300) = 8,33%. Это вполне хорошая производительность. В среднем, достаточно хорошие торговые стратегии имеют коэффициент от 5% и выше.

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

Профит фактор

Вместо того, чтобы судить о системе по среднегодовой прибыли, удобнее рассматривать такой параметр, как профит фактор. По сути, этот коэффициент – еще одна из попыток измерить эффективность торговой системы. Профит фактор – это частное от деления совокупной прибыли на совокупные потери. Например, профит фактор, равный 1.5 может говорить о том, что система в среднем на каждые 3 доллара прибыли проигрывает 2 (3/2 = 1.5). Значение выше 1 говорит о том, что система может зарабатывать деньги. Чем этот параметр выше единицы, тем она делает это эффективнее. Желательно не рассматривать системы с профит фактором ниже 1.3 и стремиться в идеале к значению 1.6.

Стабильность торговли

Стабильность торговли — наиболее существенная характеристика торговой системы. Чем более стабильна торговая система во всех отношениях, тем лучше. И наоборот, чем система беспорядочнее и нестабильнее, тем она более опасна и, следовательно, должна вызывать большие сомнения. Согласитесь, когда результаты очень беспорядочны и сложно угадать, получишь ли ты прибыль в этом году в 80% или в последний месяц года система все потеряет и уйдет в минус — не самое лучшее положение вещей. Давайте разберемся, как можно измерить стабильность торговли и какие для этого применяются показатели.

Распределение прибылей и убытков

Равномерность распределения прибылей и убытков в тестовой и форвардной выборке — наиболее важный показатель стабильности. Одна лишь чистая прибыль, которую принесла система, ничего не говорит о ее стабильности. Ведь вся прибыль могла быть получена всего за один месяц в году, тогда как в остальное время система сливала деньги. Именно распределение прибылей и убытков по времени дает хорошее представление о том, насколько сильно вам придется переживать при использовании системы.

Предположим, система на протяжении пяти лет имеет прибыль 50 000$ при просадке 10 000$. Например, так, как показано в таблице:

Год Прибыль Просадка
2013 50 000 5 000
2014 30 000 6 000
2015 10 000 7 000
2016 — 15 000 9 000
2017 — 25 000 10 000

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

Или еще один пример:

Год Прибыль Просадка
2013 -15 000 5 000
2014 110 000 10 000
2015 -15 000 7 000
2016 -15 000 6 000
2017 -15 000 4 000

Даже при беглом взгляде на таблицу видно, что вся прибыль была получена в 2014 году. Все остальное время система стабильно теряла деньги. Одного только этого уже хватит, чтобы отказаться от такой стратегии.

И третий пример:

Год Прибыль Просадка
2013 10 000 7 000
2014 5 000 10 000
2015 10 000 6 000
2016 10 000 5 000
2017 15 000 4 000

Во всех трех примерах итоговая прибыль составила 50 000$ при максимальной просадке 10 000$. Но обратите внимание на равномерность результата в последнем случае. К тому же система показывает приятное повышательное направление и уменьшение просадки. Более того, система имела максимальную просадку в самый отдаленный период работы. Все это говорит о вполне удовлетворительной устойчивости торговой системы.

Вот еще один пример:

Год Прибыль Просадка
2013 — 25 000 10 000
2014 — 15 000 9 000
2015 10 000 7 000
2016 30 000 6 000
2017 50 000 5 000

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

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

Распределение сделок

Распределение сделок обычно вычисляется точно так же, как и распределение прибылей и убытков за тот или иной промежуток времени. Чем распределение равномернее, тем, конечно же, лучше.

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

Кстати, серии выигрышных и проигрышных сделок так же должны быть распределены равномерно по всему участку. Чем меньше стандартное отклонение, тем более предсказуем и стабилен результат торговли.

Итак, стабильная торговая система обладает следующими свойствами:

  • наиболее равномерное распределение прибылей и убытков;
  • наиболее равномерное распределение выигрышей и проигрышей;
  • наиболее равномерное распределение серий выигрышей и проигрышей.

Максимальная просадка

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

Если у вас максимальная просадка составляет 300% от средней просадки, то это довольно плохой знак. Если, конечно, подобное не вызвано объективными причинами вроде биржевого обвала или других форс-мажорных событий. Такие события практически невозможно предсказать и часто они приводят к значительным убыткам, поэтому от форс-мажоров стоит попытаться хотя бы защититься. Делается это путем внедрения в стратегии специальных алгоритмов, ограничивающих максимальные убытки.

Наибольшая выигрышная серия

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

Дополнительные статистические инструменты для оценки эффективности торговли

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

Коэффициент Шарпа

Эффективность инвестиций часто оценивают с точки зрения дисперсии доходов. Одним из таких показателей является коэффициент Шарпа (Sharpe Ratio). Этот коэффициент показывает, как соотносятся среднее арифметическое AHPR, уменьшенное на безрисковую ставку, и стандартное отклонение SD от ряда HPR. Значение безрисковой ставки RFR (Risk Free Rate) обычно принимают равным процентной ставке по доходу на депозит в банке или ставке дохода на казначейские обязательства.

Более подробно познакомиться с этим коэффициентом можно тут.

Прибыль за время удержания сделки (HPR)

В своей книге «Математика управления капиталом» Ральф Винс использует понятие HPR (holding period returns) — прибыль за время удержания сделки. Сделка, которая принесла 10% прибыли, соответствует HPR=1+0.10=1.10. Сделке же, принесшей убыток в 10%, соответствует HPR=1-0. 10=0.90. По-другому значение HPR для сделки можно получить, если разделить значение баланса после закрытия сделки (Balance Close) на значение баланса на момент открытия сделки (Balance Open):

HPR=BalanceClose/BalanceOpen

Таким образом, каждой позиции соответствует не только результат сделки в денежном выражении, но и HPR. Это позволяет сравнивать системы вне зависимости от мани менеджмента, применяемого в каждом конкретном случае. Одним из показателей такого сравнения является среднее арифметическое — AHPR (average holding period returns).

Наряду со средним арифметическим Ральф Винс вводит понятие среднего геометрического, которое мы обозначили как GHPR (geometric holding period returns), которое практически всегда меньше среднего арифметического AHPR.

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

Математическое ожидание (Expectancy)

Среднее значение можно вычислить не только для выборки, но для случайной величины, если известно ее распределение. В этом случае среднее значение имеет специальное название — Математическое ожидание. Математическое ожидание характеризует «центральное» или среднее значение случайной величины.

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

Стандартное отклонение

Мы уже обсуждали стандартное отклонение выше, когда говорили о стабильности торговой системы. Эта величина показывает разброс значений относительно среднего значения. Чем меньше значение стандартного отклонения, тем стабильнее будет результат, чем выше значение – тем меньше вероятность того, что вы получите доходность, близкую к среднему значению. Теперь, когда нам понятно, что такое стандартное отклонение, перейдем к более подробному рассмотрению данной характеристики.

Для торговых счетов часто используются три средних значения: средняя  доходность за определенный период, средняя прибыль и средний убыток. Тогда логично рассчитывать и три стандартных отклонения для каждого среднего: стандартное отклонение для средней доходности, стандартное отклонение для средней прибыли и стандартное отклонение для среднего убытка.

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

Анализируя стандартное отклонение от средней прибыли, вы сможете знать какой разброс прибыли относительно среднего значения. Чем меньше стандартное отклонение, тем ближе ожидаемый результат к среднему значению, тем он стабильнее.

Параметры MAE и MFE

Глядя на итоговый результат торговли, в котором представлены исходы торговых операций, мы не можем сделать никаких выводов о наличии защитных стопов (Stop Loss) или об эффективности фиксации прибыли. Мы видим только дату открытия позиции, дату закрытия и итоговый результат — прибыль или убыток.

Не имея информации о плавающей прибыли в течение жизни каждой торговой позиции и обо всех позициях в совокупности, мы не можем вынести суждения о характере торговой системы. Насколько она рискованна, как достигалась прибыль, не упускалась ли бумажная прибыль? Ответы на эти вопросы в достаточной мере нам могут дать параметры MAE (Maximum Adverse Excursion) и MFE (Maximum Favorable Excursion).

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

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

Аналогично можно получить информацию и из значений MFE. Если позиция была открыта в правильном направлении, MFE (незафиксированная максимальная прибыль) по сделке достигала $3000, но в результате сделка была закрыта с результатом плюс $500, можно сказать, что неплохо было бы доработать систему защиты незафиксированной прибыли. Это может быть какой-то плавающий стоп (Trailing Stop), который мы можем подтягивать за ценой при благоприятном движении в нашу сторону. Если недобор прибыли является систематическим, значит торговая система может быть существенно улучшена. MFE расскажет нам об этом.

Техника расчета оценки по методу Ван Тарпа

Качество оцениваемой системы Ван Тарп предлагает измерять как отношение математического ожидания к среднеквадратичному отклонению результатов сделок:

где M(x) — математическое ожидание,

σ — среднеквадратическое отклонение.

Полученное значение R классифицируется следующим образом:

менее 0.16 — очень низкое качество,

от 0.16 до 0.20 — низкое,

от 0.20 до 0.25 — среднее,

от 0.25 до 0.30 — хорошее,

от 0.30 до 0.50 — отличное,

от 0.50 до 0.70 — превосходное,

от 0.70 и более — грааль.

Таким образом, чем больше математическое ожидание системы и чем меньше ее среднеквадратическое отклонение, тем выше качество системы.

В нашем случае математическое ожидание — это простое среднее всех сделок:

где xi — результат i-ой сделки,

n — количество сделок, совершенное торговой системой.

Среднеквадратическое отклонение — это квадратный корень из дисперсии:

Ну а как находить дисперсию, мы уже сотню раз разбирали.

Техника расчета оценки по коэффициенту Сортино

Коэффициент Сортино — это отношение математического ожидания к среднеквадратичному отклонению результатов сделок с отрицательной доходностью:

где M(x) — математическое ожидание,

σ’ — среднеквадратическое отклонение с отрицательной доходностью.

Полученное значение классифицируется следующим образом:

менее 0.24 — очень низкое качество,

от 0.24 до 0.30 — низкое,

от 0.30 до 0.38 — среднее,

от 0.38 до 0.45 — хорошее,

от 0.45 до 0.75 — отличное,

от 0.75 до 1.00 — превосходное,

от 1.00 и более — грааль.

Среднеквадратическое отклонение с отрицательной доходностью — это квадратный корень из среднего значения суммы квадратов убыточных сделок:

При расчете значения отклонения следует учесть важный момент: положительные сделки из расчета не исключаются, их значения заменяются нулями. Это влияет на количество сделок (n) в формуле.

Так как же понять, что система больше не работает?

Понимание того, что система больше не работает очень важно для трейдера. Что делать, если счет испытывает затяжную просадку? Система перестала работать, и ее пора снимать? Или период просадки вот-вот кончится? У многих трейдеров, особенно новичков, совершенно нет никакого плана действий на подобный случай.

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

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

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

Но какой параметр сравнивать? Мы рассмотрели довольно много характеристик, но для оценки работоспособности системы стоит выделить один самый главный – распределение наших сделок на реальном счете в сравнении с этим распределением на тесте.  Все, что нужно проверить – является ли выборка сделок реальной торговли частью выборки из тестов.  Если вы сможете опровергнуть гипотезу о том, что это так с определенным уровнем достоверности (обычно 95%), значит ваша система уже не торгует так, как было задумано. Значит, она сломалась и можно смело снимать ее со счета.

Использование этого критерия – очень мощный инструмент. Ведь вы опираетесь в данном случае на такую науку, как статистика. А она – лучший друг трейдера. И не нужно ждать еще 1.5 месяца, гадая, выйдет ли система из просадки. Не нужно дожидаться двух тестовых просадок, теряя деньги. Простые вычисления в Excel (которые мы буквально за 10 минут выполняли в одном из уроков курса ExcelTrader) – и у вас уже есть четкое, статистически подтвержденное, научно обоснованное решение о том, стоит ли снимать систему со счета.

Итак, что вам понадобится для этого?

Во-первых, вам нужно сделать тест системы на исторических данных. Для этого вы можете просто воспользоваться любым тестером стратегий, а затем перенести данные тестера, например, в excel для дальнейшего анализа. Самое главное — это получить результаты самих сделок — прибыли и убытки.

Во-вторых, вам нужны данные, которые вы будете проверять. У многих из вас наверняка есть статистика счета на myfxbook. В правом верхнем углу графика роста счета есть кнопка «export». Нажав на нее, вы увидите выпадающее меню, где нужно выбрать формат сохраняемых данных. Для наших целей сгодится формат csv:

Открываем полученный файл, подготавливаем данные:

Нажав на «Текст по столбцам», мы попадаем в мастер разбивки текста. Выберем вариант с разделителем:

В качестве разделителя сервис myfxbook использует запятую:

Дальше доводим работу мастера до конца и получившиеся данные конвертируем в таблицу:

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

Теперь найдем столбец «gain», скопируем его и перенесем на новый лист:

Лист со стейтментом нам больше не нужен, удалим его:

Теперь откроем файл с результатами тестов из терминала MetaTrader:

Нажмем ctrl+a и ctrl+с для выделения всех строк файла, затем ctrl+v на новом листе в excel:

Удалим шапку, оставив только строки со сделками:

Преобразуем данные в таблицу:

В фильтре столбца «Прибыль» уберем галочку с пустых строк:

Скопируем столбец «Прибыль»:

И перенесем его на лист, на котором уже находится подготовленный столбец со сделками с реального счета:

Итак, эти два столбика мы и будем сравнивать. Для начала рассчитаем среднее значение для тестовых значений:

И для реальных:

Рассчитаем также и количество сделок:

Затем определим стандартное отклонение для генеральной совокупности (то, что было получено на тесте):

И стандартное отклонение для выборки (с реального счета):

Далее нам нужно рассчитать — стандартную ошибку:

И последнее — z преобразование:

Найдите в сети калькулятор стандартного распределения или воспользуйтесь сайтом, изображенным на скриншоте:

Заполним значение z преобразования, как показано на рисунке выше и нажмем рассчитать. В результате мы получим значение P:

В нашем примере P получилось 0.5054. Это намного больше 0.05, поэтому мы не можем сказать, что данные со счета отличаются от данных с тестов. Поэтому можно сделать вывод о том, что стратегия работает в рамках задуманного алгоритма.

Также вы можете посмотреть видео, где описывается данная методика (один из уроков курса ExcelTrader) :

Сезон 2 Урок 14 Как узнать, все ли идет согласно тестам

Как видите, идея очень проста. У нас есть длинный кусок данных, полученных при тесте торговой стратегии и есть небольшой кусочек, полученный при работе на реальном счете. И есть методика, которая позволяет определить, похож ли этот небольшой кусочек на данные, полученные при тесте. Конечно, с определенной долей вероятности — 95%. Но в большинстве случаев этого хватит.

Так когда же снимать систему со счета?

Для кого-то сигналом к проверке системы станет просадка в половину счета. Кто-то просто проигнорирует научный подход к этому вопросу и продолжит использовать «дедовские» методы. А особо слабонервные начнут проверять свои системы при каждой просадке свыше 10%.

На самом же деле то, что система на данный момент торгует в прибыль, тоже совсем не значит, что она торгует именно так, как предполагалось. Иными словами — торгующая в прибыль система тоже может торговать не так, как это было заложено при ее создании. Скорее всего реакция на эту идею будет такой – раз зарабатывает, не нужно ничего трогать. Но работающая «по-другому» система тоже несет в себе опасность, ведь она точно так же в один прекрасный день начнет работать в минус. На мой взгляд, стоит проверять системы раз в месяц и если теряющая деньги ТС не прошла тест — безжалостно снимать ее со счета. Зарабатывающие же пока что системы можно просто брать на карандаш и следить за ними более тщательно.

Заключение

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

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

С уважением, Дмитрий аkа Silentspec
TradeLikeaPro.ru

AMarkets

В помощь Трейдеру , , ,