파이썬에서 MACD를 구현

저자:선함, 2019-04-08 10:56:11, 업데이트:

MACD는 주식, 통화, 암호화폐 등에서 널리 사용되는 기술 지표입니다.

MACD의 기초

MACD는 많은 다른 거래계에서 사용되고 논의됩니다. 이동 평균 컨버전스 디버전스 (MACD) 는 트렌드를 따르는 지표입니다. MACD는 12 기간 EMA에서 26 기간 EMA를 빼서 매우 간단하게 계산 할 수 있습니다. 우리는 이전에 여기에있는 기사에서 EMA를 논의했습니다. MACD는 잠재적 인 거래자에게 가치와 거래 결정에 대한 통찰력을 제공하기 위해 몇 가지 다른 방법으로 사용되고 해석 될 수 있습니다.

유익 한 전략

MACD는 일반적으로 크로스오버, 오차 및 급격한 기울기 (긍정적 또는 부정적) 기간을 분석하여 사용됩니다. MACD 라인과 함께 (16 기간 EMA에서 12 기간 EMA를 빼서) 차트는 일반적으로 MACD의 위에 그려진 신호 라인을 포함합니다. 이 신호 라인은 MACD의 9 일 EMA입니다.

올림 크로스오버에서, 이동 평균과 마찬가지로, MACD가 신호선을 넘을 때 구매 신호가 발생합니다. MACD가 신호선을 넘을 때 하림 신호가 발생합니다. 높은 기울기 MACD와 함께 크로스오버가 발생하면, 크로스오버가 각각 올림 또는 하림인지에 따라 과소 구매 또는 과소 판매 상태의 징후가 될 수 있습니다. MACD는 가격의 움직임이 강하거나 약인지 이해하는 훌륭한 지표입니다. 약한 움직임은 수정 될 가능성이 있으며 강한 움직임은 계속 될 가능성이 있습니다.

이차는 또한 이해하기 쉽다. MACD가 가격의 최고 또는 하위에서 높은 또는 낮은 이차를 설정하면 이차를 설정한다. MACD가 자산 가격에 두 개의 하위 상승과 두 개의 하위 하락을 가지고있을 때 상승적 이차가 발생합니다. 이차는 변화하는 추세를 찾기 위해 사용될 수 있습니다. 거래자는 항상 경쟁 우위를 찾고 있으며 트렌드 변화를 예측하는 것이 매우 수익성이 될 수 있습니다. 물론, 이차는 완전히 신뢰할 수 없으며 가격 방향의 유일한 지표가 아닌 추가 정보로만 사용해야합니다.

급격한 기울기는 과반 구매 또는 과반 판매 상황을 나타낼 수 있습니다. 그러한 상황에서 주식 트렌드는 곧 증기를 잃고 현재 방향에서 교정 또는 역전을 볼 가능성이 있습니다.

파이썬 구현

우리는 항상처럼 주식을 선택하고 데이터를 수집하는 것으로 시작합니다. 평소처럼 우리는 AMD에서 분석을 수행하고 데이터를 수집하기 위해 IEX API를 사용합니다. 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에 대해 논의하고 크로스오버와 과잉 구매 / 과잉 판매 조건에서 사용 방법을 조사하기 위해 파이썬에서 구현했습니다. 이 기사는 거래 도구 상자에 다른 도구를 추가하는 데 도움이 되었으면 좋겠습니다!


더 많은