Jurik Moving Average
Скользящая средняя, характеризующаяся низкой задержкой, плавностью и гладкостью, а также хорошей фильтрацией шума.
Что есть JMA?
Отфильтрованный с помощью скользящей средней сигнал в идеале должен быть гладкий и без задержек. Временной лаг приводит к задержкам, которые, в свою очередь, создают отставание в показателях и обычно приводят к снижению прибыли (или к появлению убытков). Иными словами, при увеличении лагов Вы поспеваете к столу, когда праздник уже завершился.
Скользящая средняя Jurik Moving average - хорошая попытка создать такой фильтр.
На рисунке искусственная имитация сигнала. Зубчатая серая линия на графике имитирует цену. Начало происходит на низком уровне цен, далее идет резкий взрывной рост и консолидация на более высоком уровне.
которого начинается в диапазоне низких торговых, то пробелы на более высокий торговый диапазон. Зеленый фильтр шумоподавления, нарисованный на графике, очень близок к идеальному - он очень быстро реагирует на изменение цены в момент ее резкого роста и игнорирует мелкие колебательные движения в начале и конце графика.
Наложим на график этой цены несколько разных типов распространённых скользящих средних. Лучшей из них получается JMA:
Сравнение с EMA
Сравнение идет уже на реальных данных. Обратите внимание, как плохо EMA отслеживает быстрое движение цен. В отличие от нее, JMA выравнивает цены, отслеживая быстрые движения вверх и вниз.
Долгосрочный анализ (пересечение скользящих)
В верхней части этого графика приведена история цены бумаги за полтора года. Вторая (зеленая) пара средних - это две JMA с разными периодами. Пересечения быстрой и медленной дают сигналы "купить" или "продать". В нижней части оранжевая пара классических экспоненциальных скользящих средних. Таким образом, при торговле на больших периодах сигналы при использовании JMA появляются примерно на 2 недели раньше, чем с экспоненциальными средними
Слишком плавные линии продуцируют очень мало сделок. Слишком резкие линии создают массу сделок. И то и другое пожирает прибыль. На следующей картинке показано преимущество JMA, позволяющее избежать чрезмерной торговли при сохранении своевременности сигналов.
Краткосрочный анализ (пересечение скользящих)
JMA не только позволяет выбрать «гладкость», но также точно настроить с его фазы. Таким образом, всегда можно достичь необходимого компромисса и перегибать палку. Проиллюстрируем это на следующем примере.
Создадим два индикатора: MACD JMA (сплошная фиолетовая линия, разница между двумя значениями JMA) и JMA из MACD (пунктирные белые линии). Сигналы срабатывают, когда эти две линии пересекаются. После оптимизации параметров для JMA длины и фазы, были достигнуты сигналы покупки и продажи, показанные на рисунке.
Реализация Jurik Moving Average для Amibroker:
function JMA( array, per ) { s1=0; for( i = 0; i < per; i++ ) s1 += (per-2*i-1)/2 * Ref(array,-i); return MA(array,per) + (per/2+1)*S1 / ((per+1)*per); } k=Param("Period",15,1,100,1); J=JMA(C,k);
Cм. также Все скользящие средние в одном флаконе
Update 23.06.2016. Индикатор JMA для quik
Комментарии
Есди нужно "прямо сейчас" - стучитесь в скайп и готовьте немного дензнаков. Если дензнаков жаль - подождите. Будет время - напишу
www.bot4sale.ru/.../jurik-moving-average.html
С огромным уваженим к Вам отношусь. Хотелось бы реализацию индикатора Jurik Moving Average в lua. Для Вас это видимо несложно сделать. Многие Вам будут благодарны бесконечно!!!!
С уважением, Аннгелина.
Касаемо JMA.
У меня в списке ToDo этот индикатор есть, но его приоритет невысок. В переводе на русский: будет скучно - напишу. Может, к тому времени его напишет кто-то еще
Проверь пожалуйста почту.
С уважением, Ангелина.
Дело в том, что оригинальный алгоритм расчета JMA представляет собой интеллектуальну ю собственность и детально не раскрыт.
Поэтому по сети ходят различные алгоритмы вычисления JMA. Ни про один из них невозможно сказать что именно этот алгоритм подлинный. Наличие или отсутствие параметра Phase не делает алгоритм "более правильным".
С другой стороны, если вы сможете детально сформулировать, что означает этот параметр, я попробую его добавить в индикатор. Только пожалуйста, не нужно ссылок на 500-страничные научные труды.
Вставить у вас тут картинку в ответ можно?
Написал свой по вашему коду для амиброкера, на часовике совпал 1 в 1 с Вашей бесплатной версией, но сам результат вообще ужасный.
www.bot4sale.ru/images/Articles/Jurik/Compare.png
Очевидно, что Jurik лучше всех повторяет график цены (минимальное запаздывание) и не генерирует ложные сигналы
Прошу прощения за долгий ответ, был в отпуске.
Вы задайте период не 9, а 20 например и увидите, что индикатор начинает вылетать далеко за цену, что для CC странно.
Сдуру сами знаете что можно сломать.
Есть формула JMA, индикатор ее реализует. Правильное использование индикатора может принести пользу, неправильное - вред. Как и везде и во всем.
График по Вашей формуле больше похож на индикатор Ab TRend:
luarobot.apmt.ru/2016/03/04/ab_trend/
RSS лента комментариев этой записи