тел.: 8 800 200 86 47|+7 (812) 336 61 11Заказать звонок
Admiral Markets UK Admiral Markets UK Choose your country

MQLabs: Историческая волатильность

 

Индикатор HistoricalVolatility

Индикатор HistoricalVolatility_Color

Индикатор HistoricalVolatility_Channel

 

Две последние статьи (см. "Отбой волатильности. Часть 3" и "Отбой волатильности. Часть 4") были посвящены анализу волатильности рынка. Сам термин "волатильность" в статьях MQLabs до сегодняшнего дня не был никак классифицирован, описывая одно конкретное понятие - амплитуду движения цены за некий период. В то же время, кроме рассмотренного типа волатильности, существуют еще две разновидности этого понятия: историческая и подразумеваемая волатильности. Им и будет посвящена сегодняшняя статья.

 

Общие сведения

Историческая и подразумевая волатильности широко используются в опционной торговле. Правда, использование это не прямое, а опосредованное. Например, историческая волатильность является одним из составляющих модели Блэка-Шоулза.

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

 

Расчет исторической волатильности

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

Основным отличием исторической волатильности от волатильности, рассматриваемой нами до сих пор, является использование сравнения цен двух соседних свечей, а не замер разности цен между двумя экстремумами. То есть основой исторической волатильности можно назвать следующее отношение (1):

  (1),

где Pcur - цена текущей свечи, чаще всего, цена закрытия,

     Pprev - цена предыдущей свечи.

 

Общая же формула, на первый взгляд, может показаться достаточно сложной. Хотя при рассмотрении ее по частям многие из составляющих окажутся знакомыми рядовому трейдеру. Итак, общая формула расчета исторической волатильности в годовом выражении (2):

(2),

где HV - историческая волатильность,

      Pi и Pi-1 - цены двух соседних дней (свечей), т. е. данные из формулы (1),

      n - количество дней (свечей), участвующих в расчетах,

      days - количество торговых дней в году.

Чтобы легче было понять формулу (2), укажем, что первый член выражения - это среднеквадратичное отклонение некоторой выборки. Таким образом, подкоренное выражение - это дисперсия этой же выборки. Вычитаемое, расположенное в числителе подкоренного выражения, это простое среднее, рассчитанное по (n - 1) последним логарифмам соотношений цен двух соседних свечей.

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

 

График исторической волатильности

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

Для расчета значений индикатора потребуются такие исходные данные:

1. Количество баров, для которых рассчитывается историческая волатильность. Подобные данные трейдеры называют периодом расчета индикатора. В индикаторе это параметр i_samplePeriod.

2. Цена свечи, используемая в расчетах. Японская свеча представляет собой четыре цены: открытие, закрытие, максимум, минимум. Но кроме этих четырех цен часто используют производные цены: средняя (или медианная) цена, типичная цена и цена взвешенного закрытия. Таким образом, получаем семь возможных цен, которые указываются в параметре i_usePrice значениями от 0 до 6 включительно.

3. Количество торговых дней в году. В зависимости от календаря, тот или иной год может содержать различное количество рабочих дней по тому или иному символу. Ведь кроме стандартных выходных дней существуют национальные или международные праздники. В итоге один год может содержать полные 260 торговых дней (стандартные 52 недели по 5 рабочих дней для символа, который не зависит от национальных праздников), а другой год и 250 дней не досчитает (не високосный год для символа с большим количеством национальных праздников). Значение устанавливается в параметре i_workDaysInYear.

В итоге получаем следующий вид индикатора (см. рис. 1).

Рис. 1. Историческая волатильность дневного таймфрейма.

Пример исторической волатильности специально приведен для дневного периода графика, т. к. формула (2) предназначена именно на него. В том случае, если необходимо использовать историческую волатильность для другого таймфрейма, необходимо указать другое количество свечей в году. К счастью, трейдеру не нужно вручную рассчитывать этот показатель. Индикатор HistoricalVolatility производит необходимые расчеты автоматически, преобразуя количество баров текущего таймфрейма к годовому выражению, т. е. значение параметра i_workDaysInYear не нужно изменять при переключении таймфрейма (см. рис. 2).

Рис. 2. Историческая волатильность часового таймфрейма.

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

 

Подготовка к использованию данных

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

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

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

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

Итогом указанных нововведений будет индикатор HistoricalVolatility_Color (см. рис. 3).

Рис. 3. Историческая волатильность в цвете.

Синей пунктирной линией индикатор показывает среднее значение волатильности за последние 260 баров (значение параметра i_averagingPeriod).

Одним из преимуществ индикатора HistoricalVolatility_Color над подобными индикаторами, которые отображают один процесс в виде единой линии разных цветов, является отсутствие "неправильных" участков. Эта проблема была описана в статье Сергея Ковалева "Разноцветные индикаторные линии" (см. рис. 3 указанной статьи), но почему то не была решена. В представленном индикаторе проблема решена путем введения дополнительного индикаторного буфера для линии уменьшения значения волатильности. Таким образом, падение волатильности в индикаторе отображается при помощи двух буферов, сменяющих друг друга в тех местах, где одного буфера недостаточно (см. рис. 4).

Рис. 4. Буферы индикатора HistoricalVolatility_Color.

 

Использование исторической волатильности в торговле

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

Рис. 5. Завершенное и не завершенное движения цены.

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

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

Рис. 6. Каналы ценовых движений.

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

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

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

Рис. 7. Достаточное и недостаточное повышение волатильности.

Первое повышение волатильности в зоне, расположенной ниже среднего значения, игнорируется как несущественное (повышение всего на 0.01%). Это в данном случае позволяет дождаться действительно минимального значения волатильности, которое будет зарегистрировано чуть позже, но более достоверно. Это произойдет тогда, когда рост волатильности превысит минимально необходимый порог в 0.5% и составит 2.1%.

В индикаторе HistoricalVolatility_Channel, который автоматизирует работу по поиску завершенных ценовых движений и определению границ горизонтальных каналов, для указания минимально необходимого порога увеличения волатильности используется параметр i_minPercentsIncrease. В итоге получим следующую картину (см. рис. 8).

Рис. 8. Горизонтальные каналы индикатора HistoricalVolatility_Channel.

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

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

Рис. 9. Торговые сигналы индикатора HistoricalVolatility_Channel.

Рассмотрим хронологию событий, показанную на рис. 9, двигаясь по графику слева направо.

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

На открытии следующей свечи констатируется факт входа исторической волатильности в зону выше среднего уровня. Это является сигналом закрытия сделки.

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

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

 

Заключение

Как и положено хорошему сигнальному индикатору, индикатор HistoricalVolatility_Channel имеет в своем арсенале возможности звукового и удаленного оповещения трейдера. Так, параметр i_useAlert позволяет настраивать воспроизведение звукового сигнала в момент пробоя уровня поддержки или сопротивления, а параметр i_usePush - отправку уведомления на мобильное устройство.

 

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

 

Игорь Герасько

Февраль 2014

Специально для компании Admiral Markets

3
 
 
X
Loading