From 6e71fbcb119e7068ba35380edaa5cc66e7c71f1b Mon Sep 17 00:00:00 2001 From: Administrator <admin@example.com> Date: 星期四, 27 十月 2022 16:21:05 +0800 Subject: [PATCH] 交易体系完善 --- l2_trade_factor.py | 37 +++++++++++++++++++++++-------------- 1 files changed, 23 insertions(+), 14 deletions(-) diff --git a/l2_trade_factor.py b/l2_trade_factor.py index cda2229..0694c38 100644 --- a/l2_trade_factor.py +++ b/l2_trade_factor.py @@ -4,9 +4,9 @@ # l2浜ゆ槗鍥犲瓙 import big_money_num_manager +import global_data_loader import global_util import limit_up_time_manager -import log class L2TradeFactorUtil: @@ -121,16 +121,17 @@ big_money_rate = 0 if big_money_num is not None: big_money_rate = cls.get_big_money_rate(big_money_num) - print( - "industry_rate锛歿} volumn_rate锛歿} limit_up_time_rate锛歿} big_money_rate锛歿}".format(industry_rate, - volumn_rate, - limit_up_time_rate, - big_money_rate)) + + msg = "zyltgb锛歿} industry_rate锛歿} volumn_rate锛歿} limit_up_time_rate锛歿} big_money_rate锛歿}".format(zyltgb, + industry_rate, + volumn_rate, + limit_up_time_rate, + big_money_rate) final_rate = round(1 - (industry_rate + volumn_rate + limit_up_time_rate + big_money_rate), 4) if final_rate < 0.1: final_rate = 0.1 - return final_rate + return final_rate, msg @classmethod def compute_rate_by_code(cls, code): @@ -143,7 +144,7 @@ # 鑾峰彇琛屼笟鐑害 industry = global_util.code_industry_map.get(code) if industry is None: - global_util.load_industry() + global_data_loader.load_industry() industry = global_util.code_industry_map.get(code) total_industry_limit_percent = global_util.industry_hot_num.get(industry) if industry is not None else None @@ -156,7 +157,7 @@ volumn_day60_max, volumn_yest, volumn_today = global_util.max60_volumn.get( code), global_util.yesterday_volumn.get(code), global_util.today_volumn.get(code) if volumn_day60_max is None or volumn_yest is None: - global_util.load_volumn() + global_data_loader.load_volumn() volumn_day60_max, volumn_yest, volumn_today = global_util.max60_volumn.get( code), global_util.yesterday_volumn.get(code), global_util.today_volumn.get(code) # 棣栨娑ㄥ仠鏃堕棿 @@ -180,7 +181,7 @@ def __get_zyltgb(cls, code): zyltgb = global_util.zyltgb_map.get(code) if zyltgb is None: - global_util.load_zyltgb() + global_data_loader.load_zyltgb() zyltgb = global_util.zyltgb_map.get(code) return zyltgb @@ -188,15 +189,15 @@ def compute_m_value(cls, code): zyltgb = global_util.zyltgb_map.get(code) if zyltgb is None: - global_util.load_zyltgb() + global_data_loader.load_zyltgb() zyltgb = global_util.zyltgb_map.get(code) if zyltgb is None: print("娌℃湁鑾峰彇鍒拌嚜鐢辨祦閫氬競鍊�") return 10000000 zyltgb = cls.get_base_safe_val(zyltgb) - rate = cls.compute_rate_by_code(code) + rate, msg = cls.compute_rate_by_code(code) # print("m鍊艰幏鍙栵細", code, round(zyltgb * rate)) - return round(zyltgb * rate) + return round(zyltgb * rate), msg # 鑾峰彇瀹夊叏绗旀暟 @classmethod @@ -210,7 +211,15 @@ return 30 if count < 5: return 5 - return count + + big_money_num = global_util.big_money_num.get(code) + if big_money_num is None: + big_money_num = big_money_num_manager.get_num(code) + rate = 0 + if big_money_num is not None: + rate = cls.get_big_money_rate(big_money_num) + + return round(count*(1-rate/2)) # l2鍥犲瓙褰掑洜鏁版嵁 -- Gitblit v1.8.0