加權指數和法人留倉那些都已經完畢了,現在回到個股的訊號燈。這次要做的是MA(移動平均數)的穿越訊號燈。
本日程式碼使用:d24_stock_ma.ipynb
在本次案例是使用台積電(代碼:2330)為案例,並且把進幾個月的歷史資料匯入,方便我們做出5日數和20日數。不清楚怎麼做的話可以參考第14天。
首先我們先取得所有股票資訊,並且用df_2330
取得台積電資料。
# 取得股價資訊
df = pandas.read_sql("SELECT * FROM DailyPrice WHERE TradeDate >'2021-01-01'", con=conn)
# 取得台積電資料,代號:2330
df_2330 = df.loc[df['Symbol'] == "2330"]
這邊要做的是5日平均和20日平均,有了這個基礎,就可以做出來。
# 製作5日移動平均數
close_price_5 = df_2330["ClosePrice"].rolling(5, min_periods=1).mean()
# 製作20日移動平均數
close_price_20 = df_2330["ClosePrice"].rolling(20, min_periods=1).mean()
當5日的價格比20日的價格高時,表示現在處於上升中,所以這時候我們給他True
的訊號;反之就是向下,就給他False
的訊號。而這個訊號燈命名為signal_7
。
# signal_7: 5MA > 20MA
# 近期5日平均比20日還要高
# True:高;False:低
signal_7 = True if close_price_5.iloc[-1] > close_price_20.iloc[-1] else False
signal_7
而這次的結果signal_7
是True
,表示台積電的收盤價是近期的高點(不算很準確的說法XD)。