Индикатор AMA – адаптивная скользящая средняя

 

Адаптивная скользящая средняя Кауфмана (AMA, KAMA или AMkA) — технический индикатор, построенный на базе экспоненциально сглаженной скользящей средней и оригинальной формулы, использующей волатильность для расчета динамически изменяющейся сглаживающей переменной.

Как следует из названия, скользящая средняя (KAMA) относится к категории скользящих средних, но, в отличие от традиционной скользящей средней, она намного «умнее», чем обычная скользящая средняя. Мы знаем, что у МА много недостатков. Например, краткосрочная скользящая средняя близка к ценовому тренду, который очень чувствителен, но легко выдает ложные сигналы. Долгосрочная скользящая средняя очень точна при захвате тренда, но часто реагирует очень медленно, когда рыночная цена какое-то время двигалась.

«Умность» КАМА выражается в том, что она может основываться на текущем состоянии рынка, то есть волатильности, регулировать чувствительность. Форма его реализации такова: на шоковом рынке смена КАМА явно замедлена; Когда тренд наступит, он быстро отреагирует.

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

КАМА в графике

Методика расчета КАМА

  • Direction (DIR) = цена закрытия — цена закрытия до n дней
  • Волатильность (VIR) = sum(abs (цена закрытия — цена закрытия предыдущего торгового дня), n)
  • Эффективность (ER) = направление / волатильность
  • Быстро = 2 / (n1 + 1)
  • Медленный = 2 / (n2 + 1)
  • Плавный (CS) = эффективность * (быстрый — медленный) + медленный
  • Коэффициент (CQ) = гладкий * гладкий
  • KAMA = экспоненциально взвешенная средняя (динамическая скользящая средняя (цена закрытия, коэффициент), 2)

Среди них n, n1 и n2 являются периодическими параметрами. По умолчанию количество n циклов равно 10, n1 — количество краткосрочных циклов, равное 2, а n2 — количество долгосрочных циклов, равное 30. Это также набор параметров, согласованных автором KAMA Перри Кауфманом, n используется для расчета направления и волатильности, n1 и n2 — количество периодов быстрой скользящей средней и медленной скользящей средней. Теоретически, чем больше параметр n1, тем более гладкий КАМА.

KAMA рассчитывается путем первого вычисления направления (DIR) и летучести (VIR), а затем расчета эффективности пропорционально в соответствии с этими двумя. Эффективность (ER) является мерой степени изменения цены и рассчитывается простым способом: направление/волатильность. Результат вычисления находится в диапазоне от 0 до 1. Когда значение ER ближе к 0, рынок находится в состоянии колебаний. Когда значение ER приближается к 1, рынок находится в состоянии тренда.

При расчете эффективности (ER) константу сглаживания (CS) можно получить, объединив быструю скользящую среднюю и медленную скользящую среднюю:

Эффективность * (быстрая — медленная) + медленная

CS представляет собой скорость работы тренда. Согласно формуле расчета CS, мы можем обнаружить, что изменение CS всегда пропорционально изменению ER.

Затем коэффициент (CQ) рассчитывается в соответствии со сглаженной мощностью, и цель состоит в том, чтобы параметр медленного цикла играл более важную роль в расчете, что также является более консервативным подходом.

Конечная гладкость КАМА определяется коэффициентом (CQ). При расчете КАМА коэффициент (CQ) определяет периодические параметры сглаживания двух последних скользящих средних, а именно: экспоненциальная средневзвешенная (динамическая скользящая средняя (цена закрытия, коэффициент), 2).

Как использовать KAMA

Несмотря на то, что метод расчета КАМА очень сложен, метод использования аналогичен обычной скользящей средней. В практических приложениях он может не только судить о рыночном тренде, но также может использоваться для точных торговых точек. Поскольку он очень «умный», его можно использовать во многих торговых целях, даже на рынке криптовалют.

  • Когда цена превышает KAMA и KAMA растет, открывается длинная позиция.
  • Когда цена меньше KAMA и KAMA падает, открывается короткая позиция.
  • Когда цена меньше KAMA или KAMA падает, длинная позиция закрывается.
  • Когда цена больше, чем КАМА, или КАМА растет, короткая позиция закрывается.

Построение торговой стратегии на базе КАМА

Шаг 1: рассчитать КАМА

Обратите внимание, что в левом верхнем углу выберите язык программирования: Мой язык. В библиотеке талибов уже есть готовый КАМА, но у него только один цикл внешних параметров (n), а n1 и n2 по умолчанию равны 2 и 30.

Стратегии, описанные в этой статье, используются только в качестве ссылок. Читатели с сильными способностями к программированию могут писать свои собственные. В процессе программирования My language мы также можем смешивать с языком JavaScript, обратите внимание на следующий код:

%% // Standard format for JavaScript within My language
scope.KAMA = function() {
var r = _C(exchange.GetRecords); // Get the K line array
if (r.length > 140) { // filter the length of the K line
var kama = talib.KAMA(r, 140); // Call talib library to calculate KAMA
Return kama[kama.length - 2]; // return the specific value of KAMA
}
Return;
}
%% // Standard format for JavaScript within My language

Шаг 2: Рассчитайте торговые условия и разместите ордер

%%
scope.KAMA = function() {
var r = _C(exchange.GetRecords);
if (r.length > 140) {
var kama = talib.KAMA(r, 140);
Return kama[kama.length - 2];
}
Return;
}
%%

K^^KAMA; // Print KAMA on the chart
A:CLOSE; // print the closing price on the chart

K > REF(K, 1) && CLOSE > K,BK; // Open long position
K < REF(K, 1) && CLOSE < K,SK; // Open short position
K < REF(K, 1) || CLOSE < K,SP; // close long position
K > REF(K, 1) || CLOSE > K,BP; // close short position

Шаг 3: Установите метод фильтрации сигналов стратегии

%%
scope.KAMA = function() {
var r = _C(exchange.GetRecords);
if (r.length > 140) {
var kama = talib.KAMA(r, 140);
Return kama[kama.length - 2];
}
Return;
}
%%

K^^KAMA;
A:CLOSE;

K > REF(K, 1) && CLOSE > K,BK;
K < REF(K, 1) && CLOSE < K,SK;
K < REF(K, 1) || CLOSE < K,SP;
K > REF(K, 1) || CLOSE > K,BP;

AUTOFILTER; // Enable one open and one close signal filtering mechanism

Бэктест стратегии

Чтобы приблизиться к реальной торговой среде, мы использовали 2 пункта проскальзывания, чтобы проверить давление в реальной торговле. Тестовая среда выглядит следующим образом:

  • Биржа: BitMEX
  • Разновидность торговли: XBTUSD
  • Время: 01 июля 2017 г. ~ 01 июля 2019 г.
  • Цикл линии K: дневная линия
  • Проскальзывание: 2 пункта для открытия и закрытия позиций

Среда тестирования на истории

Информация о прибыли

Кривая фонда

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

Исходный код стратегии

Для получения дополнительной информации, пожалуйста, свяжитесь с нами по адресу: https://www.fmz.com/strategy/155663

Сводка

Отличная стратегия, которая может быть твердой стратегией, должна быть отшлифована. Стратегии, описанные в этой статье, имеют много места для оптимизации и обновления, например, добавление определенных условий фильтрации, условий активного стоп-лосса и стоп-лосса. Как разновидность скользящей средней, КАМА наследует преимущества и недостатки обычных скользящих средних и в то же время сублимирует. На непредсказуемом рынке, даже если зафиксировать «лучший параметр», сложно адаптироваться к будущему рынку. Таким образом, этот метод изменения в соответствии с тенденцией и изменения вместе с рынком может быть лучшим выбором.

В терминале QUIK её можно найти под названием AMA и внешне она ничуть не отличается от обычной скользящей средней.


Идея и построение индикатора

Для коррекции периода усреднения базовой EMA введен специальный «коэффициент эффективности» ER (от англ. efficiency ratio). Этот коэффициент служит для оценки трендовой составляющей рынка в текущий момент времени. Благодаря ему адаптивная средняя автоматически подстраивается под рыночные условия: в боковике она становится более плавной и медленной, а в периоды тренда, напротив, становится более чувствительной, чтобы чутко реагировать на возможные переломы тенденции.

Вычисление коэффициента эффективности ER в момент времени t за период n.

В числителе формулы рассчитывается общее движение цены, а в знаменателе сумма шумовых движений. Значение ER стремится к нулю, когда на рынке нет конкретного направления, и к единице, когда рынок движется направленно. Чем более устойчивое и ровное будет движение, тем ближе к единице будет значение коэффициента.

С помощью этого коэффициента рассчитывается сглаживающая константа.

где fastest – быстрый коэффициент сглаживания за f периодов, slowest – медленный коэффициент сглаживания за s периодов. Сглаживающая константа используется в конечной формуле адаптивной скользящей средней, которая по сути является модификацией формулы EMA:


Настройка индикатора

Стандартные настройки индикатора, которые предлагал Кауфман, выглядят следующим образом:

n = 10   для окна вычисления коэффициента эффективности,

f = 2   для быстрой скользящей средней,

s = 30   для медленной скользящей средней

Также терминал QUIK дает возможность выбрать данные, по которым будет строиться средняя. Могут использоваться цены закрытия (close), открытия(open), максимум(high), минимум(low), median = (high+low)/2 и typical = (high+low+close)/3. Рекомендуется использовать close.

Торговые сигналы

В торговле использование AMA ничем не отличается от использования обычной скользящей средней.

Когда график цены пересекает график AMA снизу вверх, это сигнал к открытию длинной позиции или закрытию короткой.

Когда график цены пересекает график AMA сверху вниз, это сигнал к открытию короткой позиции или закрытию длинной.

При этом при наличии тренда на старшем временном периоде рекомендуется открывать позиции преимущественно в его направлении, либо увеличивать объем при сделках по тренду.

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

Адаптивную скользящую среднюю хорошо комбинировать с уровнями сопротивления и поддержки, а также объемными или импульсными осцилляторами, вроде Momentum, OBV, RSI и др.

Источник

Источник