本文說明使用TA-Lib函式庫計算SMA指標。
簡單移動平均線(SMA:simple moving average),衡量一段特定的時間內一種投資標的之收盤價均值的一種滯後指標。
以五天為例SMA之計算=(C1+C2+C3+C4+C5)/5
import pandas as pd
import talib
import datetime as dt
import yfinance as yf
import matplotlib.pyplot as plt
# 開始時間
start=dt.datetime.today()-dt.timedelta(14)
# 結束時間
end=dt.datetime.today()
# 下載台股長榮(2603)歷史交易資料
#df = pd.DataFrame(yf.download("2603.TW", start=start, end=end))
df = yf.Ticker('2603.TW').history(period = 'max')
print("df\n" ,df)
# 利用talib函式庫之SMA函式計算sma
sma = talib.SMA(df.Close, timeperiod=5)
df_sma = pd.DataFrame(sma)
print("SMA\n" ,df_sma)
df_sma.loc['2021-09-27':'2021-10-08'].plot(figsize=(16, 9))
plt.title("2603 SMA Chart")
plt.xlabel("Day")
plt.ylabel("SMA")
plt.legend(['SMA'])
plt.savefig("SMA.png")
使用yfinance函式字取得個股歷史資料及利用TA-Lib函式庫計算SMA指標。