在昨日取得的資料僅有當天的資訊,政府有提供下載近三年的資料,更多就需要申請,不過我們這三年已經夠用了。讓我們取得這段時間的歷史資料吧!
本日程式碼使用:d7_3LegalPersonTradeHistory.py
首先我們去期交所下載,前往下載區:https://www.taifex.com.tw/cht/3/futAndOptDateView?menuid1=03
,也可以從網站中去到「資料下載專區」下載:
首頁 > 交易資訊 > 資料下載專區 > 交易資訊 > 三大法人-下載 > 區分期貨與選擇權二類-依日期
然後日期選擇從2018/9/7到2021/9/7,點擊【下載】就取得這三年的CSV檔囉!
把d6_3LegalPersonTrade.py
拿來修改,這次建立一個class-legal_daily_future_option_history
,不一樣的是,這次不從網路上取得資料,是直接取得CSV檔,因此在get_csv_data
,直接使用pandas.read_csv(路徑)
的方式取得資料。
所以會用到的程式碼就很簡單,直接使用pandas
讀CSV的功能,直接讀取就好:
df = pandas.read_csv(self.url, encoding="big5")
比較需要注意的是他是用BIG-5
編碼方式,所以要指定encoding="big5"
,不然無法順利讀取資料。
由於格式相同,所以寫入資料庫的地方不需要更動,可以沿用insert_mysql
,這樣就輕輕鬆鬆把三年份資料匯入囉!不過要小心的是,昨天做的是每日作業,所以今天的歷史資料就會包含昨天的資訊,記得把重複資料過濾,然後可以每個交易日去跑昨天的程式就會每日更新囉!