Внедрение MACD в Python

Автор:Доброта, Создано: 2019-04-08 10:56:11, Обновлено:

MACD - это широко используемый технический индикатор в торговле акциями, валютами, криптовалютами и т. Д.

Основы MACD

MACD используется и обсуждается во многих различных торговых кругах. Дивергенция скользящей средней конвергенции (MACD) - это индикатор, следующий за трендом. MACD можно вычислить очень просто, вычитая 26-периодную EMA из 12-периодной EMA. Мы ранее обсуждали EMA в нашей статье здесь. MACD можно использовать и интерпретировать несколькими различными способами, чтобы дать потенциальному трейдеру ценность и понимание их торговых решений.

Полезные стратегии

MACD обычно используется для анализа кроссоверов, дивергенций и периодов крутого наклона (положительного или отрицательного). Наряду с линией MACD (от вычитания 12-периодной EMA от 16-периодной EMA) график обычно включает в себя сигнальную линию, изображенную на вершине MACD. Эта сигнальная линия представляет собой 9-дневную EMA MACD.

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

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

В такой ситуации тенденция акций, скорее всего, скоро потеряет динамику и увидит коррекцию или перелом от текущего направления.

Использование Python

Мы начинаем, как мы всегда делаем, выбирая акции и собирая данные. Как обычно, мы будем делать наш анализ на AMD и использовать API IEX для получения данных. IEX всегда был очень надежным источником данных для меня, но вы можете использовать Quandl или любой другой источник данных, который вы предпочитаете.

import pandas as pd
import numpy as np
from datetime import datetime
import matplotlib.pyplot as plt
import pyEX as p
ticker = 'AMD'
timeframe = '6m'
df = p.chartDF(ticker, timeframe)
df = df[['close']]
df.reset_index(level=0, inplace=True)
df.columns=['ds','y']
plt.plot(df.ds, df.y, label='AMD')
plt.show()

imgAMD с конца 2018 года по настоящее время (начало 2019 года).

exp1 = df.y.ewm(span=12, adjust=False).mean()
exp2 = df.y.ewm(span=26, adjust=False).mean()
macd = exp1-exp2
exp3 = macd.ewm(span=9, adjust=False).mean()
plt.plot(df.ds, macd, label='AMD MACD', color = '#EBD2BE')
plt.plot(df.ds, exp3, label='Signal Line', color='#E5A4CB')
plt.legend(loc='upper left')
plt.show()

Это позволяет нам сопоставить MACD с линией сигнала.

imgMACD против линии сигнала Посмотрите на график ниже. Вы были правы? Помните, что бычий перекресток происходит, когда MACD пересекает линию сигнала, а медвежий перекресток происходит, когда MACD пересекает линию сигнала.

imgБычий перекресток представлен зеленым, медвежий перекресток - красным. Приведенный выше пример был простым способом использования MACD для изучения кроссоверов.

Мы начинаем с применения экспоненциальных скользящих средних и MACD.

exp1 = df.y.ewm(span=12, adjust=False).mean()
exp2 = df.y.ewm(span=26, adjust=False).mean()
exp3 = df.y.ewm(span=9, adjust=False).mean()
macd = exp1-exp2
plt.plot(df.ds, df.y, label='AMD')
plt.plot(df.ds, macd, label='AMD MACD', color='orange')
plt.plot(df.ds, exp3, label='Signal Line', color='Magenta')
plt.legend(loc='upper left')
plt.show()

imgСиняя линия представляет цену акций AMD, оранжевая - MACD Мы можем немного увеличить эту линию MACD, выведя ее отдельно от цены акций и увидеть крутые склоны более четко.

imgMACD с конца 2018 года по настоящее время (начало 2019 года). Давайте вспомним наше обсуждение о перекупе и перепродаже с прошлого. Мы можем видеть, что MACD остается довольно плоским с течением времени. Но есть определенные моменты, когда кривая MACD более крута, чем другие. Это примеры условий перекупа или перепродажи. Мы представляем наши условия перепродажи зелеными кругами и перекуплены красными кругами. Вы можете видеть, что вскоре после того, как MACD показывает состояние перекупки или перепродажи, темп замедлился, и цена акций реагировала соответственно.

imgЗелёные круги соответствуют бычьим дивергенциям, красные - медвежьим дивергенциям. Мы кратко обсудили MACD и реализовали его в Python, чтобы изучить его использование в условиях кроссоверов и перекупленности / перепроданности.


Больше