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

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

Я только что опубликовал новую книгу после успеха Новые технические индикаторы в Python. Он содержит более полное описание и добавление сложных торговых стратегий со страницей Github, посвященной постоянно обновляемому коду. Если вы считаете, что это вас заинтересует, не стесняйтесь перейти по приведенной ниже ссылке или, если вы предпочитаете купить версию в формате PDF, вы можете связаться со мной в Linkedin.



Концепция скользящей средней

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

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

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

def ma(Data, lookback, what, where):
    
  for i in range(len(Data)):
      try:
        Data[i, where] = (Data[i - lookback + 1:i + 1, what].mean())
        
            except IndexError:
                pass
    return Data

Золотой Крест

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

Если вас также интересуют другие технические индикаторы и использование Python для создания стратегий, то мой бестселлер по техническим индикаторам может вас заинтересовать:



Крест Смерти

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

Перекрестный индикатор

Индикатор пересечения - это тип сигнала о пересечении двух скользящих средних. Он состоит из разницы между краткосрочной скользящей средней и долгосрочной скользящей средней.

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

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

def deleter(Data, index, times):
    
    for i in range(1, times + 1):
    
        Data = np.delete(Data, index, axis = 1)
return Data
def cross_indicator(Data, short_lookback, long_lookback, what, where):
    
    Data = ma(Data, short_lookback, what, where)
    Data = ma(Data, long_lookback, what, where + 1)
    
    Data[:, where + 2] = Data[:, where] - Data[:, where + 1]
    
    Data = deleter(Data, where, 2)
    
    return Data

Трейдер может выбрать период ретроспективного анализа, за которым он будет следовать. Обычно люди говорят о кроссах между 60/200 и 20/60, но, по моему личному мнению, ничего не работает стабильно. Поэтому в этой статье не будет бэктеста. Я использую только скользящие средние в дискреционной торговле (т.е. чтобы найти уровни поддержки и сопротивления для оптимальных точек входа). Однако один момент всегда интересовал меня этими увлекательными индикаторами, это их слабость. Можем ли мы превратить эту слабость в силу?

Слабость, о которой я здесь говорю, - это отставание.

Использование запаздывания скользящих средних

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

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

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

  • Каждый раз, когда происходит «золотой крест» (т. е. перекрестный индикатор становится положительным), мы должны дождаться, пока рыночная цена упадет до области, где находится скользящая средняя, ​​прежде чем выставлять длинный ордер (покупка).
  • Каждый раз, когда происходит "Крест смерти" (т. е. перекрестный индикатор становится отрицательным), мы должны дождаться, пока рыночная цена поднимется до области, где находится скользящая средняя, ​​прежде чем запускать короткий ордер (на продажу).

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

  • Всякий раз, когда индикатор перекрестия переключается с отрицательных значений на положительные, это означает, что происходит золотой крест, и рынок становится бычьим. Или уже стал бычьим, поскольку скользящие средние запаздывают. Здесь мы инициируем короткий ордер (на продажу)
  • Всякий раз, когда индикатор перекрестия переключается с положительных значений на отрицательные, это означает, что это крест смерти, и рынок становится медвежьим. Или уже стал медвежьим, поскольку скользящие средние запаздывают. Здесь мы инициируем длинный заказ (покупка)
# Reverse Crossover Strategy
def reverse_crossover_signal(Data, what, buy, sell):
    
    for i in range(len(Data)):
            
        if Data[i, what] > 0 and Data[i - 1, what] < 0 and Data[i - 2, what] < 0:
            Data[i, sell] = -1
            
        if Data[i, what] < 0 and Data[i - 1, what] > 0 and Data[i - 2, what] > 0:
            Data[i, buy] = 1
# Standard Crossover Strategy
def crossover_signal(Data, what, buy, sell):
    
    for i in range(len(Data)):
            
        if Data[i, what] > 0 and Data[i - 1, what] < 0 and Data[i - 2, what] < 0:
            Data[i, buy] = 1
            
        if Data[i, what] < 0 and Data[i - 1, what] > 0 and Data[i - 2, what] > 0:
            Data[i, sell] = -1

Напомню, что при стандартной стратегии кроссовера мы покупаем Золотой Крест и продаем Крест Смерти, в то время как стратегия обратного кроссовера - это когда мы продаем Золотой Крест и покупаем Крест Смерти.

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

Чтобы узнать больше о методах скользящего среднего, прочтите статью ниже:



Заключение

Почему была написана эта статья? Это определенно не метод кормления с ложечки и не путь к прибыльной стратегии. Если вы будете следить за моими статьями, то заметите, что я уделяю больше внимания как это сделать, а не вот он, и что я также предоставляю функции, а не полный воспроизводимый код. В финансовой индустрии вам следует самостоятельно комбинировать кусочки другой экзогенной информации и данных, только тогда вы овладеете искусством исследования и торговли. Я всегда советую вам проводить надлежащие бэк-тесты и понимать любые риски, связанные с торговлей.