iT邦幫忙

2021 iThome 鐵人賽

DAY 27
0
Software Development

金融分析 X Python-訊號燈系列 第 27

【D27】模組化#2:取三大法人期貨交易資料

前言

整理股票每日交易資訊後,把三大法人資料(區分期貨與選擇權二類-依日期)也模組化,也可以用get_and_save取資料並且匯入資料庫中。

本日程式碼使用:legal_person.py


製作modul: legalPerson

這邊製作一個模組檔legalPerson,用來把三大法人相關的class放進去,目前是放三大法人期貨選擇權的最近一期交易資料,以及匯入歷史資料兩個功能。未來如果有屬於三大法人的部分,可以直接擴充進來,新增新的class,再隨著情境引入到程式中。

歷史資料:區分期貨與選擇權二類-依日期

主要的Function都做好了,需要調整的是一些瑣碎的部分,像是註解,或是程式碼整理。最主要的是新增funciton:get_and_save(),讓我們可以一個function中取得資料並且存起來。

我們已經有了_get_csv_data()(改名字)可以取得資料,_insert_mysql()(改名字)可以寫入資料庫,接著就把這兩個動作包起來,放在get_and_save(),並且有路徑參數可以帶入:

def get_and_save(self, url=None) -> bool:
    if url:
        r = self._get_csv_data(os.path.join(os.path.dirname(__file__), url))
    else:
        r = self._get_csv_data(url=None)

    if r:
        r = self._insert_mysql()
        return True
    else:
        return False

並且有回傳值告訴我們說這次作業有沒有成功。

區分期貨與選擇權二類-依日期

同樣的製作出get_and_save(),不一樣的是他是網址路徑,非檔案路徑。

def get_and_save(self, url=None) -> bool:
    r = self._get_csv_data(self.url if url else None)

    if r:
        r = self._insert_mysql()
        return True
    else:
        return False


後記

這次整理了兩個class,並且整理註解的部分。變動不多,但是花不少時間在整理與調整,分佈在兩個檔案的class,全部放在一起,以後調用三大法人資料會更方便。


上一篇
【D26】模組化#1:取股票資料
下一篇
【D28】模組化#3:取得市場行情資料
系列文
金融分析 X Python-訊號燈32

尚未有邦友留言

立即登入留言