4
Подписаться
1271
Подписчики

Применение технических индикаторов Aroon в количественной торговле

Создано: 2019-06-29 14:42:04, Обновлено: 2024-12-24 20:18:07
comments   1
hits   3779

[TOC]

Применение технических индикаторов Aroon в количественной торговле

Введение в индикатор Aroon

В техническом анализе Aroon — это уникальный технический индикатор. Слово «Aroon» происходит от санскрита, что означает «рассвет». Он не так известен, как MA, MACD, KDJ. Он был представлен позже и не был изобретен до 1995 года Тушаром Чанде. Автор также изобрел Чандский моментум-осциллятор (CMO) и внутридневной моментум-индекс (IMI). Если чем больше людей знают технический индикатор и чем больше людей его используют, тем ниже будет его способность зарабатывать деньги. Относительно новый индикатор Aroon — полная противоположность. С этой точки зрения, это хороший выбор.

Индикатор Арун на графике

Индикатор Aroon помогает трейдерам прогнозировать изменения относительного положения ценовых движений и областей тренда путем расчета количества свечей между текущей свечой и предыдущими максимальными и минимальными ценами. Он состоит из двух частей, а именно, AroonUp и AroonDown. Эти две линии движутся вверх и вниз между 0 и 100. Хотя они называются верхней и нижней линиями, они не то же самое, что верхняя и нижняя линии . В отличие от индикатора BOLL, у него нет точной верхней и нижней линии. Следующий рисунок — индикатор Аруна: Применение технических индикаторов Aroon в количественной торговле

Метод расчета показателя Аруна

Индикатор Aroon требует, чтобы вы сначала установили параметр периода времени, как и параметр периода скользящей средней. В традиционном рыночном программном обеспечении этот номер периода равен 14. Конечно, этот параметр периода не фиксирован. Вы также можете установить его на 10 или 50 и т.д. подождите. Для простоты понимания определим этот параметр периода времени как: N. После определения N мы можем вычислить AroonUp и AroonDown. Конкретная формула расчета выглядит следующим образом:

  • AroonUp =[ (параметр периода установки - количество периодов после самой высокой цены) / расчетный период] * 100
  • AroonDown =[ (параметр периода установки - количество периодов после самой низкой цены) / расчетный период] * 100

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

Как использовать индикатор Aroon

AroonUp и AroonDown отражают расстояние между текущим временем и предыдущей самой высокой или самой низкой ценой. Если время ближе, то значение больше, а если время дальше, то значение меньше. И когда две линии пересекаются, это указывает на то, что направление цены может измениться. Если AroonUp выше AroonDown, это означает, что цена находится в восходящем тренде и цена может вырасти еще больше в будущем; если AroonDown выше AroonUp, это означает что цена находится в нисходящем тренде и цена может вырасти еще больше в будущем. Она может упасть еще больше.

В то же время мы также можем установить несколько фиксированных значений для точного определения времени входа. Мы знаем, что индикатор Aroon всегда находится в диапазоне от 0 до 100. Поэтому, когда рынок находится в восходящем тренде, то есть, когда AroonUp выше AroonDown, когда AroonUp больше 50, это означает, что на рынке сформировался восходящий тренд. и цена может продолжить расти в будущем. Когда AroonUp пересекает уровень 50, это означает, что импульс роста цены ослабевает и цена может колебаться и падать в будущем.

Напротив, когда рынок находится в нисходящем тренде, то есть когда AroonDown выше AroonUp, когда AroonDown больше 50, это означает, что нисходящий тренд рынка сформировался и цена может продолжить падать в будущем; Когда AroonDown пересекает уровень ниже 50, это означает, что импульс снижения цен ослабевает. Цены могут колебаться и расти в будущем. Тогда, согласно двум вышеприведенным теориям, мы можем перечислить условия покупки и продажи следующим образом:

  • Когда AroonUp больше AroonDown, а AroonUp больше 50, открывается длинная позиция;
  • Когда AroonUp меньше AroonDown или AroonUp меньше 50, длинные позиции закрываются;
  • Когда AroonDown больше AroonUp, а AroonDown больше 50, открывается короткая позиция;
  • Когда AroonDown меньше AroonUp или AroonDown меньше 50, короткая позиция закрывается;

Построение торговой стратегии на основе индикатора Aroon

После уточнения торговой логики мы можем реализовать ее с помощью кода. В этой статье мы продолжим использовать язык JavaScript, а продуктом по-прежнему будут товарные фьючерсы. Друзья с хорошими практическими навыками также могут перевести код на язык Python или цифровую валюту. Хорошо, без лишних слов, открываем: fmz.com > Вход > Центр управления > Библиотека политик > Новая политика, начинаем писать политику и обращаем внимание на комментарии в коде ниже.

Шаг 1: Используйте структуру призыва к действию Уведомление! Обязательно нажмите на следующее:商品期货交易类库. Если вы переходите на цифровую валюту, нажмите:数字货币现货交易类库

function main() {
    // ZC000/ZC888 指用指数做为行情源但交易映射到主力连续合约上
    $.CTA("ZC000/ZC888", function(st) {

    })
}

Шаг 2: Получите данные

function main() {
    $.CTA("ZC000/ZC888", function(st) {
        var r = st.records;  // 获取K线数组
        var mp = st.position.amount;  // 获取持仓数量
    })
}

Шаг 3: Рассчитайте показатель Аруна.

function main() {
    $.CTA("ZC000/ZC888", function(st) {
        var r = st.records;  // 获取K线数组
        var mp = st.position.amount;  // 获取持仓数量
        if (r.length < 21) {  // 判断K线数据是否足够
            return;
        }
        var aroon = talib.AROON(r, 20);  // 阿隆指标
        var aroonUp = aroon[1][aroon[1].length - 2];  // 阿隆指标上线倒数第2根数据
        var aroonDown = aroon[0][aroon[0].length - 2];  // 阿隆指标下线倒数第2根数据
    })
}

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

function main() {
    $.CTA("ZC000/ZC888", function(st) {
        var r = st.records;  // 获取K线数组
        var mp = st.position.amount;  // 获取持仓数量
        if (r.length < 21) {  // 判断K线数据是否足够
            return;
        }
        var aroon = talib.AROON(r, 20);  // 阿隆指标
        var aroonUp = aroon[1][aroon[1].length - 2];  // 阿隆指标上线倒数第2根数据
        var aroonDown = aroon[0][aroon[0].length - 2];  // 阿隆指标下线倒数第2根数据
        if (mp == 0 && aroonUp > aroonDown && aroonUp > 50) {
            return 1;  // 多头开仓
        }
        if (mp == 0 && aroonDown > aroonUp && aroonDown > 50) {
            return -1;  // 空头开仓
        }
        if (mp > 0 && (aroonUp < aroonDown || aroonUp < 50)) {
            return -1;  // 多头平台
        }
        if (mp < 0 && (aroonDown < aroonUp || aroonDown < 50)) {
            return 1;  // 空头平台
        }
    })
}
// 以上代码就是基于JavaScript语言完整的策略。

// --------------------分割线--------------------

// 为了照顾伸手党,顺便也把这个策略翻译成My语言。同时该也可以用于数字货币,以下是完整的策略代码:
AROONUP := ((N - HHVBARS(H, N)) / N) * 100;  // 阿隆指标上线
AROONDOWN := ((N - LLVBARS(L, N)) / N) * 100;  // 阿隆指标下线
AROONUP > AROONDOWN && AROONUP > BKV, BK;  // 多头开仓
AROONDOWN > AROONUP && AROONDOWN > SKV, SK;  // 空头开仓
AROONUP < AROONDOWN || AROONUP < SPV, SP;  // 多头平台
AROONDOWN < AROONUP || AROONDOWN < BPV, BP;  // 空头平台
AUTOFILTER;

Стратегия бэктестинга

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

  • Тип рынка: Индекс энергетического угля
  • Торговые сорта: энергетический уголь основной
  • Время: 1 июня 2015 г. ~ 28 июня 2019 г.
  • Цикл: Ежедневно
  • Проскальзывание: 2 скачка для открытия и закрытия позиций
  • Комиссия за обработку: в 2 раза больше суммы обмена

Тестовая среда Применение технических индикаторов Aroon в количественной торговле Подробная информация о доходах Применение технических индикаторов Aroon в количественной торговле Кривая финансирования Применение технических индикаторов Aroon в количественной торговле Из результатов бэктеста выше мы видим, что стратегия хорошо работает, когда рыночный тренд гладкий. Будь то рост или падение, индикатор Aroon может полностью отслеживать рынок. Кривая капитала также имеет общую тенденцию к росту, и существенного отката не наблюдается. Однако на волатильном рынке, особенно на рынке с постоянной волатильностью, происходили локальные откаты.

Преимущества и недостатки индикатора Арун

  • Преимущества: Индикатор Aroon может определять состояние тренда, учитывая способность обнаруживать рыночные тенденции и определять развороты цен, помогая трейдерам улучшить коэффициент использования средств. Это преимущество особенно важно на волатильных рынках.
  • Недостатки: Индикатор Aroon является лишь одним из индикаторов отслеживания тренда и имеет те же недостатки, что и индикаторы отслеживания тренда. И он определяет только количество циклов самой высокой или самой низкой цены в указанное время, но иногда самая высокая или самая низкая цена будет случайной во всем рыночном тренде. Эта случайность будет мешать самому индикатору Aroon и вызывать ложные сигналы.

Нажмите, чтобы скопировать исходный код стратегии

Подвести итог

В стратегии мы зафиксировали некоторые параметры, такие как: aroonUp или aroonDown больше или меньше 50, что вызывает задержку стратегии. Во многих случаях рынок будет расти или падать в течение некоторого периода времени перед открытием и закрытие позиций. Хотя это увеличивает процент выигрышей и снижает максимальный процент просадок, это также приводит к потере большого количества прибыли, что также подтверждает принцип, согласно которому прибыли и убытки имеют один и тот же источник. Друзья, которым интересно, могут изучить его глубже и улучшить.