Отправляет email-рассылки с помощью сервиса Sendsay

Алготрейдинг

  Все выпуски  

Алготрейдинг: ТЕСТИРУЕМ СТРАТЕГИЮ: ВАЖНОСТЬ БЭКТЕСТИНГА


Представьте, что вы разработали стратегию, протестировали ее и получили 1000% годовых. Вы ликуете и думаете, что нашли грааль. Но так ли это на самом деле? Не обманываете ли вы себя?

Совсем недавно я посмотрела вебинар с очередной “чудо-стратегией”, которая показала доходность 250% годовых. Стратегия была очень простой и я засомневалась в ее результатах. Если протестировать ее как предлагал автор, она действительно подтверждала свою доходность и показывала похожий результат, причем на разных временных интервалах. Но… Так было тестировать стратегию нельзя! Автор просто умолчал о ряде деталей, которые оказались весьма существенными и, в итоге, повлияли на показатели стратегии. Если учесть все ловушки, возникшие в ходе тестирования и устранить все ошибки, стратегия получилась абсолютно провальной. С большим, большим убытком.

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

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

Часто рентабельность стратегии чувствительна к деталям реализации. Например, предполагается, что заявки должны быть отправлены до или после открытия рынка? Или какую какую цену нам использовать: биды/аски или цену последней сделки?

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

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

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

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


В избранное