Если мошенники EXANTE Вас кинули, то сообщите об этом нам

Адаптивная скользящая Nick Rypoсk Moving Average

Несколько оговорок.

Полученные результаты оказались для меня несколько неожиданными, т.к. сначала исследования я вел в другом направлении.Сам я подобные методы пока не торгую и вряд ли скоро стану торговать, т.к. они не совсем отвечают моим торговым предпочтениям, да и тема находится в стадии освоения/усвоения.Вопросов после проведенной работы стало еще больше, чем было до ее начала, поэтому прошу рассматривать данный материал, как почву для дискуссий и обсуждений.

Два человека проводят дискуссию
Два человека проводят дискуссию

Все началось с написания «Трендового индикатора прорыва динамического ценового канала». Позже, от Колби и Мейерса я узнал, что подобный подход давно известен, и называется «Скользящий фильтр» (ох и трудно получить патент на два колеса с педалями) Но, нет худа без добра. В результате название индикатора было сокращено до удобоваримого NRTR (Nick Rypock Trailing Reverse), что пожалуй больше отвечает его смыслу. Вкратце, суть этого индикатора заключается в том, что он всегда находится на постоянном удалении от достигнутых экстремумов цен – под графиком на восходящих трендах и над графиком на нисходящих трендах. Здесь преследовалась следующая идея: небольшие коррекционные движения против основного тренда должны игнорироваться, а движение против основной тенденции, превышающие некоторый уровень (размер скользящего фильтра К) сигнализирует о смене направления тенденции.

Пример индикатора Nick Rypock Trailing Reverse
Пример индикатора Nick Rypock Trailing Reverse

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

Схема работы Схема работы NRTR. Индикатор всегда находится на постоянном удалении от достигнутых экстремумов цен
Схема работы Схема работы NRTR. Индикатор всегда находится на постоянном удалении от достигнутых экстремумов цен

Для восходящих трендов:

NRTR = Highest(Close, period)*(1-(K/100)),

Для нисходящих трендов:

NRTR = Lowest(Close, period)*(1+(K/100)),

где первая часть выражения – высший/низший экстремум цен, достигнутый за период с момента последнего пересечения ценами индикатора, К – размер скользящего фильтра в процентах, на который индикатор отстоит от достигнутых экстремумов.

Пример восходящего тренда
Пример восходящего тренда

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

Пример динамичного тренда
Пример динамичного тренда

Вот это его свойство я и решил попробовать использовать в качестве элемента управления периодом усреднения адаптивной скользящей средней. Индикатор, динамично движущийся вместе с ценами, указывает на наличие сильного тренда, горизонтально направленный индикатор сигнализирует о развивающейся коррекции или боковике. Таким образом, направление индикатора должно управлять периодом усреднения, посредством коэффициента к фактору сглаживания ЕМА.

Ликбез по адаптивной скользящей средней

Логика рассуждений была такова: на выраженных трендах период усреднения ЕМА должен быть мал, чтобы скользящая средняя как можно меньше отставала от цен, а в периоды коррекций и боковиков, период усреднения ЕМА должен возрастать, для фильтрации мелких колебаний цены.

Пример адаптивной скользящей средней
Пример адаптивной скользящей средней

Формула Nick Rypock Moving Average (NRMA) - стандартная формула ЕМА с дополнительным коэффициентом к фактору сглаживания:

NRMA = NRMA(-1) + NR_ratio*F*(Close – NRMA(-1)), где

F = 2/(1+n) – фактор сглаживания ЕМА,

n – минимальный период сглаживания ЕМА,

NRMA(-1) – предыдущее значение NRMA,

NR_ratio – коэффициент к фактору сглаживания на основе NRTR,

Слово Формула
Слово Формула

Осталось найти алгоритм вычисления NR_ratio. Сразу скажу, оказывается простые решения даются мне не так уж легко. Чего только я не перепробовал. И угол наклона пытался измерять и скользящие на NRTR накладывал, вычислял периоды горизонтального положения, и т.д. и т.п. Я чувствовал, что «истина где-то рядом…», однако постоянно шел к ней кружными путями. Как говаривал мой ротный, в восьмидесятых годах прошлого века: «Если Вы дурак, то читайте первоисточники, как это делаю я!» Перечитав в очередной раз Ченда и Кауфмана, я вдруг подумал, а почему надо искать более сложные преобразования? И остановился на самом простом и, как сейчас кажется, самом логичном. Осциллятор, вычисляемый, как абсолютное значение разности между ценой и NRTR и нормированный от 0 до 1. Дальше – проще. Осталось сгладить этот «пилообразный» осциллятор простой трех-периодной МА и возвести его в N-ную степень, для придания большей динамичности.

Синий индикатор на графике цены это NRTR с 10 скользящим фильтром К
Синий индикатор на графике цены это NRTR с 10 скользящим фильтром К

В результате, получился готовый коэффициент NR_ratio (Nick Rypock Ratio) к фактору сглаживания Экспоненциальной скользящей средней.

NR_ratio = (Average(Osc, 3))^Sharp, где

Osc = (100*AbsValue(Close-NRTR)/Close)/K – осциллятор нормированный от 0 до 1,

NRTR – старый знакомый,

K – размер скользящего фильтра, используемый при вычислении NRTR,

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

Пример введения осциллятора
Пример введения осциллятора

На сильных трендах, когда цены непрерывно прирастают (в плюс, или в минус), NR_ratio равен или близок к единице, что позволяет использовать очень малый период усреднения ЕМА. На коррекциях и боковиках, коэффициент заметно уменьшается, за счет чего резко увеличивает период усреднения ЕМА, которая перестает реагировать на мелкие пилообразные скачки цен, так характерные для периодов ненаправленного движения рынка.

Пример периода усреднения EMA
Пример периода усреднения EMA

Теперь настало время прояснить фразу в начале статьи о том, что результаты оказались для меня неожиданными. Дело вот в чем. Из приведенной выше формулы NRMA видно, что существует некий минимальный период усреднения скользящей средней. Он может увеличиваться при идентификации коррекции или боковика, но не может быть меньше определенной величины, как бы сильно не развивался тренд.

Различные линии тренда
Различные линии тренда

Начиная работу, я подразумевал, что торговые сигналы с использованием NRMA будут формироваться традиционно – при пересечение ценами индикатора. В первых опытах я использовал в качестве минимального периода усреднения для NRMA классические 12-ти и 21-дневные периоды. Результаты были совсем не впечатляющими, хотя адаптация скользящей средней к поведению цен была налицо. Вдруг я вычитал у Колби и Мейерса великую истину, что ЕМА меняет свое направление в момент пересечения ее ценой (раньше я об этом не знал).

Знаменитый трейдер Колби Роберт
Знаменитый трейдер Колби Роберт

Это позволило изменить алгоритм получения сигналов с "пересечения" на "направление", благо, хороший фильтр для сигналов на изменение направления ЕМА есть у Кауфмана. То есть, сигнал на покупку поступает, когда NRMA разворачивается вверх и проходит некоторое расстояние (Filter), обратное справедливо для сигналов на продажу. При этом, размер фильтра представляет собой процент от стандартного отклонения приращений индикатора за период.

Пример сигнала на продажу
Пример сигнала на продажу

Соединив воедино все эти великие открытия, я решил провести оптимизацию системы не только на величину входного фильтра, но и на значение минимального периода NRMA. Вот здесь результаты меня несколько обескуражили. На большинстве исследуемых рынков минимальный период NRMA действительно стремился к неразумному, на мой взгляд, минимуму, принимая значения от 2-х до 5-ти. Однако когда я нанес индикатор с полученными значениями на график, все встало на свои места.

Человек отвечает ручкой точки на графике динамики
Человек отвечает ручкой точки на графике динамики

На приведенном ниже рисунке хорошо видна разница между поведением быстрой 2-х периодной обычной ЕМА и NRMA со значением минимального периода равным 2. При динамичных движениях цены, NRMA так же быстро и динамично меняет свое направление ,давая своевременные сигналы в самом начале движения. Но при малейшем признаке боковика, NRMA увеличивает свой период усреднения, заметно сглаживая болтанку и исключая появление ложных сигналов. Такой способ использования индикатора оказался близок по смыслу к принципам Buy Bottoms - Sell Tops или Swing Trading, когда покупки и продажи происходят на ранней стадии движения от локальных минимумов или максимумов и не требуется предварительного подтверждения начавшегося тренда.

Синяя линия на графике  2-периодная ЕМА, красная линия – NRMA, зеленая линия гипотетический период усреднения NRMA
Синяя линия на графике 2-периодная ЕМА, красная линия – NRMA, зеленая линия гипотетический период усреднения NRMA

Короче, дальше лить воду не буду. Стало ясно, что минимальный период NRMA должен быть очень мал, для получения как можно более ранних сигналов на динамичных движениях цены. Дальнейшее поведение системы управляется остальными компонентами: K (скользящий фильтр NRTR), Sharp («острота» изменения периода сглаживания), ну и наконец, параметры фильтра на величину изменения NRMA от локального минимума/максимума (я использовал Кауфмановский вариант).

Пример индикатора Kaufman Efficiency Ratio
Пример индикатора Kaufman Efficiency Ratio

Учитывая полученные данные, можно утверждать, что использование NRMA в таком виде годится в первую очередь для получения сигналов входа (открытие лонга или шорта). Сигнал поступает на ранней стадии тренда, достаточно близко от локального минимума или максимума, достигнутого ценами. Для выхода разумнее использовать другие подходы, или учитывать дополнительные факторы. Поэтому, для демонстрации возможностей NRMA мне пришлось использовать так нелюбимую мной (и любимую Иваном FXS) простую реверсивную торговую систему. На рисунке ниже приведен результат системы для РАО ЕЭС ммвб с начальным капиталом 100, К=10%, мин.период=2, sharp=2, параметры Кауфмановского фильтра: период расчета StdDev=14, входной фильтр=0.7. Процент прибыльных сделок оказался около 62%, что совсем не плохо для реверсивной системы на одной скользящей средней.

Полная расшифровка графика динамики
Полная расшифровка графика динамики

Подбор К. Размер скользящего фильтра для вычисления NRTR пока приходится выбирать визуально, глядя на взаимное расположение графика цен и индикатора. Для одних бумаг хорошо подходит величина 10% (по умолчанию в формулах), для других приходится выбирать от 1% до 15%. Возможно, кто-то сможет предложить какой-то универсальный подход. Например, на форексе вообще теряют смысл проценты и речь должна идти о пунктах. Как тут быть, я пока не знаю.

Значок процента из золота
Значок процента из золота

Второй вопрос связан с первым. Маленький К весьма чувствителен, однако делает индикаторы слишком «дерганными». Большая величина К позволяет отслеживать более длинные тренды и фильтровать более глубокие коррекции. Но это оборачивается заметным снижением чувствительности NRMA в моменты смены основной тенденции. Грубо говоря, новый тренд уже вовсю идет, а NRMA все еще думает, что это глубокая коррекция и продолжает неторопливое движение с огромным периодом усреднения.

Пример периода усреднения
Пример периода усреднения

Оптимальный К можно находить с помощью оптимизации, однако это мне кажется довольно опасным занятием. Нужны какие-то логичные и единые для любых рынков правила.Возведение осциллятора NRTR в степень (я использовал 2,3 или 4) показалось мне единственным способом повысить «резкость» смены периода усреднения. Однако это весьма искусственное преобразование. Какие могут быть еще варианты?Для получения торговых сигналов, вместо традиционного пересечения ценами индикатора, я использовал конструкцию Кауфмановской АМА с фильтром на величину движения индикатора от локального минимума или максимума, с сигнальной линией в виде процента от стандартного отклонения ежедневных движений индикатора за период. Может, есть еще какие варианты? Я просто с другими не знаком.

А эта картинка - в качестве анекдота. Ну чем не священный грааль?

Кривая дохода реверсивной системы на основе NRMA с входным фильтром=0 на индексе РТС
Кривая дохода реверсивной системы на основе NRMA с входным фильтром=0 на индексе РТС

Иисточники

TraderBooks.Ru - вся информация по трейдингу

Yandex.Ru/Images - сервис поиска картинок от Яндекса

YouTube.com - популярный видеохостинг

VK.Com/id15031981 - Васильева Екатерина Васильевна, опубликовала и оформила статью