From 0ce5457b060bddc2ab65e4ff094159781cd15deb Mon Sep 17 00:00:00 2001 From: Administrator <admin@example.com> Date: 星期二, 17 六月 2025 17:18:58 +0800 Subject: [PATCH] ‘功能完善 --- strategy/test.py | 4 ++-- strategy/time_series_backtest.py | 13 ++++++++----- strategy/strategy_manager.py | 5 +++-- strategy/strategy_variable_factory.py | 8 ++++---- main.py | 4 ++-- strategy/strategy_script_v6.py | 4 ++-- log_module/log.py | 10 +++++++--- 7 files changed, 28 insertions(+), 20 deletions(-) diff --git a/log_module/log.py b/log_module/log.py index 586851b..b6ec8e7 100644 --- a/log_module/log.py +++ b/log_module/log.py @@ -63,6 +63,9 @@ logger.add(self.get_path("system", "system"), filter=lambda record: record["extra"].get("name") == "system", rotation="00:00", compression="zip", enqueue=True) + # 鏄剧ず鍦ㄦ帶鍒跺彴 + logger.add(sys.stdout, + filter=lambda record: record["extra"].get("name") == "system", enqueue=True) logger.add(self.get_path("ths", "buy_1_volumn"), filter=lambda record: record["extra"].get("name") == "buy_1_volumn", @@ -186,19 +189,20 @@ rotation="00:00", compression="zip", enqueue=True) def get_path(self, dir_name, log_name): - path_str = "{}/ls_logs/gp/{}/{}".format(constant.get_path_prefix(), dir_name, log_name) + ".{time:YYYY-MM-DD}.log" + path_str = "{}/ls_logs/gp/{}/{}".format(constant.get_path_prefix(), dir_name, + log_name) + ".{time:YYYY-MM-DD}.log" # print(path_str) return path_str def get_hx_path(self, dir_name, log_name): path_str = "{}/ls_logs/huaxin/{}/{}".format(constant.get_path_prefix(), dir_name, - log_name) + ".{time:YYYY-MM-DD}.log" + log_name) + ".{time:YYYY-MM-DD}.log" # print(path_str) return path_str def get_local_huaxin_path(self, dir_name, log_name): path_str = "{}/ls_logs/huaxin_local/{}/{}".format(constant.get_path_prefix(), dir_name, - log_name) + ".{time:YYYY-MM-DD}.log" + log_name) + ".{time:YYYY-MM-DD}.log" # print(path_str) return path_str diff --git a/main.py b/main.py index 01b205e..894d869 100644 --- a/main.py +++ b/main.py @@ -110,8 +110,8 @@ # 鍒濆鍖栨暟鎹� strategy_manager.low_suction_strtegy = strategy_manager.LowSuctionStrategy(tool.get_now_date_str()) logger_system.info("鍒濆鍖栫瓥鐣ュ璞℃垚鍔�") - - + strategy_manager.low_suction_strtegy.load_data() + logger_system.info("鍔犺浇绛栫暐鏁版嵁鎴愬姛") # -------鍚姩L2 market璁㈤槄------ __run_l2_market_subscript() diff --git a/strategy/strategy_manager.py b/strategy/strategy_manager.py index 4299cd5..9195236 100644 --- a/strategy/strategy_manager.py +++ b/strategy/strategy_manager.py @@ -105,7 +105,7 @@ """ def __init__(self, day, script_name="strategy_script_v6.py", - settings=StrategyParamsSettingsManager().get_settings()): + settings=StrategyParamsSettingsManager().get_settings(), need_load_data = False): self.now_day = day # 涔板ぇ鍗曪細{浠g爜:[澶у崟鏁版嵁]} self.big_order_buy = {} @@ -153,7 +153,8 @@ self.data_loader = DataLoader(self.now_day, cache_path=f"{constant.get_path_prefix()}/datas") self.__LowSuctionOriginDataExportManager = LowSuctionOriginDataExportManager(self.now_day) - self.load_data() + if need_load_data: + self.load_data() def load_data(self): # 鍔犺浇鍘嗗彶鏁版嵁 diff --git a/strategy/strategy_script_v6.py b/strategy/strategy_script_v6.py index 53cf2d5..144d469 100644 --- a/strategy/strategy_script_v6.py +++ b/strategy/strategy_script_v6.py @@ -149,11 +149,11 @@ continue orderids.add(o[0]) big_order_money += o[1] - threshold_money = max(sv.鑷敱娴侀�氬競鍊� // 1000, 200e4) + threshold_money = max(1.5 * sv.鑷敱娴侀�氬競鍊� // 1000, 200e4) limit_up_codes_count = max([(p, len(sv.寮�鐩樺暒鏈�姝f澘鍧楁定鍋�.get(p, []))) for p in can_buy_plates], key=lambda x: x[1])[1] - threshold_money *= max(10 - limit_up_codes_count + 3, 5) / 10 + # threshold_money *= max(10 - limit_up_codes_count + 3, 5) / 10 if big_order_money < threshold_money: return False, f"({big_order_money}/{threshold_money})澶у崟閲戦涓嶈冻" diff --git a/strategy/strategy_variable_factory.py b/strategy/strategy_variable_factory.py index c79673b..650a949 100644 --- a/strategy/strategy_variable_factory.py +++ b/strategy/strategy_variable_factory.py @@ -236,7 +236,7 @@ (tool.is_can_buy_code(x[0]) and x[0] in valid_codes and x[0] not in exclude_codes)] # 鍙栧墠1/3涓旀定鍋滄暟鏄墠10 max_count = len(results) // 3 if len(results) % 3 == 0 else len(results) // 3 + 1 - results = results[:max_count] + # results = results[:max_count] # 鍙栧墠10 results = results[:10] codes = [x[0] for x in results] @@ -669,9 +669,9 @@ if __name__ == "__main__": - __load_target_codes_v1() + # __load_target_codes_v1() - __DataLoader = DataLoader("2025-06-12") + __DataLoader = DataLoader("2025-06-17") # __test_jx_blocks(__DataLoader) # instance = StockVariables() @@ -689,7 +689,7 @@ results = __DataLoader.load_target_plate_and_codes() # for k in results: # print(k, results[k]) - plates = ["姹借溅闆堕儴浠�", "鏂囧寲浼犲獟", "璋峰瓙缁忔祹"] + plates = ["鑴戞満鎺ュ彛"] print("==========鏂伴鏉�=======") for p in plates: print(p, results.get(p)) diff --git a/strategy/test.py b/strategy/test.py index da567f2..872dfb9 100644 --- a/strategy/test.py +++ b/strategy/test.py @@ -22,8 +22,8 @@ if __name__ == "__main__": - # print("======3涓エ娑ㄥ仠涔嬪悗涔�+寮�鐩樹环>=-3") - # statistic_average(r"C:\Users\Administrator\Desktop\3涓エ娑ㄥ仠涔嬪悗涔�.txt") + print("======3涓エ娑ㄥ仠涔嬪悗涔�") + statistic_average(r"C:\Users\Administrator\Desktop\3涓エ娑ㄥ仠涔嬪悗涔�.txt") # print("======3涓エ娑ㄥ仠涔嬪悗涔�+涓嶉檺寮�鐩樻定骞�+3涓定鍋滀箣鍚庡ぇ鍗曟墦鎶�") # statistic_average(r"C:\Users\Administrator\Desktop\3涓エ娑ㄥ仠涔嬪悗涔癬涓嶉檺寮�鐩樻定骞�.txt") codes = set() diff --git a/strategy/time_series_backtest.py b/strategy/time_series_backtest.py index 6234c92..05540ab 100644 --- a/strategy/time_series_backtest.py +++ b/strategy/time_series_backtest.py @@ -585,6 +585,8 @@ if p not in most_real_kpl_plate_limit_up_codes_info: most_real_kpl_plate_limit_up_codes_info[p] = [] most_real_kpl_plate_limit_up_codes_info[p].append(code) + # print(time_str, "娑ㄥ仠鏁板ぇ浜�3涓�", [p for p in most_real_kpl_plate_limit_up_codes_info if + # len(most_real_kpl_plate_limit_up_codes_info[p]) >= 3]) # ---------娴嬭瘯-------- # test_plate = "鍖栧伐" @@ -785,7 +787,7 @@ stock_variables.鏉垮潡鎴愪氦浠g爜 = self.deal_block_codes -# DEBUG_CODES = ['600727'] +# DEBUG_CODES = ['603579', '300884'] DEBUG_CODES = [] VOLUME_LOG_ENABLE = False @@ -798,12 +800,13 @@ if __name__ == "__main__": back_test_dict = {} - # days = ["2025-05-06", "2025-05-07", "2025-05-08", "2025-05-09", "2025-05-12", "2025-05-13", "2025-05-14", - # "2025-05-15", "2025-05-16", "2025-05-19", "2025-05-20", "2025-05-21", "2025-05-22"] days = ["2025-05-12", "2025-05-13", "2025-05-14", "2025-05-15", "2025-05-16", "2025-05-19", "2025-05-20", "2025-05-21", "2025-05-22", "2025-05-23", "2025-05-26", "2025-05-27", "2025-05-28", "2025-05-29", - "2025-05-30", "2025-06-03", "2025-06-04", "2025-06-05", "2025-06-06", "2025-06-09", "2025-06-10", - "2025-06-11", "2025-06-12", "2025-06-13", "2025-06-16", "2025-06-17"] + "2025-05-30", "2025-06-03"] + # days = ["2025-05-12", "2025-05-13", "2025-05-14", "2025-05-15", "2025-05-16", "2025-05-19", "2025-05-20", + # "2025-05-21", "2025-05-22", "2025-05-23", "2025-05-26", "2025-05-27", "2025-05-28", "2025-05-29", + # "2025-05-30", "2025-06-03", "2025-06-04", "2025-06-05", "2025-06-06", "2025-06-09", "2025-06-10", + # "2025-06-11", "2025-06-12", "2025-06-13", "2025-06-16", "2025-06-17"] # days = ["2025-06-13"] -- Gitblit v1.8.0