更新於 2022/04/13閱讀時間約 2 分鐘

Python股票實作(3)

    使用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
    Close收盤價的數字是str,須轉為num
    Close收盤價的數字是str,須轉為num
    之後開始製作移動平均線 , 指數移動平均線 , MACD的圖形
    首先要將數值帶出,程式碼如下
    移動平均線
    指數移動平均線
    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()
    執行後線圖如下
    透過 plt.show( ) 印出
    參考連結如下
    https://www.youtube.com/watch?v=jEOkqwuoJEM
    分享至
    成為作者繼續創作的動力吧!
    © 2024 vocus All rights reserved.