Germany | Finland | Saint Petersburg | Drive

Jurik Moving Average

Опубликовано в AmiBroker

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

 

 Что есть JMA?

Отфильтрованный с помощью скользящей средней сигнал в идеале должен быть гладкий и без задержек. Временной лаг приводит к задержкам, которые, в свою очередь, создают отставание в показателях и обычно приводят к снижению прибыли (или к появлению убытков). Иными словами, при увеличении лагов Вы поспеваете к столу, когда праздник уже завершился.

Скользящая средняя Jurik Moving average - хорошая попытка создать такой фильтр.

На рисунке искусственная имитация сигнала. Зубчатая серая линия на графике имитирует цену. Начало происходит на низком уровне цен, далее идет резкий взрывной рост и консолидация на более высоком уровне.

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

 

 

 Наложим на график этой цены несколько разных типов распространённых скользящих средних. Лучшей из них получается JMA:

 

Сравнение с EMA

Сравнение идет уже на реальных данных. Обратите внимание, как плохо EMA отслеживает быстрое движение цен. В отличие от нее, JMA выравнивает цены, отслеживая быстрые движения вверх и вниз.

 

 Долгосрочный анализ (пересечение скользящих)

В верхней части этого графика приведена история цены бумаги за полтора года. Вторая (зеленая) пара средних - это две JMA с разными периодами. Пересечения быстрой и медленной дают сигналы "купить" или "продать". В нижней части оранжевая пара классических экспоненциальных скользящих средних. Таким образом, при торговле на больших периодах сигналы при использовании JMA появляются примерно на 2 недели раньше, чем с экспоненциальными средними

 


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

Краткосрочный анализ (пересечение скользящих)

JMA не только позволяет выбрать «гладкость», но также точно настроить с его фазы. Таким образом, всегда можно достичь необходимого компромисса и перегибать палку. Проиллюстрируем это на следующем примере.

 

Создадим два индикатора: MACD JMA (сплошная фиолетовая линия, разница между двумя значениями JMA) и JMA из MACD (пунктирные белые линии). Сигналы срабатывают, когда эти две линии пересекаются. После оптимизации параметров для JMA длины и фазы, были достигнуты сигналы покупки и продажи, показанные на рисунке.

 

 



Colorbar

 

 Реализация 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

 

Комментарии   
# Владимир22 12.12.2015 15:42
Здравствуйте! А на LUA у вас есть реализация данного индикатора?
Ответить | Ответить с цитатой | Цитировать
# admin 12.12.2015 15:49
Добрый день в готовом виде на луа у меня его нет. Алгоритм несложен, поэтому перенести код на луа не столь сложно.

Есди нужно "прямо сейчас" - стучитесь в скайп и готовьте немного дензнаков. Если дензнаков жаль - подождите. Будет время - напишу
Ответить | Ответить с цитатой | Цитировать
# Владимир22 12.12.2015 16:09
А вы в каких-нибудь своих роботах используете данный мувинг как один из доп. сигналов? Или какие-то другие?
Ответить | Ответить с цитатой | Цитировать
# admin 12.12.2015 16:28
В последние годы я торгую арбитражные стратегии. Поэтому применение этой (и других) скользящей средней как правило мне не требуется. Но это лишь моя специфика.
Ответить | Ответить с цитатой | Цитировать
# Владимир22 12.12.2015 16:32
У вас где-то на сайте описан опыт работы по арбитражу? Примеру роботов, или примеры торговли?
Ответить | Ответить с цитатой | Цитировать
# admin 12.12.2015 16:43
Да, на этом сайте есть несколько примеров простых арбитражных роботов.
Ответить | Ответить с цитатой | Цитировать
# anbec 22.06.2016 15:53
Добрый день Михаил!

С огромным уваженим к Вам отношусь. Хотелось бы реализацию индикатора Jurik Moving Average в lua. Для Вас это видимо несложно сделать. Многие Вам будут благодарны бесконечно!!!!

С уважением, Аннгелина.
Ответить | Ответить с цитатой | Цитировать
# admin 22.06.2016 16:21
Спасибо на добром слове, Ангелина.

Касаемо JMA.

У меня в списке ToDo этот индикатор есть, но его приоритет невысок. В переводе на русский: будет скучно - напишу. Может, к тому времени его напишет кто-то еще
Ответить | Ответить с цитатой | Цитировать
# anbec 22.06.2016 16:43
Спасибо за приятный отзывтзыв, Михаил!

Проверь пожалуйста почту.

С уважением, Ангелина.
Ответить | Ответить с цитатой | Цитировать
# anbec 22.06.2016 17:29
. Может я mail забыла и неправилино отправила письмо, жду ответа
Ответить | Ответить с цитатой | Цитировать
# АлександрМ 05.07.2016 13:48
Добрый день! В Вашем коде для Амиброкера только 1 параметр, а по описанию у JMA 2 параметра, длина и фаза. Вы упростили код? Если нет, то куда делся второй параметр?
Ответить | Ответить с цитатой | Цитировать
# admin 05.07.2016 13:55
Александр.

Дело в том, что оригинальный алгоритм расчета JMA представляет собой интеллектуальну ю собственность и детально не раскрыт.

Поэтому по сети ходят различные алгоритмы вычисления JMA. Ни про один из них невозможно сказать что именно этот алгоритм подлинный. Наличие или отсутствие параметра Phase не делает алгоритм "более правильным".

С другой стороны, если вы сможете детально сформулировать, что означает этот параметр, я попробую его добавить в индикатор. Только пожалуйста, не нужно ссылок на 500-страничные научные труды.
Ответить | Ответить с цитатой | Цитировать
# АлександрМ 05.07.2016 14:15
Спасибо большое за быстрый ответ. Ссылок дать не могу, т.к. сам ищу формулу расчета, есть общее описание, где фигурируют эти 2 параметра. Я и надеялся, что Вы в курсе :) Картинки у Вас взяты с оригинального сайта. Вы сами смотрели свой индикатор по Вашему коду, он ведет себя точно также? Слишком уж код простой. AMA и то сложнее.
Ответить | Ответить с цитатой | Цитировать
# admin 05.07.2016 15:07
Думаю, что проверить работу индикатора вы сможете сами, раз он вам интересен. Я с удовольствием выслушаю результаты этого сравнения.
Ответить | Ответить с цитатой | Цитировать
# АлександрМ 06.07.2016 14:34
Выглядит индикатор мягко говоря совсем не так, как рекламируют картинки.
Вставить у вас тут картинку в ответ можно?
Написал свой по вашему коду для амиброкера, на часовике совпал 1 в 1 с Вашей бесплатной версией, но сам результат вообще ужасный.
Ответить | Ответить с цитатой | Цитировать
# admin 06.07.2016 15:15
тогда есть хороший выход: не используйте этот индикатор.
Ответить | Ответить с цитатой | Цитировать
# АлександрМ 06.07.2016 15:21
С таким выходом невозможно не согласиться. Или формула все-таки некорректна.
Ответить | Ответить с цитатой | Цитировать
# admin 11.07.2016 18:21
Вот не знаю, что вы такого некорректного нашли. Три скользящие : SMA (голубая), EMA(красная) и JMA (желтая) с периодом 9 на сбербанке 5 мин. Первое попавшееся, никакой подгонки.

www.bot4sale.ru/images/Articles/Jurik/Compare.png

Очевидно, что Jurik лучше всех повторяет график цены (минимальное запаздывание) и не генерирует ложные сигналы
Ответить | Ответить с цитатой | Цитировать
# Александр М 25.07.2016 10:57
Добрый день!
Прошу прощения за долгий ответ, был в отпуске.
Вы задайте период не 9, а 20 например и увидите, что индикатор начинает вылетать далеко за цену, что для CC странно.
Ответить | Ответить с цитатой | Цитировать
# admin 25.07.2016 11:14
Александр.

Сдуру сами знаете что можно сломать.

Есть формула JMA, индикатор ее реализует. Правильное использование индикатора может принести пользу, неправильное - вред. Как и везде и во всем.
Ответить | Ответить с цитатой | Цитировать
# Александр М 25.07.2016 11:28
Согласен. Просто ни 1 другой индикатор СС, про которые Вы пишите для сравнения, не заходит за границы бара, поскольку сам принцип скользящей средней говорит о сглаживании существующих цен и выйти на диапазон ряда неправильно идеологически.
График по Вашей формуле больше похож на индикатор Ab TRend:
luarobot.apmt.ru/2016/03/04/ab_trend/
Ответить | Ответить с цитатой | Цитировать
Добавить комментарий