本文說明使用TA-Lib函式庫計算及呈現布林通道。
布林通道(Bollinger Band)稱為布林軌道、布林帶、布林線,是由均線和標準差組成的指標,總共有三條線:中軌,上軌,下軌。中軌就是股價的移動平均線,一般是設定為20日的移動平均線(MA20)。上線也可稱為壓力線,通常是用中線加2個標準差。下軌也稱為支撐線,通常是用中軌減2個標準差。上下軌構成的區域即是布林通道。
import talib
import yfinance as yf
import matplotlib.pyplot as plt
# 下載台股長榮(2603)歷史交易資料
df = yf.Ticker('2603.TW').history(period = 'max')
print("df\n" ,df)
# 利talib函式庫之BBANDS函式計算布林通道(上軌、中軌、下軌)
upperband, middleband, lowerband = talib.BBANDS(df.Close, timeperiod=5, nbdevup=2, nbdevdn=2, matype=0)
print("upperband\n" ,upperband)
print("middleband\n" ,middleband)
print("lowerband\n" ,lowerband)
plt.plot(upperband['2020-10-13':'2021-10-13'],
label="upperband",color='r',
linestyle='solid')
plt.plot(middleband['2020-10-13':'2021-10-13'],
label="middleband",color='g',linestyle='solid')
plt.plot(lowerband['2020-10-13':'2021-10-13'],
label="lowerband",color='b',
linestyle='solid')
plt.title("2603 Bollinger Band Chart")
plt.xlabel("Day")
plt.ylabel("Bollinger Band")
plt.savefig("BBAND.png")
使用yfinance函式字取得個股歷史資料及利用TA-Lib函式庫計算及呈現布林通道。