semikot
semikot личный блог
17 февраля 2021, 14:06

Скользящая средняя с динамическим диапазоном усреднения

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

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

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

Средняя = (Закрытие1 + Закрытие2 + … + ЗакрытиеР)/Р, где Р = 10+Максимальное значение закрытий подряд в одну сторону за период цикла. Фиксированное 10 – это условно подобранное значение.

Или формула Excel: (массив данных идет сверху вниз)

=СРЗНАЧ(СМЕЩ(«ссылка на значение цены сегодня»;-(«ссылка на значение динамического периода сегодня»+10)+1;0;( «ссылка на значение динамического периода сегодня»+10);1)), где 10 – подобранное фиксированное значение

«ссылка на динамический период»:

=МАКС(МАКС(«ссылка на массив подсчета закрытий подряд»);-МИН(«ссылка на массив подсчета закрытий подряд»)),  в этой формуле количество охватываемых строк определяется самостоятельно по примерному рыночному циклу

Формула в массиве подсчета закрытий подряд в одну сторону, обозначу ее «У»

=ЕСЛИ(ЗНАК(«цена сегодня» — «цена вчера»)*ЗНАК(«значение У вчера»)<0; ЗНАК((«цена сегодня» — «цена вчера»); ЗНАК((«цена сегодня» — «цена вчера»)+ «значение У вчера»)

 

На основе такой средней получаются очень интересные результаты индикатора MACD.

 

А вот справка по VIDYA из интернета:

Скользящая средняя с динамическим периодом усреднения (Variable Index Dynamic Average, VIDYA) была разработана Тушаром Чанде (Tushar  Chande). Расчёт этого показателя аналогичен расчёту Экспоненциального скользящего среднего (EMA) с динамически скорректированным периодом ретроспективного анализа, который зависит от относительной волатильности цен. Чем выше волатильность, тем выше становится акцент на цене, и тем быстрее VIDYA адаптируется к изменениям цен. Волатильность измеряется с помощью Моментум-осциллятора Чанде (CMO).

В основе для расчета VIDYA используется стандартная формула ЕМА, которая выглядит следующим образом:

EMA = Close*F + EMA-1*(1-F) , где F = 2/(n+1) – фактор сглаживания ЕМА, n – период усреднения ЕМА, Close – текущая цена закрытия,  ЕМА-1 – предыдущее значение ЕМА.

Для вычисления СМО Tushar Chande предлагает следующую формулу:

СМО = (UpSum – DnSum) / (UpSum + DnSum) , где  UpSum – сумма положительных приращений цены закрытия за период, DnSum – сумма отрицательных приращений цены закрытия за период.

В этом случае, формула для вычисления VIDYA по ценам закрытия будет выглядеть таким образом:

VIDYA = Close*F*Abs(CMO) + VIDYA-1*(1 — (F*Abs(CМО))) , где F = 2/(n+1) – фактор сглаживания ЕМА,n – период усреднения ЕМА, Close – текущая цена закрытия, Abs(CMO) – абсолютное значение Chande Momentum Oscillator,

VIDYA-1 – предыдущее значение VIDYA.

 

Также в интернете я нашел, что есть модификации VIDYA от Кауфман (Perry Kaufman) и Денниса Петерсона (Dennis Peterson). 

18 Комментариев

Активные форумы
Что сейчас обсуждают

Старый дизайн
Старый
дизайн