本文說明MACD技術指標。
MACD指標(Moving Average Convergence & Divergence)為平滑異同移動平均線指標, 股票技術分析,會用這個指標來判斷股價走勢,確定波段漲幅並找到買賣點, 最常用的值為12天、26天、9天,也稱為MACD(12,26,9)。
MACD指標快線:DIF,慢線:MACD兩條線組成,以慢線:MACD移動平均線來作為大趨勢基準,並以快線:DIF移動平均線作為趨勢變化的判定。
快線DIF向上突破慢線MACD →紅柱,買進訊號
快線DIF向下跌破慢線MACD →綠柱,賣出訊號
MACD指標多會使用柱狀圖觀察 (柱線 = 快線DIF–慢線MACD) 當柱線接近0時,即短線買進或賣出訊號。
pip install yfinance
pip install matplotlib
import pandas as pd
import yfinance as yf
import matplotlib.pyplot as plt
import datetime as dt
# 計算MACD及繪圖
def macd(DF,a,b,c):
df=DF.copy()
df['MA Fast']=df['Adj Close'].ewm(span=a, min_periods=a).mean()
df['MA Slow']=df['Adj Close'].ewm(span=b, min_periods=b).mean()
df["MACD"]=df['MA Fast']-df['MA Slow']
df['Signal']=df.MACD.ewm(span=c, min_periods=c).mean()
df["Histrogram"]=df.MACD-df.Signal
df=df.dropna()
df.iloc[:,[4,8,9,10]].plot()
plt.savefig("MACD.png")
return df
# 開始時間
start=dt.datetime.today()-dt.timedelta(160)
# 結束時間
end=dt.datetime.today()
# 台股 2603(長榮)及2609(陽明)
clprice=pd.DataFrame(yf.download("2603.TW 2609.TW", start=start, end=end))
clprice=clprice.dropna()
print("clprice:",clprice)
# 計算2603(長榮) macd 及繪圖
macd(clprice.xs('2603.TW', level=1, axis=1), 12,26,9)
使用yfinance及matplotlib函式庫,進行MACD計算及呈現。