Блог им. 3Qu

Совершенствуем Exponential Moving Average (EMA). 2

    • 16 января 2021, 21:01
    • |
    • 3Qu
  • Еще
В топике Совершенствуем Exponential Moving Average (EMA) мы показали использование линейной и нелинейной обратных связей в применении к ЕМА. Как правильно отметили в части комментариев, в случае линейной обратной связи ЕМА просто превращается в другую ЕМА с меньшим периодом, и толку от такой ЕМА немного. И тем не менее, даже в этом случае, обратная связь демонстрирует то, что и должна была демонстрировать — цель достигнута и ошибка слежения за ценой уменьшилась.
Нелинейная же связь даже в случае с ЕМА работает нормально, и по факту адаптивно в зависимости от ошибки меняет период сглаживания. При больших значениях ошибки период сглаживания уменьшается относительно заданного Тс, при малых ошибках период сглаживания практически равен предустановленному Тс.
В общем, нам надо решить вопрос только с линейной обратной связи, и выбрать для этого в качестве исходного индикатора что-то посложнее ЕМА. Скажем фильтр низких частот (ФНЧ) 2-го порядка. Выражение для него будет иметь вид.
                         Y(t) = a0*X(t) + b1*Y(t-1) + b2*Y(t-2)
Немногим сложнее обычной ЕМА, ничего ужасного.)
Попробуем такой фильтр сделать из обычной ЕМА вида Y(t) = a0*X(t) +b1*Y(t-1) пропустив сигнал вначале через оду ЕМА, а затем через вторую. Вот так: Y(t) =EMA(EМА(X(t)).
То, что мы сделаем сейчас не совсем обычно с точки зрения алгебры, но, тем не менее, результат от этого не пострадает. Перемножим преобразованные выражения двух одинаковых ЕМА друг на друга, чтобы получить более сложную ЕМА. Вообще-то, это называется z-преобразование.
                       Н(z) =(a0/(1-b*1z^-1)*(a0/(1-b1*z^-1)
                       Н(z) = a0^2/(1 -b1*z^-1 — b1*z^-1 + b1^2*(z^-1)^2) или
                       Н(z) = a0^2/(1 -2*b1*z^-1 + b1^2*z^-2).
А теперь вернувшись из этой абракадабры к обычному виду записи индикаторов, получим:
                       Y(t) = a0^2*X(t) + 2*b1*Y(t-1) — b1^2*Y(t-2),
где a0 и b1 коэффициенты нашей исходной ЕМА.
и это будет тоже самое, как если бы мы 2 раза пропустили X(t) через ЕМА. График такой ЕМА 2-го порядка ЕМА2 на единичном скачке будет выглядеть примерно так:
Совершенствуем Exponential Moving Average (EMA). 2

Смотри график LPF, в том числе и в предыдущем топике.
На таком фильтре ЕМА2 уже есть где разгуляться и с линейными, и с нелинейными обратными связями, и еще много с чем другим.)
Об этом мы, возможно, в следующий раз поговорим. Если будет с кем.) 
Кто хочет продолжения темы — голосуйте, в смысле, ставьте плюсы. Я не буду тратить время и писать в пустоту. Извините за каламбур.)
Удачи!
★7
15 комментариев
Смысл функции сглаживания, как это ни странно, сгладить. То есть, грубо говоря, выдать нечто среднее. Как с её помощью предвидеть дальнейшее движение непонятно?
avatar
GoGo, с какого боку здесь предвидение? Тема не об этом.
avatar
Также получается DEMA ??
avatar
asfa, я не в курсе что там получается, извините. Вам видней.
Для меня это обычный, не самый удачный, но самый простой фильтр второго порядка, и не более того.
avatar
3Qu, DEMA=DMA = Double Exp. Mov. Aver. 
Ещё есть TEMA. В первой статье у вас ссылка на JMA. Есть много разных других: 
tlap.com/tipy-skolzyashih-srednih/

По сути вы создаёте свою МА ??
avatar
asfa, с инструментами ТА я не работаю. Ничего я не создаю, весь инструментарий для применения уже расписан с 40-х годов. Скрипач ТА и его убогие поделки не нужны.
В теме я только показываю, что весь ТА очевиден. Все получается само собой и без всяких усилий. Это вы узнаете всяких ТЕМ, ДЕМ и ДЖЕМ. Я с ними не знаком.)
У меня книжка есть с табличкой, там таких «индикаторов» около сотни, и все без названий, а только передаточная функция, и комбинируй их как хошь в любых сочетаниях. И, главное, все там ясно и понятно заранее, и что из этого получится и зачем это делать, и надо ли вообще.
avatar
3Qu, что за волшебная книжка?
avatar
The0bald, 1-й порядок, здесь ничего из БИХ кроме ЕМА не существует в природе. Начиная со 2-го порядка уже можно о чем-то говорить.
avatar
The0bald, помогает, но не панацея, скорее, доп преимущество на коротких интервалах.
avatar
Че-то я не понял: график такой же как в предыдущем посте.
avatar
SergP, он и есть. И ссылка на второй график из первого поста. Не рисовать же для каждого фильтра свой график.) Если не нужно конкретики, достаточно примерного вида.
avatar
И зачем вся эта ваша хрень нужна, если есть фильтры Баттерворта, Калмана, SuperSmoother которые хорошо работают?
avatar

теги блога 3Qu

....все тэги



UPDONW
Новый дизайн