2020年11月19日 星期四

[python抓爬仔]~~輕鬆抓系列之「輕鬆獲取台灣股票交易資訊」

 之前介紹過如何輕鬆抓取台銀即時匯率資料,可以想像如果有個好用的套件,可以讓資料抓取這件事輕鬆許多啊~~~!

這次呢~~我們延續簡單學、輕鬆用的精神,為大家隆重介紹~~獲取台灣股票交易資訊的好工具:「twstock」套件!

這個套件~可以讓我們輕鬆獲取各項股票交易的歷史資料、股票即時交易資訊及相關交易判斷訊息!是個想要試著認識股票交易的好工具!

大家可以到這裡觀看及瞭解twstock的相關資訊及應用技巧!

那我們這邊當然就不會把所有的操作走一遍~~沒必要!

這裡呢~~我們主要是透過以下範例來認識twstock這個好用的套件外,也是透過這個套件的操作,來進一步認識有關資料擷取後的字典檔,及其相關操作!

好囉~~一樣照慣例,直接上程式碼:

# 先安裝twstock套件: pip install twstock
import twstock

# ========================================
# 四大買賣點判斷指數函數應用
stock_sid = twstock.Stock('2382')
b4p = twstock.BestFourPoint(stock_sid)
print("數據四大買賣點判斷報告:")
print(f"是否為四大買點:{b4p.best_four_point_to_buy()}")
print(f"是否為四大賣點:{b4p.best_four_point_to_sell()}")
print(f"指數綜合判斷:{b4p.best_four_point()}")

# ======= 取得單一股票之即時交易資訊 =======
stock = twstock.realtime.get('2382')
print("獲取資料類型:" + str(type(stock)))
# stock字典檔輸出方式設定範例(詳細內容可參考第28行輸出內容)
print(f"=====以下為[{stock['info']['name']}]即時交易資訊=====")
print(f"資料取得時間:{stock['info']['time']}")
print(f"股票代號:{stock['info']['code']}")
print(f"成交張數:{stock['realtime']['accumulate_trade_volume']}")
print(f"開盤價:{stock['realtime']['open']}")
print(f"最高價:{stock['realtime']['high']}")
print(f"最低價:{stock['realtime']['low']}")
print(f"最新一筆交易價:{stock['realtime']['latest_trade_price']}")
print(f"最新一筆交易張數:{stock['realtime']['trade_volume']}")

# ======= 取得多支股票之即時交易資訊 =======
stock2 = twstock.realtime.get(['2382', '1216'])
print(f"\n=====多筆股票獲取之資料格式=====\n{stock2}")

程式運行結果:

其中多筆股票獲取之字典檔(dict)資料格式部分,由於資料長度過長,整理如下供參:

基本上,他就是一組標準的字典檔格式,所以如上列單一股票(廣達)的擷取資料而言,字典檔的資料輸出就可以如上列的輸出設定方式加以思考應用!

整理與延伸思考:

一、對twstock操作返回的結果,主要呈現方式依然是列表(list)字典檔(dict)類別為主!所以囉~~再次驗證這些相關的觀念及操作相當重要啊!

二、雖然我們一樣可以透過資料擷取後的儲存,將資料存入資料庫中(可以參考這一篇),但真正應用時,可以參考twstock文件直接獲取相關交易的歷史資料做應用會更加便利!

三、既然可以如此輕鬆獲取資料,重點當然就是思考如何做應用囉(當然也可以拿來練技術啦~內服、外用兩相宜啊),例如可以利用獲取的歷史交易資訊,來搭配圖表繪製的套件(如:Matplotlib)自行繪製視覺化的圖表~會更有感覺!

四、當然若是可以配合Line 的Notify-bot的訊息推送服務,更可以讓資訊的獲取更加便利及自動化!這部分就後續再找時間介紹囉!

沒有留言:

張貼留言