iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 26
0
Microsoft Azure

Pyhon X 金融分析 X Azure系列 第 26

【Day26】Ta Lib:線圖-KD線

現在使用Ta-lib讓我們的資料可以開心的畫圖。
可參考文章:https://www.finlab.tw/Python-簡單158種技術指標計算/

可參考github檔案:Day26_createLine.ipynb


取得股票資訊

首先取得開盤價、最高價、最低價、收盤價的資料,我們從資料庫取得:

query = f"SELECT TradeDate, ClosePrice As 'close', HighPrice as high, LowPrice as low FROM [dbo].[DailyPrice] WHERE Symbol ='2330' ORDER BY TradeDate;"

製作KD值所需的公式

def talib2df(talib_output):
    if type(talib_output) == list:
        ret = pandas.DataFrame(talib_output).transpose()
    else:
        ret = pandas.Series(talib_output)
    ret.index = tsmc['close'].index
    return ret;

轉換資料,讓資料單純些

先把資料單獨拉出來

for k, d in df.items():
    if k == "ClosePrice":
        close = d # Dataframe.transpose() 這是倒轉
        close.index = pandas.to_datetime(close.index)
    elif k == "OpenPrice":
        open = d
        open.index = pandas.to_datetime(open.index)
    elif k == "HighPrice":
        high = d
        high.index = pandas.to_datetime(high.index)
    elif k == "LowPrice":
        low = d
        low.index = pandas.to_datetime(low.index)

做成dictionary

tsmc = {
    'close':close.dropna().astype(float),
    'open':open.dropna().astype(float),
    'high':high.dropna().astype(float),
    'low':low.dropna().astype(float)
}

執行台積電股票

kd_value = abstract.STOCH(tsmc)
talib2df(kd_value).plot()
tsmc['close'].plot(secondary_y=True)

這樣就完成KD值囉~


上一篇
【Day25】金融分析工具:TA-Lib
下一篇
【Day27】Ta Lib#2:線圖-KD線 part 2
系列文
Pyhon X 金融分析 X Azure31

尚未有邦友留言

立即登入留言