Решил поделиться одним техническим способом, который я использую для определения тренда – среднюю с изменяющимся диапазоном усреднения. Но перед тем, как выложить все это искушенной публике, проверил есть ли что похожее. Оказывается, есть, но только по названию, а не по сути (может, правда, я чего-то не нашел). Это индикатор 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).
мягко говоря в Excel плохо видно. Графический анализ для других программ. В общем на данном отрезке больше к обычной тяготеет
Да, легче перечислить что вы нашли, чем то, что там есть...
Подобных изысков в сети МОРЕ, погуглите «адаптивный мувинг».
Дело вкуса, но мне очень по душе пришелся SDL
Slope Direction Line
Он есть и под другими названиями, щас ведь никто читать не хочет, все (и я) норовят изобрести что-то лучшее, новенькое.
Новенькое получается только название. )))
Почти всё изобретено ДАВНО, Пифагоров во все времена хватало.
Все уже давно сделано до нас, без нас и для нас
Перри Кауфман
bcs-express.ru/novosti-i-analitika/vmesto-tysiachi-skol-ziashchikh-srednikh-indikator-ama-adaptivnaia-skol-ziashchaia-sredniaia
Hull
tlap.com/hull-moving-average/
Jurik
bot4sale.ru/blog-menu/ami/232-juric-ma.html
Ну и все ребятишки вместе
tlap.com/tipy-skolzyashih-srednih/
Лет 6-8 назад я тестировал некоторые из них.
Безусловным Лидером Тестов для МОИХ стратегий была средняя Hull-a
прогоните через WFT алгоритм, построенный на этой хитровыдуманной машке… это сразу добавит ясности в мозгах))
прогоните алгоритм через WFT и займитесь чем-нибудь полезным))
Update: сорри слажал немного, скрин от демки, которую запустил, чуть раньше, чем реал… Вот мой пост про это все
я побывал и смену знака и величину приращения и т,.д.
но построить фильтр пилы я не смог. разводят конкретно.