d9e5a92d

Копыркин К. - Anchored Momentum

Хорошо известный и очень простой в вычислении индикатор Momentum с давних пор вызывал мой как я не силился применить его в каких-либо торговых стратегиях, все мои попытки оказывались н неверно понимал в сути этого индикатора, поэтому раз за разом, откладывал его освоение до лучі
Лучшие времена наступили, когда мне в руки попал февральский номер журнала StockCommodit статьей Anchored Momentum. Автор статьи Rudy Stefenel описывает оригинальные методы сглажі в результате которых появляется целая группа самостоятельных индикаторов с новыми характерис довольно большая, поэтому я ограничусь кратким пересказом основных положений, которые в корі отношение к Momentum.
Как известно, Momentum представляет собой обычную разницу между текущей ценой и прошлой ц назад:
Обычный Momentum = Текущая цена - Прошлая цена
Momentum выраженный в процентном отношении более информативен при оценке относительного ценами:
Процентный Momentum = 100*(Текущая цена - Прошлая цена) / Прошлая цена Или, после алгебраических преобразований:
Процентный Momentum = 100*((Текущая цена / Прошлая цена) - 1)
Далее Rudy Stefenel описывает интересный индикатор Centered Simple Moving Average (CSMA), кот использоваться для расчета Anchored Momentum. В начале статьи автор говорит о том, что CSMA мі эффективно применяться в качестве основы для создания других индикаторов, однако часто игнор линия заканчивается не доходя до правого края графика цен.
Для понимания сути CSMA рассмотрим простой пример с 3-х дневной SMA. В этом случае - второй д серединой между первым и третьим днем периода.

Для того чтобы отцентрировать SMA относите; мы должны сдвинуть ее влево на один день. Так же производится центрирование SMA относитель других периодов. Математически это выглядит так: мы должны вычесть 1 из периода скользящей с полученный результат разделить на 2. В результате получим число периодов, на которое нужно сд для получения CSMA.

Например, для 9-периодной SMA считаем (9-1)/2 = 4, SMA нужно сдвинуть вл для получения CSMA.
Теперь можно посмотреть, что нам дает использование Centered Simple Moving Average при вычисл Momentum. В отличие от Обычного Momentum, в котором сравнивается текущая цена с ценой n-пеі Anchored Momentum текущая цена сравнивается со значением m-периодной SMA сдвинутой влево этом m = 2n + 1. На рисунке ниже видно, что Anchored Momentum менее свободен в своих движени (отсюда и название) сцеплен с CSMA, что заметно сглаживает его колебания.


Рис.1. Здесь 13-дневная SMA сдвинута влево на 6 периодов.

Для вычисления Momentum так же исі периодов. Линия Обычного Momentum (голубая) сравнивает цены в точках А и С. Линия Anchored I сравнивает цены в точках В и С.
Далее Rudy Stefenel рассматривает два вида индикаторов, которые можно получить с использовани Anchored Momentum (GAM) и Most Anchored Momentum (MAM), но сам же замечает позднее, что GA вычислении и интерпретации, а МАМ напротив прост, понятен и потому менее подвержен вероятно ошибок при использовании в торговых системах. Поэтому далее я буду рассматривать только один Anchored Momentum.
Итак, можно приступить к вычислению Anchored Momentum (АМ). Мы можем использовать наш при где текущая цена расположена в точке С, а точка В является якорем, ее значение принимается з; равно последнему значеню SMA. Соответственно:
Anchored Momentum = Текущая цена - Значение SMA
В свою очередь:
Период Momentum = (Период SMA - 1) / 2 что эквивалентно записи:
Период SMA = (2*Период Momentum) + 1
Таким образом, в коде EasyLanguage, формула AM будет выглядеть так:
AM = Close - Average(Close,(2*MomPer)+1) где MomPer = Период Momentum.
Следующим шагом вычисляем Процентный АМ по формуле:
Процентный АМ = 100*((Текущая цена / Значение SMA) - 1) или в коде EasyLanguage:
Perc.AM = 100*((Close / Average(Close,(2*MomPer) + 1)) - 1)
Здесь необходимо сделать небольшое отступление. Из полученных формул видно, что совсем не об предварять расчеты описанием Centered Simple Moving Average, достаточно было бы просто оговор
Период SMA и Период Momentum жестко связаны формулой:
Период SMA = (2*Период Momentum) + 1
Однако при вычислении General Anchored Momentum, который в данном пересказе не рассматриваі Периода SMA и Периода Momentum жестко не связаны, и становится более важным понимание суш
Посмотрим, что же получилось в результате:
.$EESR# LAST-Daily ..1 2/09/2000..02.604 ...;.0=2.600 . Н=2.625..І_=2.528.:?=02


Рис.2. Обычный Momentum - голубая кривая, Anchored Momentum - желтая кривая. (Период Momei соответственно Период SMA = 21)
Хорошо видно, что Обычный Momentum весьма размашист в своих колебаниях, и не всегда адеква-движение цен. Так, например небольшой рост цен в начале июля проявился просто-таки бурным в: Momentum, а на последовавшем боковике цен, Обычный Momentum так же бурно падал.



В свою Momentum более плавный, и более точно отображает, что же происходит с ценами.
Следующий шаг в получении простого, но информативного и удобного индикатора - сглаживание посредством Экспоненциальной МА. Чтобы убедиться в полезности подобной операции предлагаю і следующую картинку: Хорошо видно, как посредством сглаживания индикатор лишается своих резких зазубрин.
Rudy Stefenel предлагает проводить сглаживание следующим образом: при расчете Anchored Mome числителе не Текущую цену, а EMA от цены:
Сглаженный Anchored Momentum = 100*((Значение ЕМА / Значение SMA) - 1) где:
Период ЕМА = Период сглаживания, Период SMA = (2*Период Momentum) + 1 или в коде EasyLanguage эта формула будет выглядеть так:
Smoothed AM = 100*((Xaverage(Close,EmaPer) / Average(Close,(2*MomPer)+1))-1) где EmaPer = Период сглаживания (ЕМА), MomPer = Период Momentum
Далее, в своей статье Rudy Stefenel приводит простую торговую систему, основанную на пересечен Anchored Momentum нулевой линии, а затем подробно описывает ее оптимизацию методом Просто тестирования (тестирование за пределами выборки). Результаты весьма впечатляющие.

Однако, э другого пересказа.
Торговая система, предложенная автором статьи очень проста: Открытие длинной позиции, когда S Momentum пересекает нулевую линию вверх, закрытие длинной позиции, когда Smoothed Anchore пересекает нулевую линию вниз. Еще, автор рекомендует, при необходимости, создать вокруг нуле буферную зону, во избежание получения частых ложных сигналов на боковых движениях цен. В ко весь текст системы содержит всего три строчки:
Inputs: MomPer(11), EmaPer(6), Factor(1.2);
If 100*((XAverage(Close,EmaPer)/Average(Close,(2*MomPer)+1))-1) Cross over Factor Then Buy at Clo
If 100*((XAverage(Close,EmaPer)/Average(Close,(2*MomPer)+1))-1) Cross Below -Factor Then ExitLon
Здесь: MomPer - Период Momentum, EmaPer - Период сглаживания, Factor - тот самый зазор вокруг который рекомендован автором для защиты от дриблинга на боковиках.
В данном пересказе я не ставил перед собой цели описать создание полноценной высокодоходно а хотел только обратить Ваше внимание на то, что определенные манипуляции с индикатором Mom весьма привлекательным инструментом для использования в МТС (что раньше с ним у меня не очен Поэтому я не проводил никаких оптимизаций и настроек, просто кинул написанную выше систему ЕЭС, перебрал вручную несколько значений и остановился на следующих: Период Momentum = 3 ( период SMA =7), Период сглаживания = 3, Зазор вокруг нулевой линии = 1,5. Картинка ниже пред полученный результат.

По крайней мере, теперь я убедился, что Momentum - это действительно хо тренда.


Еще, мне очень понравилось, как торговая система основанная на Anchored Momentum ведет себя данных, в частности на часовиках по РАО ЕЭС. Но, это как говорится, уже новая сказка...
Итак, индикатор Momentum после незначительных преобразований может служить хорошим элемеі использования в торговых системах. Применение для расчета индикатора его привязки (anchoring Moving Average, и последующее сглаживание посредством Exponential Moving Average позволяют ср Momentum рано обнаруживать возникшие тренды, и быстро сигнализировать о их завершении.

Практикум:

Для удобного и оперативного исследования различных индикаторов на основе Momentum я написа EasyLanguage, который позволяет простым переключением флагов наносить на график все разно и их комбинации. Текст индикатора приведен в Приложении 1 ниже.

В Приложении 2 тексты и формате Метасток.
Приложение 1: Индикатор Anchored Momentum (els) Easy Language ' Project :
' Description : Plots various of Anchored and Ordinary Momentum ' Last Edit : 12-12-2000
' Coded By : KonKop Copyright 2000, FREEWARE ' Contact :
PlotType flags :
1 - plotting Ordinary (Classic) Momentum
2 - plotting CSMA Anchored Momentum
3 - plotting Smoothed Anchored Momentum
4 - plotting Ordinary Momentum and CSMA Anchored Momentum
5 - plotting CSMA Anchored Momentum and Smoothed Anchored Momentum}
Inputs: MomPer(11), EmaPer(6), PlotType(5);
Value1 = 100*((Close/Close[MomPer])-1); {Ordinary Momentum}
Value2 = 100*((Close/Average(Close,(2*MomPer)+1))-1); {Anchored Momentum}
Value3 = 100*((XAverage(Close,EmaPer)/Average(Close,(2*MomPer)+1))-1); {Smoothed Anchored Mo
If PlotType = 1 Then Plot1(Value1,OrdMom);
If PlotType = 2 Then Plot2(Value2,AnchMom);
If PlotType = 3 Then Plot3(Value3,SmAnchMom);
If PlotType = 4 Then Begin Plot1(Value1,OrdMom);
Plot2(Value2,AnchMom);
End;
If PlotType = 5 Then Begin Plot2(Value2,AnchMom);
Plot3(Value3,SmAnchMom);
End;
Plot4(0,Zero);
Приложение 2 Текст индикаторов Anchored Momentum в формате Metastock: Anchored Momentum
MomPer := Input(Momentum Periods,1,1000,10);
SmaPer := Input(Moving Average Periods,1,1000,7);
100 * ((CLOSE / Mov(CLOSE, (2 * MomPer) + 1, S) ) - 1)
Anchored Momentum with Exponential Smoothing MomPer := Input(Momentum Periods,1,1000,10);
SmaPer := Input(Simple Moving Average Periods,1,1000,7);
EmaPer := Input(Exponential Moving Average Periods,1,1000,7);
100 * ((Mov(CLOSE, EmaPer, E) / Mov(CLOSE, (2 * MomPer) + 1, S) ) - 1)



Содержание раздела