From 0b0d0e790fec8c7edfdbcab5c31d625e0c2eadd6 Mon Sep 17 00:00:00 2001
From: admin <admin@example.com>
Date: 星期四, 19 六月 2025 16:54:49 +0800
Subject: [PATCH] 添加必要的数据日志

---
 strategy/plate_strength_analysis.py |   12 +++++-
 backtest/main.py                    |   16 ++++++++
 strategy/buying_strategy.py         |    2 
 backtest/__init__.py                |    0 
 strategy/all_K_line.py              |    4 +
 log_module/log.py                   |   25 ++++++++++++
 strategy/data_cache.py              |    5 +-
 strategy/kpl_data_manager.py        |   12 +++++-
 8 files changed, 68 insertions(+), 8 deletions(-)

diff --git a/backtest/__init__.py b/backtest/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/backtest/__init__.py
diff --git a/backtest/main.py b/backtest/main.py
new file mode 100644
index 0000000..7014362
--- /dev/null
+++ b/backtest/main.py
@@ -0,0 +1,16 @@
+"""
+鍥炴祴
+"""
+from utils import tool
+
+if __name__ == '__main__':
+    now_day = '2025-06-19'
+    # 浠庢棭涓�09:25:00鍥炴祴鍒�11:30:00
+    start_time, end_time = '09:25:00', '11:30:00'
+    for i in range(0, 60*60*3):
+        # 鏃堕棿椹卞姩
+        time_str = tool.trade_time_sub(start_time, 0 - i)
+        if time_str > end_time:
+            break
+        pass
+
diff --git a/log_module/log.py b/log_module/log.py
index 74f7cbb..b0ff0fa 100644
--- a/log_module/log.py
+++ b/log_module/log.py
@@ -201,6 +201,19 @@
                    filter=lambda record: record["extra"].get("name") == "kpl_open_limit_up",
                    rotation="00:00", compression="zip", enqueue=True)
 
+        logger.add(self.get_path("kpl", "kpl_code_plates"),
+                   filter=lambda record: record["extra"].get("name") == "kpl_code_plates",
+                   rotation="00:00", compression="zip", enqueue=True)
+
+        # K绾挎棩蹇�
+        logger.add(self.get_path("kbars", "k_bars"),
+                   filter=lambda record: record["extra"].get("name") == "k_bars",
+                   rotation="00:00", compression="zip", enqueue=True)
+        # 鐩爣绁�
+        logger.add(self.get_path("codes", "target_codes"),
+                   filter=lambda record: record["extra"].get("name") == "target_codes",
+                   rotation="00:00", compression="zip", enqueue=True)
+
         # 鐪嬬洏鏃ュ織
         logger.add(self.get_path("kp", "kp_msg"),
                    filter=lambda record: record["extra"].get("name") == "kp_msg",
@@ -323,6 +336,10 @@
                    filter=lambda record: record["extra"].get("name") == "stock_of_markets_plate",
                    rotation="00:00", compression="zip", enqueue=True)
 
+        logger.add(self.get_path("kpl", "stock_of_markets_plate_simple"),
+                   filter=lambda record: record["extra"].get("name") == "stock_of_markets_plate_simple",
+                   rotation="00:00", compression="zip", enqueue=True)
+
     def get_path(self, dir_name, log_name):
         path_str = "{}/{}/gp/{}/{}".format(constant.get_path_prefix(), constant.LOG_DIR, dir_name,
                                            log_name) + ".{time:YYYY-MM-DD}.log"
@@ -420,6 +437,13 @@
 
 logger_kp_msg = __mylogger.get_logger("kp_msg")
 
+logger_kpl_code_plates = __mylogger.get_logger("kpl_code_plates")
+
+logger_k_bars = __mylogger.get_logger("k_bars")
+
+logger_target_codes = __mylogger.get_logger("target_codes")
+
+
 logger_redis_debug = __mylogger.get_logger("redis_debug")
 
 logger_profile = __mylogger.get_logger("profile")
@@ -451,6 +475,7 @@
 logger_kpl_market_sift_plate = __mylogger.get_logger("kpl_market_sift_plate")
 logger_Overall_market_strength_score = __mylogger.get_logger("Overall_market_strength_score")
 logger_stock_of_markets_plate = __mylogger.get_logger("stock_of_markets_plate")
+logger_stock_of_markets_plate_simple = __mylogger.get_logger("stock_of_markets_plate_simple")
 
 logger_common = __mylogger.get_logger("common")
 
diff --git a/strategy/all_K_line.py b/strategy/all_K_line.py
index bdc7077..bb002d8 100644
--- a/strategy/all_K_line.py
+++ b/strategy/all_K_line.py
@@ -11,7 +11,8 @@
 import json
 
 import constant
-from log_module.log import logger_common
+from log_module import async_log_util
+from log_module.log import logger_common, logger_k_bars
 from strategy import data_cache
 
 # 寮曞叆鍩虹绠楁硶妯″潡
@@ -378,6 +379,7 @@
         # 灏嗚浆鎹㈠悗鐨凧SON瀛楃涓插啓鍏ユ枃浠�
         with open(constant.K_BARS_PATH, 'w', encoding='utf-8') as f:
             f.write(json_data)
+        async_log_util.info(logger_k_bars, json_data)
     except Exception as error:
         print(f"An error occurred while converting the data to JSON: {error}")
     logger.info(f"鏍囩殑涓偂鍘嗗彶k绾垮啓瀹屼簡锛亄tool.get_now_time_str()}")
diff --git a/strategy/buying_strategy.py b/strategy/buying_strategy.py
index 8b30597..a5230d6 100644
--- a/strategy/buying_strategy.py
+++ b/strategy/buying_strategy.py
@@ -879,7 +879,7 @@
                 # 浠ヤ笅閮ㄥ垎涓昏璁$畻鏁翠綋鐨勮姳璐规椂闂�
                 # 灏哻urrent_created_at杞崲涓篸atetime瀵硅薄锛岃繖閲屽亣璁炬槸浠婂ぉ鐨勬棩鏈�
                 # 娉ㄦ剰锛氳繖閲屼娇鐢ㄤ簡datetime.now()鏉ヨ幏鍙栧綋鍓嶆棩鏈燂紝浣嗕綘鍙互鏍规嵁闇�瑕佽皟鏁�
-                created_at = datetime.datetime.strptime(tool.get_now_date_str() + " " + current_created_at,
+                created_at = datetime.datetime.strptime(data_cache.DataCache().today_date + " " + current_created_at,
                                                         "%Y-%m-%d %H:%M:%S").timestamp()
                 # print(f"created_at===={created_at}")
                 # print(f"created_at type===={type(created_at)}")
diff --git a/strategy/data_cache.py b/strategy/data_cache.py
index eb5a8a0..71da684 100644
--- a/strategy/data_cache.py
+++ b/strategy/data_cache.py
@@ -11,7 +11,8 @@
 import constant
 # 寮曞叆鎺橀噾API
 import utils.juejin_api
-from log_module.log import logger_common
+from log_module import async_log_util
+from log_module.log import logger_common, logger_target_codes
 # from logging_config import get_logger
 from utils import tool, hx_qc_value_util
 
@@ -65,7 +66,7 @@
         # 鑾峰彇A鑲″競鍦猴紙鍖呭惈娌繁涓ゅ競锛夌殑鑲$エ鍒楄〃璺宠繃鍋滅墝锛岃烦杩嘢T    涓婁氦鎵� SHSE.600000   娣变氦鎵� SZSE.000000    target = ['SHSE.603839', 'SZSE.002855']
         self.all_stocks = utils.juejin_api.JueJinApi.get_target_codes()
         # self.all_stocks = [{'sec_level': 1, 'symbol': 'SZSE.301633','pre_close': 78.72000122070312, 'is_suspended': 0, 'sec_name': '娓开鎶�鏈�', 'listed_date': datetime.datetime(2024, 11, 7, 0, 0,tzinfo=datetime.timezone(datetime.timedelta(seconds=28800))), 'sec_type': 1, 'sec_id': '301633'}]
-
+        async_log_util.info(logger_target_codes, f"{ self.all_stocks}")
         # self.all_stocks = self.all_stocks[:10]
         # 缂撳瓨浠g爜鐨勫悕绉�
         self.code_name_dict = {x['symbol']: x['sec_name'] for x in self.all_stocks}
diff --git a/strategy/kpl_data_manager.py b/strategy/kpl_data_manager.py
index 03e9229..db4e65a 100644
--- a/strategy/kpl_data_manager.py
+++ b/strategy/kpl_data_manager.py
@@ -1,5 +1,6 @@
 from log_module import log_export, async_log_util
-from log_module.log import logger_stock_of_markets_plate, logger_debug, logger_kpl_market_sift_plate
+from log_module.log import logger_stock_of_markets_plate, logger_debug, logger_kpl_market_sift_plate, \
+    logger_stock_of_markets_plate_simple
 from utils import tool
 
 
@@ -71,11 +72,18 @@
     def add_log(self, in_plates_info, plate_codes_info):
         oringin_data = (tool.get_now_time_str(), in_plates_info, plate_codes_info)
         async_log_util.info(logger_stock_of_markets_plate, f"{(oringin_data[1], oringin_data[2])}")
+        plate_codes_simple_info = {plate: [(s[1], s[0], s[6], s[9], s[4], s[2], s[40]) for s in oringin_data[2][plate]] for plate in oringin_data[2]}
+        async_log_util.info(logger_stock_of_markets_plate_simple, f"{(oringin_data[1], plate_codes_simple_info)}")
 
     def get_filter_log_datas(self):
         return self.__filter_log_datas
 
 
 if __name__ == '__main__':
-    KPLMarketsSiftPlateLogManager().load_data()
+    # KPLMarketsSiftPlateLogManager().load_data()
     # KPLMarketStockHeatLogManager()
+    with open("D:/text.txt", encoding='utf-8', mode='r') as f:
+        line = f.readline()
+        res = eval(line)
+        KPLMarketStockHeatLogManager().add_log(res[0], res[1])
+        print(res)
\ No newline at end of file
diff --git a/strategy/plate_strength_analysis.py b/strategy/plate_strength_analysis.py
index e8ec8f3..efe40f4 100644
--- a/strategy/plate_strength_analysis.py
+++ b/strategy/plate_strength_analysis.py
@@ -4,8 +4,10 @@
 import time
 import dask
 import constant
+from log_module import async_log_util
 
-from log_module.log import logger_common, logger_kpl_jingxuan_in, logger_debug, logger_kpl_market_sift_plate
+from log_module.log import logger_common, logger_kpl_jingxuan_in, logger_debug, logger_kpl_market_sift_plate, \
+    logger_kpl_limit_up, logger_kpl_code_plates
 from strategy import kpl_api, data_cache, basic_methods
 from strategy.kpl_data_manager import KPLMarketStockHeatLogManager
 from utils import tool, hx_qc_value_util
@@ -75,6 +77,8 @@
         return log_data
     # 瀹氫箟涓�涓椂闂存锛屽湪杩欎釜鏃堕棿娈靛唴鎵嶄細鎵ц涓嬮潰鐨勪唬鐮侊紝涓昏灏辨槸鎶婂己搴︽暟鎹綔涓烘棩蹇楁墦鍗板瓨鍌ㄤ笅鏉ャ��
     now_time = tool.get_now_time_str()
+    if '11:30:10' < now_time < '12:59:50':
+        return
     data = (kpl_api.getMarketJingXuanRealRankingInfo())
     market_sift_plate = json.loads(data)
     # print(f"market_sift_plate 鏁� ======{len(market_sift_plate['list'])}")
@@ -140,7 +144,7 @@
     # 璁惧畾褰撳墠鏃堕棿鐐�
     now_time = tool.get_now_time_str()
     # print(f"now_time===={now_time}")
-    if data_cache.SERVER_RESTART_TIME < now_time < data_cache.UPDATE_DATA_TIME:
+    if data_cache.OPEN_BIDDING_TIME < now_time < data_cache.CLOSING_TIME:
         # print(f"鍦ㄦ椂闂村唴浣跨敤--------------------------")
         # 鑾峰彇娑ㄥ仠淇℃伅鍒楄〃
         limit_up_info = kpl_api.get_limit_up_info()
@@ -159,6 +163,8 @@
         # most_common_element, most_common_count = counter.most_common(1)[0]
         # # 鎵撳嵃鍑虹幇娆℃暟鏈�澶氱殑鍏冪礌
         # print(f"涓荤嚎姒傚康锛歿most_common_element}锛屽嚭鐜颁簡 {most_common_count} 娆�")
+        async_log_util.info(logger_kpl_limit_up, f"{limit_up_info}")
+
         return limit_up_block_names
 
 
@@ -455,6 +461,8 @@
     # 鍐欏叆鏂囦欢
     with open(constant.ALL_STOCKS_PLATE_PATH, 'w', encoding='utf-8') as f:
         f.write(json_data)
+    # 璁板綍鍒版棩蹇�
+    async_log_util.info(logger_kpl_code_plates, json_data)
     now_time = datetime.datetime.now()  # 鑾峰彇鏈満鏃堕棿
     logger_common.info(f"鍐欏叆鎵�鏈変釜鑲℃澘鍧楁枃浠跺畬鎴愶紒::{now_time}")
 

--
Gitblit v1.8.0