把写入资料、制作讯号灯的功能模组化了,接着要整合整个程序,所以制作了run_get_data.py
作为把所有讯号灯呈现出来的模组。
本日程序码使用:run_get_data.py
在做出讯号灯之前,当然要先有资料罗~因此先把资料汇入资料库,这边用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-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=~
>>: VoK Grid 各种资料型态过滤器 - day15
什麽是设计模式? 在软件工程中,设计模式(design pattern)是对软件设计中普遍存在(反覆...
各位先进好 如果网域中所有DC作业系统皆为Windows Server 2012 R2 standa...
在疫情的情况之下,所有的节奏都被打乱了,在全球都在这样的情况之下,大家都在求新求变,不论是办公还是教...
在上篇有透过psycopg2对PostgreSQL进行一连串的操作,在透过psycopg2人工创建资...
前情提要-我们前面为了方便解释,建了个表还有索引 mysql> create table si...