iT邦幫忙

2021 iThome 鐵人賽

DAY 24
0
Software Development

金融分析 X Python-訊號燈系列 第 24

【D24】製作訊號燈#7:製作個股的MA燈號

前言

加權指數和法人留倉那些都已經完畢了,現在回到個股的訊號燈。這次要做的是MA(移動平均數)的穿越訊號燈。

本日程式碼使用:d24_stock_ma.ipynb


準備

在本次案例是使用台積電(代碼:2330)為案例,並且把進幾個月的歷史資料匯入,方便我們做出5日數和20日數。不清楚怎麼做的話可以參考第14天

製作股票MA訊號燈

取得台積電資料

首先我們先取得所有股票資訊,並且用df_2330取得台積電資料。

# 取得股價資訊
df = pandas.read_sql("SELECT * FROM DailyPrice WHERE TradeDate >'2021-01-01'", con=conn)

# 取得台積電資料,代號:2330
df_2330 = df.loc[df['Symbol'] == "2330"]

製作移動平均線(MA)

這邊要做的是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_7True,表示台積電的收盤價是近期的高點(不算很準確的說法XD)。


上一篇
【D23】製作訊號燈#6:使用三大法人製作訊號燈2之自營與投信
下一篇
【D25】進入下個階段(功能化)行前說明
系列文
金融分析 X Python-訊號燈32

尚未有邦友留言

立即登入留言