Торговля расхождений и подтверждений индикаторов
Большинство книг по техническому анализу рассказывают начинающим трейдерам о великом множестве различных технических индикаторах. Практически все индикаторы можно разделить на две основные группы:
- трендследящие;
- контртрендовые;
В трендовых индикаторах цель – фильтровать ложный «рыночный шум» и идентифицировать неслучайные направленные движения. Но в техническом анализе существует еще целый раздел контртрендовых индикаторов. Такое название они получили благодаря тому, что пытаются предсказать окончание предыдущего движения. Изучая предшествующий ценовой диапазон, эти индикаторы определяют его верхние и нижние границы. И когда цена актива находится в верхней части ценового диапазона, поступает сигнал на «перекупленность».
В этом случае подразумевается, что цена растет слишком долго, поэтому возрастает вероятность разворота движения в обратную сторону. То есть логика контртрендовых индикаторов полностью противоположна логике трендследящих. Которые, напомню, подразумевают продолжение уже начавшегося движения.
Явно налицо несостыковка теорий о направленности ценовых колебаний. Однозначно, невозможно сказать, какие индикаторы следует использовать. Рынок не является постоянным, и любой график цены продемонстрирует как устойчивые трендовые движения, так и четкие ценовые диапазоны, в которых цена колеблется практически случайным образом, отскакивая от верхних и нижних границ. Поэтому сегодня я попытаюсь рассмотреть одно свойство контртрендовых индикаторов, которое не противоречит ни одной из теорий индикаторов технического анализа. Это «дивергенции» - расхождения в показаниях индикатора и графика цены. Классическое расхождение, которое обычно демонстрируют авторы книг, представляет из себя наличие двух последовательно восходящих пиков цены актива, при том, что второй пик индикатора (соответствующий второму пику цены) не выше первого. Такая комбинация пиков цены и индикатора называется «двойное расхождение». Аналогичная ситуация при трех последовательно восходящих пиках цены и трех последовательных пиках индикатора (с максимальным значением на первом пике) называется «тройное расхождение». Подобные ситуации подразумевают слабость цены и близость разворота тенденции.
Как раз эти расхождения и собираюсь сегодня протестировать. Поскольку такая ситуация появляется на рынке достаточно редко, то для полноценного тестирования понадобится более длительная история торгов. Вместо привычного фьючерса РТС будет использован десятилетний график котировок индекса Доу-Джонса часовой дискретности. Конечно, для реальной торговли он не пригоден, но для тестирования фильтра на случайных входах вполне подходит.
До этого я всегда тестировал длинные позиции, поэтому сегодня для разнообразия будут проанализированы короткие позиции. Поскольку, кодирование «идеального расхождения» требует усложненной логики кода для формализации вершин цены и индикаторов, то будет введено следующее допущение:
«расхождением» будем называть ситуацию, когда график цены обновляет локальный максимум, а значение индикатора - нет.
Для определения расхождения в торговую систему будут введены следующие условия:
- максимальное значение индикатора за Х периодов будет сравниваться с максимальным значением за Х/4 периодов. Если значения совпадают , то имеем новый максимум и индикатор подтверждает движение цены. Если максимум (Х/4) ниже долгосрочного максимума, то имеет место «дивергенция»;
- график цены должен обновить локальный максимум за Х периодов. Если обновления не произошло, то расхождения не рассматриваются;
- значение цены должно быть выше, чем значение цены Х/4 периодов назад.
Таким образом, на всей совокупности котировок выделены те фрагменты, где присутствует расхождение цены с индикатором и где будут открываться короткие позиции случайным образом. Для сравнения будут протестированы фрагменты, где обновления максимума ценой подтверждается обновлением максимума индикатором. Подобную ситуацию будем называть «подтверждение». Перед тем, как приступить к тестированию расхождений, необходимо измерить эффективность случайных коротких позиций на индексе Доу-Джонса. Для этого проведем серию испытаний и рассчитаем эффективность шортов на 2, 4, 6, 8, 10 баре:
Хорошо видно, что в среднем короткие сделки убыточны и имеют отрицательное математическое ожидание. С каждым дополнительно удержанным баром убыток только нарастает. Именно с этими показателями я и буду сравнивать результаты систем, открывающих короткие позиции при наличии расхождения цены и индикатора.
Индикатор MACD.
В основе индикатора лежит разница между значениями двух скользящих средних, быстрой и медленной. Индикатор не является чисто контртрендовым, однако, расхождение с ним часто предлагается использовать при построении торговых систем. Я не использовал встроенный в программу индикатор, а построил аналог, использующий ту же разницу скользящих средних линий. Вот как расхождения выглядят на графике:
Красным цветом выделены фрагменты, когда присутствует дивергенция. Зеленым цветом выделены фрагменты, когда значения индикатора подтверждают обновление ценой своих максимумов. Протестируем первую торговую систему. Поскольку поиск расхождений достаточно сильно фильтрует доступный ценовой ряд, то необходимо убедиться, что система генерирует достаточное количество сделок:
На графике распределения сделок видно, что число сделок практически не опускалось ниже 72 в обоих случаях (расхождений и подтверждений). Поэтому можно говорить о статистической достоверности полученных результатов:
нажми на график для увелияения
Хорошо видно, что имеет место значительный сдвиг математического ожидания. Для его оценки целесообразнее всего использовать среднюю прибыль на сделку (нижний ряд) или профит-фактор (второй ряд), как функцию от вероятности прибыли (верхний ряд) и отношение средней прибыли к среднему убытку (третий ряд). Левая часть таблицы показывает результаты системы, открывающей шорты в случае «расхождения», а правая – в случае «подтверждения».
Значения рассчитаны для следующих пар длинной/медленной скользящих средних линий: 20/5, 80/20, 140/35, 200/50, 260/65. В сводной таблице они отмечены значениями длинных скользящих средних. Сразу бросается в глаза, что левая часть гораздо эффективнее правой. Это объясняется тем, что в случае подтверждения индикатором цены позиция открывается против идентифицированного тренда, который к тому же помогает цене обновлять максимумы. Поэтому, чем долгосрочнее тренд, тем убыточнее открывать против него короткие позиции. Исключение составляет лишь краткосрочное значение индикатора. Оно определяет краткосрочное восходящее движение, которое чаще оказывается нестабильным и не развивается в сильную тенденцию роста. Поэтому можно сделать первоначальный вывод, что ценовые колебания подобной длины чаще и легче разворачиваются в обратную сторону.
А вот левая часть, наоборот, радует нас стабильностью и положительным математическим ожиданием трейдов. Лишь краткосрочное значение не показало стабильной и уверенной динамики. Открытие коротких позиций оказалось достаточно прибыльной тактикой, при условии, что долго- и среднесрочные тренды показывают первые признаки слабости. Примечательно, что при торговле против долгосрочного тренда (260 периодов), вероятность прибыли уменьшалась со временем удержания позиции. Можно сделать вывод: Торговля «расхождений» более выгодна на среднесрочных временных интервалах, а шорт «подтверждений» имеет смысл только в краткосрочном периоде, когда тренд еще не успел развиться.
Индикатор RSI.
Индикатор имеет одну интересную особенность. При расчете последнего значения используется предыдущее значение. Таким образом, значения индикатора могут меняться даже при использовании одного и того же параметра в зависимости от того, сколько баров было просчитано до последнего значения. Чтобы синхронизировать показания индикатора, в некоторых программах по техническому анализу пропускается определенный временной интервал (обычно около 100 баров) для стабилизации значений. После подобной стабилизации отклонения в показаниях индикатора не превышают статистически допустимой погрешности. Рассмотрим, как индикатор сигнализирует о расхождениях:
Как и в прошлый раз, красным цветом выделены «дивергенции», зеленым – «подтверждения». При тестировании будут использованы следующие значения параметра индикатора: 16, 76, 136, олицетворяющие собой короткие, средние и длинные тенденции. Смотрим сводную таблицу:
Опять бросается в глаза большая разница в левой и правой части таблицы. Индикатор имеет явно выраженное контртрендовое направление. Поэтому торговля «подтверждений» убыточна практически на всех временных интервалах. Зато свою основную функцию – поиск расхождений – индикатор выполняет на отлично. Особо выделяются показатели краткосрочной системы. Стабильные и положительные результаты показали все 10 баров, на протяжении которых система удерживала короткую позицию. Вывод: индикатор действительно пригоден для поиска расхождений и торговли против краткосрочной восходящей тенденции.
Индикатор STOCHASTIC.
В этом случае я закодировал собственный аналог популярного стохастика. Общие принципы индикатора таковы:
- определяется диапазон между максимальным и минимальным значениями за период;
- определяется положение последней цены закрытия в полученном диапазоне в процентах;
- при обновлении или повторении ценой максимума индикатору присваивается значение «100», при обновлении или повторении минимума – «0».
Таким образом, цена всегда колеблется между «0» и «100». Значение индикатора сглажено трехпериодной экспоненциальной средней. Для начала посмотрим, как индикатор распознает расхождения:
Красным цветом выделены «дивергенции». Основной проблемой при использовании этого индикатора является его чистая контртрендовая направленность, поэтому на тренде значения всегда будут колебаться около отметки 100 или чуть ниже. Давайте рассмотрим показатели эффективности системы:
Результаты противоположны полученным ранее. Использование расхождений оказалось мало эффективным, потому что основная часть средне- и долгосрочных расхождений появлялась на сильных трендовых движениях. Лишь краткосрочный индикатор показал удовлетворительную эффективность. Но и она слишком не значительна, по сравнению с прочими индикаторами. Зато открытие коротких позиций в случае «подтверждения» оказалось куда более выгодным. Стохастик очень четко идентифицирует боковой диапазон. И значение индикатора ниже 100 говорит о временном отсутствии тренда. Поэтому подтверждение роста цены ростом значения индикатора происходит, в основном, в «боковике», где играть против направленной тенденции очень выгодно. Вероятность прибыли колеблется около 50% отметки, зато математическое ожидание коротких позиций растет со временем удержания позиций. Вывод: торговля расхождений не выгодна, зато торговля против «подтверждения» показывает умеренно положительные результаты.
Индикатор MOMENTUM.
Индикатор показывает скорость изменения цены. Существует две основные разновидности этого индикатора. Одна измеряет скорость цены путем вычитания из цены закрытия последнего бара цены закрытия Х баров назад. По сути этот индикатор можно использовать и для идентификации тренда. Но основное предназначение сравнивать скорость изменения цен на каждом баре. И если значение положительны, но убывают, то можно констатировать замедление и ослабление тренда. Отрицательное значение индикатора подразумевает наличие на рынке нисходящей тенденции.
Вторая разновидность измеряет скорость цены путем деления последней цены закрытия на цену закрытия Х баров назад. Практически синхронный индикатор, но нормированный вокруг «1». Значение индикатора выше «1» подразумевают наличие восходящей тенденции, от «0» до «1» - нисходящей. Оба индикатора показывают практически одинаковую динамику, существенное различие появляется лишь на длительных временных интервалах, когда цена сильно различается.
«Подтверждение» однозначно идентифицирует наличие тренда на рынке, поэтому будут протестированы только «расхождения» для обеих разновидностей индикатора:
В левой части таблицы показаны результаты системы, использующей деление цен для определения скорости тенденции. В правой части таблицы – система, использующая разницу цены. Результаты обеих систем можно признать умеренно положительными. Математическое ожидание чуть выше «0», вероятность прибыльной сделки заметно меньше 50%. Вывод: мало эффективный индикатор для идентификации «дивергенций».
Индикатор ONBALANCEVOLUME.
Еще один интересный индикатор, расхождение с которым можно попытаться использовать для идентификации ослабления тренда. Суть индикатора в определении денежного потока для сравнения с существующей ценовой тенденцией. Рассчитывается путем суммирования объемов торгов следующим образом:
- если цена закрытия текущего бара выше цены закрытия предыдущего, то объем торгов текущего бара прибавляется к объему торгов предыдущего;
- если цена закрытия ниже предыдущей, то объем торгов вычитается.
Таким образом, получается график куммулятивной суммы объемов торгов в зависимости от динамики цены. Поскольку при расчете значений индикатор использует предыдущие значения, то ему также требуется некоторое время для стабилизации значений. Основной целью индикатора является показать, насколько существующая тенденция поддерживается торговой активностью и объемами торгов. Поэтому расхождение показаний индикатора с ценой могут говорить, что текущий тренд трейдерам уже не интересен и возможна коррекция или даже разворот тенденции.
Поскольку для расчета индикатора необходимы объемы торгов, то вместо индекса Доу-Джонс в этом случае будем использовать 10-летние часовые котировки акции Микрософт. Так для начала заново проверим эффективность случайных шортов, в зависимости от длительности удержания позиции:
Ситуация аналогична индексу. В целом, математическое ожидание шортов отрицательно и торговля по ним убыточна. Рассмотрим, как индикатор определяет расхождения:
Красным цветом выделены отрезки, когда индикатор Балансового объема не поддерживает обновления ценой своих максимумов. Рассмотрим показатели систем, открывающих систем короткие позиции в случае расхождения и подтверждения:
Дивергенции находятся в левой части. Сразу видно, что индикатор практически бесполезен в обоих случаях. Торговля подтверждений имеет стабильно отрицательное математическое ожидание. Торговля расхождений имеет близкое к нулю математическое ожидание, поэтому для реальной торговли также не пригодна. Вывод: индикатор абсолютно не эффективен. Тут нужно сделать поправку, что индикатор тестировался лишь на одной акции, что не в полной мере отражает свойства всего рынка. Возможно, при тестировании на портфеле получатся другие показатели, но пока этот индикатор абсолютно никак себя не проявил.
В этой статье были рассмотрены некоторые индикаторы, помогающие трейдерам в поиске разворотных точек, которые позволяют ставить контртрендовые приказы с уменьшенным риском и увеличенным математическим ожиданием сделок. Подобные стратегии просто необходимы трейдеру, который хочет уменьшить рискованность собственного портфеля торговых систем, сгладив стандартное отклонение доходности, увеличив коэффициент Шарпа и уменьшив длительность и глубину просадок. Но об этом я расскажу в следующий раз.
Тарас Правдюк
Русский Трейдер