iT邦幫忙

2021 iThome 鐵人賽

DAY 30
0
Software Development

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

【D30】模組化#5:執行訊號燈程式

前言

把寫入資料、製作訊號燈的功能模組化了,接著要整合整個程式,所以製作了run_get_data.py作為把所有訊號燈呈現出來的模組。

本日程式碼使用:run_get_data.py


製作module: daily_transaction

在做出訊號燈之前,當然要先有資料囉~因此先把資料匯入資料庫,這邊用daily_transaction進行處理。

這邊就很簡單,直接把先前做好的三個模組時做出來,並且呼叫他們的get_and_save(),把資料匯入MySQL中。中間多加個判斷,來通知資料沒有新增成功。

legal_daily = legal_daily_future_option()
    market_data = daily_market_info()
    stock_trans_data = stock_transaction()

    r = legal_daily.get_and_save()
    if r is False:
        print(f"error:{legal_daily.__str__}")

    r = market_data.get_and_save()
    if r is False:
        print(f"error:{market_data.__str__}")

    r = stock_trans_data.get_and_save()
    if r is False:
        print(f"error:{stock_trans_data.__str__}")

製作module: signal

接著建立的module是signal,這是要從資料庫取得資料,並且把訊號印出來 。這邊僅進行出印出的格式處理,至於要印什麼訊號,則是在前日的module-fin_signal來決定的。

最主要的實作是包在中:

def _show_singnal(self, signal_list) -> None:
    """Do showing the signal function"""
    print(f"時間:{datetime.now().strftime('%Y-%m-%d %H:%M:%S')}")
    print("==訊號燈==")
    for title, signal in signal_list:
        print(f"* {title}: {signal}")

結果

執行匯入資料以及印出訊號燈。

# 匯入資料
worker = daily_transaction()
worker.save_to_db()

# 訊號燈印出
signal = signal()
signal.show_signal()

最後結果如下:

時間:2021-09-30 23:47:41
==訊號燈==
* 最近交易日是近期六天最大的交易金額: False
* 最近的一個交易日比前五日平均金額更大: False
* 外資期貨留倉是多單: False
* 自營商期貨留倉是多單: True
* 投信商期貨留倉是多單: False
* 外資期貨留倉數量是否增加: True
* 自營商期貨留倉數量是否增加: True
* 投信期貨留倉數量是否增加: True
* 外資期貨留倉數量變化量: 6908
* 自營商期貨留倉數量變化量: 1832
* 投信期貨留倉變化量: 534
* 外資期貨留倉數變動率: 0.02532202370915596
* 自營商期貨留倉數量變化率: 0.05245676325735884
* 投信期貨留倉數變動率: 0.1395713538944067
* 台積電是否5MA > 20MA: True

這樣,這些訊號燈就可以簡單地印出來,是不是很間單呢?


後記

這訊號燈其實僅僅「堪用」而已,因為裡面的資料還能更清楚的整理,並且做出趨勢。現在只有顯示這幾天的狀況,過去短期的變化趨勢沒有明顯的顯示出來,因此這些的訊號燈仍須持續優化。從眾多的資訊中找出一些線索讓我們可以比較清楚的了解市場,這就是訊號燈遙遠的路囉~

希望最終,可以看到100/100個綠燈就all in,0/100個綠燈就all in放空 (=V=~/images/emoticon/emoticon12.gif


上一篇
【D29】模組化#4:訊號燈
下一篇
【D31】回顧這兩天的訊號燈與大盤的關係
系列文
金融分析 X Python-訊號燈32

1 則留言

0
Tree
iT邦新手 4 級 ‧ 2021-10-18 14:20:18

恭喜完賽

謝謝拉/images/emoticon/emoticon07.gif

我要留言

立即登入留言