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

 
Возникла необходимость в написании гладкой MA, которая не запаздывает вообще. Естественно, она будет заглядывать в будущее. Это меня устраивает. (МА нужна не для торговли.)
Предложите какой-нибудь простенький алгоритм...
 
МА, которая не запаздывает вообще, наверное будет называться регрессионной кривой.
Попробуйте вот этот скрипт полиномиальной регрессии:
'at PR+SQ-e'
При запуске скрипта выберите степень полинома. Чем выше степень - тем ближе полином будет напоминать вашу МА.
 
Чудной он какой-то. Рисует 3 параллельные линии.
 

Он не чудной! Долго объяснять. Поинтересуйтесь в поиске на предмет таких понятий как доверительный интервал, регрессия. Для вашей задачи вас должна интересовать только лишь центральная линия. Остальные можете не выводить на график.

 
Что такое "не запаздывать вообще", Daniil? Слишком расплывчато.

Чем не вариант - SМА с периодом 2*N+1, смещенный на N периодов влево относительно графика? Такой индюкатор будет "не запаздывать вообще" только в среднем, т.е. иногда будет точно показывать момент экстремума цены, иногда будет отставать, а иногда опережать. Причина заключается в том, что временные интервалы между экстремумами цены не постоянны. Грубо говоря, "не запаздывать вообще" он будет только на графике чистой синусоиды с определенным периодом.

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

Если же тебе нужен индюкатор, "не запаздывающий вообще" на любых более-менее значимых экстремумах, то, наверно, придется помозговать, взяв за основу приличный ZigZag, как-нибудь его сгладив и вставив между его экстремумами недостающие точки. Это вполне реальная задача, но совсем не простенькая.
 
Daniil >>:
Возникла необходимость в написании гладкой MA, которая не запаздывает вообще. Естественно, она будет заглядывать в будущее. Это меня устраивает. (МА нужна не для торговли.)
Предложите какой-нибудь простенький алгоритм...


MA "с минимальным запаздыванием" - фильтрованное значение цены. Лучше всего фильтровать с помощью Нейронный Сетей, а именно GRNN - Generalized Regression Neural Network (Обобщенная регрессионая нейронная сеть), указанный метод хорошо описан в книге: В.С. Медведев, В.Г. Потемкин, "Нейронные сети. Matlab 6.".

 

Посмотри этот вариант, но он, как говорит автор, малость перерисовывает 'HP Extrapolator'

 
если вы определите и раскажете, относительно чего она должна не запаздывать (математическую формулу) то нет проблем такую создать
 
У каждой машки есть диллемма по поводу не запаздывания/сглаженности (выбрать одно). А можно полюбопытствовать, для чего машка нужна, если не для торговли?
 
Daniil писал(а) >>
Возникла необходимость в написании гладкой MA, которая не запаздывает вообще. Естественно, она будет заглядывать в будущее. Это меня устраивает. (МА нужна не для торговли.)
Предложите какой-нибудь простенький алгоритм...

Лови!

Он самый заглядывающий в Мире и самый гладкий во Вселенной. А уж как перерисовывает... пальчики оближешь!

Файлы: