From f09823c8aa1ac777d634d37ab29c0ad85386a06e Mon Sep 17 00:00:00 2001 From: Administrator <admin@example.com> Date: 星期五, 11 四月 2025 00:53:22 +0800 Subject: [PATCH] 新题材重新定义 --- third_data/kpl_data_constant.py | 116 ++++++++++++++++++++++++--------------------------------- 1 files changed, 49 insertions(+), 67 deletions(-) diff --git a/third_data/kpl_data_constant.py b/third_data/kpl_data_constant.py index 3f4f668..2974055 100644 --- a/third_data/kpl_data_constant.py +++ b/third_data/kpl_data_constant.py @@ -2,11 +2,9 @@ import constant from db import redis_manager_delegate as redis_manager from db.redis_manager_delegate import RedisUtils -from log_module import async_log_util -from log_module.log import logger_debug from third_data import kpl_util from third_data.third_blocks_manager import BlockMapManager -from trade import trade_record_log_util + from utils import tool, global_util from utils.kpl_data_db_util import KPLLimitUpDataUtil @@ -15,6 +13,49 @@ from utils.tool import singleton open_limit_up_code_dict_for_radical_buy = None + + +# 鏂伴鏉� +new_blocks = set() +# 娑ㄥ仠鍒楄〃鏂伴鏉愶細 {"浠g爜":"棰樻潗"} +limit_up_code_new_block_dict = {} +# 鎴愬垎鑲℃柊棰樻潗锛堟病娑ㄥ仠锛� {"浠g爜":{"棰樻潗"}} +limit_up_component_code_new_blocks_dict = {} + + +def get_new_blocks(code): + """ + 鑾峰彇鏂版蹇� + @return: + """ + blocks = set() + if code in limit_up_component_code_new_blocks_dict: + blocks |= limit_up_component_code_new_blocks_dict[code] + if code in limit_up_code_new_block_dict: + blocks.add(limit_up_code_new_block_dict[code]) + return blocks + + +def is_new_block(block): + """ + 鏄惁鏄柊棰樻潗 + @param block: + @return: + """ + if block in new_blocks: + return True + return False + + +def has_new_block(code): + """ + 鏄惁鏈夋柊棰樻潗 + @param code: + @return: + """ + if get_new_blocks(code): + return True + return False @tool.singleton @@ -70,12 +111,6 @@ __radical_buy_reasons_dict = {} # 鍘熷鏁版嵁 __radical_buy_reasons_origin_data_dict = {} - - # 浠婃棩鐨勬柊姒傚康 - __new_blocks = set() - - # 浠g爜鐨勬柊棰樻潗 - __code_new_blocks = {} __instance = None @@ -204,64 +239,11 @@ @param code: @return: """ - if code in self.__radical_buy_reasons_dict: - return set(self.__radical_buy_reasons_dict.get(code)) - return None - - def add_new_blocks(self, code, block): - """ - 娣诲姞鏂伴鏉愮殑鏉垮潡 - @param code: - @param block: - @return: 杩斿洖澧炲姞鏂伴鏉愭槸鍚︽垚鍔� - """ - # 鑷敱娴侀�氳偂鏈澶т簬50浜� - zyltgb = global_util.zyltgb_map.get(code) - if not zyltgb or zyltgb < 10e8: - return False - if block in constant.KPL_INVALID_BLOCKS: - return False - old_blocks = self.__radical_buy_reasons_dict.get(code) - if old_blocks is None: - old_blocks = set() - if block in old_blocks: - return False - self.__new_blocks.add(block) - if code not in self.__code_new_blocks: - self.__code_new_blocks[code] = set() - self.__code_new_blocks[code].add(block) - - old_blocks.add(block) - async_log_util.info(logger_debug, f"浠婃棩鏂板姒傚康锛歿code} - {block}") - self.__radical_buy_reasons_dict[code] = old_blocks - return True - - def get_new_blocks(self): - """ - 鑾峰彇鏂版蹇� - @return: - """ - return self.__new_blocks - - def is_new_block(self, block): - """ - 鏄惁鏄柊棰樻潗 - @param block: - @return: - """ - if self.__new_blocks and block in self.__new_blocks: - return True - return False - - def has_new_block(self, code): - """ - 鏄惁鏈夋柊棰樻潗 - @param code: - @return: - """ - if self.__code_new_blocks.get(code): - return True - return False + blocks = set(self.__radical_buy_reasons_dict.get(code, set())) + # 鑾峰彇浠g爜鐨勬澘鍧� + # 鑾峰彇浠g爜鐨勬柊棰樻潗 + new_blocks = get_new_blocks(code) + return blocks | new_blocks class TodayLimitUpReasonChangeManager: -- Gitblit v1.8.0