使用pandas,透過TWStock_2的資料,計算下列三種常用的技術指標
1. 移動平均線
2. 指數移動平均線
3. MACD
首先連接資料庫,然後我們只取"成交股數 , 開盤價 , 最高價 , 最低價 , 收盤價"
這5個columns代入新的tsmc( 名稱 )
code如下
db = sqlite3.connect("TWstock_2")
tsmc = pd.read_sql(con=db, sql='SELECT * FROM "2330"')
tsmc.index = pd.to_datetime(tsmc['Date'])
tsmc = tsmc[['成交股數','開盤價','最高價','最低價','收盤價']]
之後分別給予新名稱 "Volume , Open , High , Low , Close "
別忘記Close收盤價的數字是str,須轉為num
之後開始製作移動平均線 , 指數移動平均線 , MACD的圖形
首先要將數值帶出,程式碼如下
之後再透過下列的code將線圖畫出
fig,ax = plt.subplots(3,1,figsize=(10,10))
plt.subplots_adjust(hspace=0.8)
tsmc['MA_7'].plot(ax=ax[0])
tsmc['MA_30'].plot(ax=ax[0])
tsmc['Close'].plot(ax=ax[0])
ax[0].legend()
tsmc['EMA_12'].plot(ax=ax[1])
tsmc['EMA_26'].plot(ax=ax[1])
tsmc['Close'].plot(ax=ax[1])
ax[1].legend()
tsmc['DIF'].plot(ax=ax[2])
tsmc['DEM'].plot(ax=ax[2])
ax[2].fill_between(tsmc.index,0,tsmc['OSC'])
ax[2].legend()
plt.show()
執行後線圖如下
參考連結如下
https://www.youtube.com/watch?v=jEOkqwuoJEM