目錄
原始文章
〈Python – 透過證交所開放資料API抓取台股當日交易資訊〉
個股日成交資訊
證交所在政府開放資料平台上提供了一個資料集個股日成交資訊,這裡面的資料會每日更新,並且只保留最新的資料。如果你想抓歷史股價資料,可以參考另一篇文章〈使用Python及Yahoo Finance API抓取台股歷史資料〉。
資料格式
在這個資料集中,雖然它標示的檔案格式是csv,但我用Python的request套件抓下來後,發現它的資料結構很像json。我不是很了解這兩種格式之間的轉換邏輯,總之我後來順利使用json的方式成功處理,並轉成pandas的dataframe。
不要抓錯網址
點擊「檢視資料」按鈕後,會跳出彈出式視窗,注意你要抓的網址是上面的「資料下載網址」,不要開心的看到下面有json格式就直接用了。下面的連結只是範例資料,你抓一百年也還是一樣的股價。
完整程式碼
import requests
import pandas as pd
# 透過證交所API抓取資料
link = 'http://www.twse.com.tw/exchangeReport/STOCK_DAY_ALL?response=open_dat'
r = requests.get(link)
data = pd.DataFrame(r.json()['data'])
# 修改欄位名稱
data.columns = ['SECURITY_CODE', 'NAME', 'VOLUME', 'AMOUNT', 'OPEN',
'HIGH', 'LOW', 'CLOSE', 'PRICE_CHANGE', 'TRANSACTION']
台股歷史股價與趨勢預測
〈台股歷史股價與趨勢預測〉就是從Yahoo Finance抓取歷史資料,並透過證交所API每日更新。實際佈署方式是使用PythonAnyWhere和Plotly,可以參考〈在網頁上發佈動態資料圖表 – 方案評估與技術問題全記錄〉。
推薦文章
〈在DataCamp學Python和R語言,快速入門資料科學〉
A
Aron
工業設計系畢業,曾任職知名品牌行銷企劃,做點設計,寫文案也寫網站;目前擔任零售業數據分析師。最近開始練格鬥和Python量化投資。