diff --git a/__pycache__/update_tushare_totxt.cpython-310.pyc b/__pycache__/update_tushare_totxt.cpython-310.pyc index 09ad69b..7e744da 100644 Binary files a/__pycache__/update_tushare_totxt.cpython-310.pyc and b/__pycache__/update_tushare_totxt.cpython-310.pyc differ diff --git a/app.log b/app.log index 13777ba..e3bb2d5 100644 --- a/app.log +++ b/app.log @@ -1,3 +1,34 @@ -2026-01-17 21:26:13 - INFO - 日志文件已配置: app.log -2026-01-17 21:26:19 - INFO - 所有资料已保存到 D:\gp_data\code\all_stock_codes.txt -2026-01-17 22:05:01 - INFO - 日志文件已配置: app.log +2026-01-21 01:27:30 - INFO - 日志文件已配置: app.log +2026-01-21 01:27:31 - ERROR - 执行任务时发生异常: 'DataDownloader' object has no attribute 'fetch_and_save_stock_basic_info' +2026-01-21 01:28:53 - INFO - 日志文件已配置: app.log +2026-01-21 01:31:07 - INFO - 日志文件已配置: app.log +2026-01-21 01:34:51 - INFO - 日志文件已配置: app.log +2026-01-21 01:35:05 - INFO - 所有资料已保存到 D:\gp_data\code\all_stock_codes.txt +2026-01-21 01:35:24 - INFO - 日志文件已配置: app.log +2026-01-21 01:39:01 - INFO - 日志文件已配置: app.log +2026-01-21 01:39:28 - INFO - 日志文件已配置: app.log +2026-01-21 01:39:32 - INFO - 所有资料已保存到 D:\gp_data\code\all_stock_codes.txt +2026-01-21 01:50:51 - INFO - 日志文件已配置: app.log +2026-01-21 01:50:51 - INFO - 开始获取个股基础信息... +2026-01-21 01:50:52 - INFO - 个股基础信息已成功保存到: D:\gp_data\baseinfo\stock_basic_info.txt +2026-01-21 01:50:52 - INFO - 共获取到 5472 条个股基础信息 +2026-01-21 01:51:39 - INFO - 日志文件已配置: app.log +2026-01-21 01:51:42 - INFO - 开始获取个股基础信息... +2026-01-21 01:51:42 - INFO - 个股基础信息已成功保存到: D:\gp_data\baseinfo\stock_basic_info.txt +2026-01-21 01:51:42 - INFO - 共获取到 5472 条个股基础信息 +2026-01-21 01:51:49 - INFO - 开始执行任务... +2026-01-21 01:51:50 - INFO - 所有资料已保存到 D:\gp_data\code\all_stock_codes.txt +2026-01-21 01:51:50 - INFO - 任务完成! 总耗时: 1.04秒 +2026-01-21 01:52:19 - INFO - 开始执行任务... +2026-01-21 01:52:20 - INFO - 任务完成! 总耗时: 0.43秒 +2026-01-21 02:01:09 - INFO - 程序正在退出... +2026-01-21 02:01:14 - INFO - 日志文件已配置: app.log +2026-01-21 02:01:15 - INFO - 开始执行任务... +2026-01-21 02:01:16 - INFO - 所有资料已保存到 D:\gp_data\code\all_stock_codes.txt +2026-01-21 02:01:16 - INFO - 任务完成! 总耗时: 1.22秒 +2026-01-21 02:01:18 - INFO - 开始执行任务... +2026-01-21 02:01:18 - INFO - 任务完成! 总耗时: 0.40秒 +2026-01-21 02:01:27 - INFO - 开始获取个股基础信息... +2026-01-21 02:01:30 - INFO - 个股基础信息已成功保存到: D:\gp_data\baseinfo\stock_basic_info.txt +2026-01-21 02:01:30 - INFO - 共获取到 5472 条个股基础信息 +2026-01-21 02:01:50 - INFO - 程序正在退出... diff --git a/app.log.2026-01-17 b/app.log.2026-01-17 new file mode 100644 index 0000000..13777ba --- /dev/null +++ b/app.log.2026-01-17 @@ -0,0 +1,3 @@ +2026-01-17 21:26:13 - INFO - 日志文件已配置: app.log +2026-01-17 21:26:19 - INFO - 所有资料已保存到 D:\gp_data\code\all_stock_codes.txt +2026-01-17 22:05:01 - INFO - 日志文件已配置: app.log diff --git a/market_data_check.log b/market_data_check.log index 5b90f68..a0ae824 100644 --- a/market_data_check.log +++ b/market_data_check.log @@ -1,518 +1,209 @@ -2026-01-17 22:05:09 - INFO - 日志文件已配置: market_data_check.log -2026-01-17 22:05:09 - INFO - 开始检查行情数据完整性,检查日期:20260117 -2026-01-17 22:05:09 - INFO - 正在加载交易日历缓存... -2026-01-17 22:05:09 - INFO - 成功获取并缓存交易日历: 20240118至20260216 -2026-01-17 22:05:09 - INFO - 交易日历缓存成功,共 761 条记录 -2026-01-17 22:05:09 - WARNING - 检查日期 20260117 不是交易日,可能所有文件都未更新 -2026-01-17 22:05:09 - INFO - 开始检查 2592 个数据文件... -2026-01-17 22:05:11 - INFO - 收集到的不完整文件数量: 2592 -2026-01-17 22:05:11 - INFO - 前5个不完整文件示例: ['000002.SZ', '000006.SZ', '000008.SZ', '000010.SZ', '000012.SZ'] -2026-01-17 22:05:11 - INFO - 开始对 2592 个数据不完整的个股进行停牌检查 -2026-01-17 22:05:11 - INFO - 未找到 000002.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:05:11 - INFO - 未找到 000006.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:05:11 - INFO - 未找到 000008.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:05:11 - INFO - 未找到 000010.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:05:11 - INFO - 未找到 000012.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:05:11 - INFO - 未找到 000016.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:05:11 - INFO - 未找到 000019.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:05:11 - INFO - 未找到 000021.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:05:12 - INFO - 未找到 000026.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:05:12 - INFO - 未找到 000028.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:05:12 - INFO - 未找到 000030.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:05:12 - INFO - 未找到 000032.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:05:12 - INFO - 未找到 000035.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:05:12 - INFO - 未找到 000037.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:05:12 - INFO - 未找到 000042.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:05:12 - INFO - 未找到 000048.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:05:12 - INFO - 未找到 000050.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:05:13 - INFO - 未找到 000056.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:05:13 - INFO - 未找到 000059.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:05:13 - INFO - 未找到 000061.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:05:13 - INFO - 未找到 000063.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:05:13 - INFO - 未找到 000066.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:05:13 - INFO - 未找到 000069.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:05:13 - INFO - 未找到 000078.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:05:13 - INFO - 未找到 000089.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:05:13 - INFO - 未找到 000096.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:05:14 - INFO - 未找到 000100.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:05:14 - INFO - 未找到 000153.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:05:14 - INFO - 未找到 000156.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:05:14 - INFO - 未找到 000158.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:05:14 - INFO - 未找到 000166.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:05:14 - INFO - 未找到 000333.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:05:14 - INFO - 未找到 000400.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:05:14 - INFO - 未找到 000402.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:05:14 - INFO - 未找到 000404.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:05:15 - INFO - 未找到 000408.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:05:15 - INFO - 未找到 000410.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:05:15 - INFO - 未找到 000415.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:05:15 - INFO - 未找到 000419.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:05:15 - INFO - 未找到 000421.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:05:15 - INFO - 未找到 000423.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:05:15 - INFO - 未找到 000426.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:05:15 - INFO - 未找到 000429.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:05:15 - INFO - 未找到 000488.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:05:15 - INFO - 未找到 000501.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:05:16 - INFO - 未找到 000504.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:05:16 - INFO - 未找到 000506.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:05:16 - INFO - 未找到 000509.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:05:16 - INFO - 未找到 000513.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:05:16 - INFO - 未找到 000516.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:05:16 - INFO - 未找到 000518.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:05:16 - INFO - 未找到 000520.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:05:16 - INFO - 未找到 000523.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:05:16 - INFO - 未找到 000525.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:05:17 - INFO - 未找到 000528.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:05:17 - INFO - 未找到 000530.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:05:17 - INFO - 未找到 000532.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:05:17 - INFO - 未找到 000534.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:05:17 - INFO - 未找到 000537.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:05:17 - INFO - 未找到 000539.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:05:17 - INFO - 未找到 000543.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:05:17 - INFO - 未找到 000545.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:05:18 - INFO - 未找到 000547.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:05:18 - INFO - 未找到 000550.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:05:18 - INFO - 未找到 000552.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:05:18 - INFO - 未找到 000554.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:05:18 - INFO - 未找到 000557.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:05:18 - INFO - 未找到 000559.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:05:18 - INFO - 未找到 000561.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:05:18 - INFO - 未找到 000564.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:05:18 - INFO - 未找到 000566.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:05:18 - INFO - 未找到 000568.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:05:19 - INFO - 未找到 000571.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:05:19 - INFO - 未找到 000573.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:05:19 - INFO - 未找到 000581.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:05:19 - INFO - 未找到 000586.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:05:19 - INFO - 未找到 000590.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:05:19 - INFO - 未找到 000592.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:05:19 - INFO - 未找到 000595.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:05:19 - INFO - 未找到 000597.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:05:19 - INFO - 未找到 000599.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:05:20 - INFO - 未找到 000601.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:05:20 - INFO - 未找到 000605.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:05:20 - INFO - 找到 000608.SZ 在 20251218 至 20260216 期间的停牌数据: 6条 -2026-01-17 22:05:20 - INFO - 股票 000608.SZ 在 20260117 未处于停牌状态 -2026-01-17 22:05:20 - INFO - 未找到 000610.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:05:20 - INFO - 找到 000615.SZ 在 20251218 至 20260216 期间的停牌数据: 2条 -2026-01-17 22:05:20 - INFO - 股票 000615.SZ 在 20260117 未处于停牌状态 -2026-01-17 22:05:20 - INFO - 未找到 000619.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:05:20 - INFO - 未找到 000623.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:05:20 - INFO - 未找到 000626.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:05:20 - INFO - 未找到 000629.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:05:21 - INFO - 未找到 000631.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:05:21 - INFO - 未找到 000633.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:05:21 - INFO - 未找到 000636.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:05:21 - INFO - 未找到 000638.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:05:21 - INFO - 未找到 000650.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:05:21 - INFO - 未找到 000652.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:05:21 - INFO - 未找到 000656.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:05:21 - INFO - 未找到 000659.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:05:21 - INFO - 未找到 000663.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:05:22 - INFO - 未找到 000668.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:05:22 - INFO - 找到 000670.SZ 在 20251218 至 20260216 期间的停牌数据: 9条 -2026-01-17 22:05:22 - INFO - 股票 000670.SZ 在 20260117 未处于停牌状态 -2026-01-17 22:05:22 - INFO - 未找到 000676.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:05:22 - INFO - 未找到 000678.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:05:22 - INFO - 未找到 000680.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:05:22 - INFO - 未找到 000682.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:05:22 - INFO - 未找到 000685.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:05:22 - INFO - 未找到 000688.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:05:22 - INFO - 找到 000691.SZ 在 20251218 至 20260216 期间的停牌数据: 2条 -2026-01-17 22:05:22 - INFO - 股票 000691.SZ 在 20260117 未处于停牌状态 -2026-01-17 22:05:22 - INFO - 未找到 000695.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:05:23 - INFO - 未找到 000698.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:05:23 - INFO - 未找到 000701.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:05:23 - INFO - 未找到 000703.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:05:23 - INFO - 未找到 000707.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:05:23 - INFO - 未找到 000709.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:05:23 - INFO - 未找到 000711.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:05:23 - INFO - 未找到 000713.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:05:23 - INFO - 未找到 000716.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:05:23 - INFO - 未找到 000718.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:05:24 - INFO - 未找到 000720.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:05:24 - INFO - 未找到 000722.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:05:24 - INFO - 未找到 000725.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:05:24 - INFO - 未找到 000727.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:05:24 - INFO - 未找到 000729.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:05:24 - INFO - 未找到 000733.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:05:24 - INFO - 未找到 000736.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:05:24 - INFO - 未找到 000738.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:05:24 - INFO - 未找到 000750.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:05:25 - INFO - 未找到 000752.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:05:25 - INFO - 未找到 000755.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:05:25 - INFO - 未找到 000757.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:05:25 - INFO - 未找到 000759.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:05:25 - INFO - 未找到 000762.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:05:25 - INFO - 未找到 000767.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:05:25 - INFO - 未找到 000776.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:05:25 - INFO - 未找到 000778.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:05:25 - INFO - 未找到 000782.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:05:26 - INFO - 未找到 000785.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:05:26 - INFO - 未找到 000788.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:05:26 - INFO - 未找到 000790.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:05:26 - INFO - 未找到 000792.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:05:26 - INFO - 未找到 000795.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:05:26 - INFO - 未找到 000797.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:05:26 - INFO - 未找到 000799.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:05:26 - INFO - 未找到 000801.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:05:26 - INFO - 未找到 000803.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:05:26 - INFO - 未找到 000809.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:05:27 - INFO - 未找到 000811.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:05:27 - INFO - 未找到 000813.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:05:27 - INFO - 未找到 000816.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:05:27 - INFO - 未找到 000819.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:05:27 - INFO - 找到 000821.SZ 在 20251218 至 20260216 期间的停牌数据: 2条 -2026-01-17 22:05:27 - INFO - 股票 000821.SZ 在 20260117 未处于停牌状态 -2026-01-17 22:05:27 - INFO - 未找到 000823.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:05:27 - INFO - 未找到 000826.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:05:27 - INFO - 未找到 000829.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:05:27 - INFO - 未找到 000831.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:05:28 - INFO - 未找到 000837.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:05:28 - INFO - 未找到 000839.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:05:28 - INFO - 未找到 000850.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:05:28 - INFO - 未找到 000856.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:05:28 - INFO - 未找到 000859.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:05:28 - INFO - 未找到 000862.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:05:28 - INFO - 未找到 000868.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:05:28 - INFO - 未找到 000875.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:05:28 - INFO - 未找到 000877.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:05:29 - INFO - 未找到 000880.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:31:40 - INFO - 日志文件已配置: market_data_check.log -2026-01-17 22:31:40 - INFO - 开始检查行情数据完整性,检查日期:20260117 -2026-01-17 22:31:40 - INFO - 正在加载交易日历缓存... -2026-01-17 22:31:40 - INFO - 成功获取并缓存交易日历: 20240118至20260216 -2026-01-17 22:31:40 - INFO - 交易日历缓存成功,共 761 条记录 -2026-01-17 22:31:40 - WARNING - 检查日期 20260117 不是交易日,可能所有文件都未更新 -2026-01-17 22:31:40 - INFO - 开始检查 2592 个数据文件... -2026-01-17 22:31:42 - INFO - 收集到的不完整文件数量: 2592 -2026-01-17 22:31:42 - INFO - 前5个不完整文件示例: ['000002.SZ', '000006.SZ', '000008.SZ', '000010.SZ', '000012.SZ'] -2026-01-17 22:31:42 - INFO - 开始对 2592 个数据不完整的个股进行停牌检查 -2026-01-17 22:31:42 - INFO - 未找到 000002.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:31:42 - INFO - 未找到 000006.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:31:42 - INFO - 未找到 000008.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:31:42 - INFO - 未找到 000010.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:31:42 - INFO - 未找到 000012.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:31:42 - INFO - 未找到 000016.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:31:42 - INFO - 未找到 000019.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:31:42 - INFO - 未找到 000021.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:31:42 - INFO - 未找到 000026.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:31:43 - INFO - 未找到 000028.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:31:43 - INFO - 未找到 000030.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:31:43 - INFO - 未找到 000032.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:31:43 - INFO - 未找到 000035.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:31:43 - INFO - 未找到 000037.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:31:43 - INFO - 未找到 000042.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:31:43 - INFO - 未找到 000048.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:31:43 - INFO - 未找到 000050.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:31:43 - INFO - 未找到 000056.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:31:44 - INFO - 未找到 000059.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:31:44 - INFO - 未找到 000061.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:31:44 - INFO - 未找到 000063.SZ 在 20251218 至 20260216 期间的停牌数据 -2026-01-17 22:34:16 - INFO - 日志文件已配置: market_data_check.log -2026-01-17 22:34:17 - INFO - 未找到 000001.SZ 在 20251216 至 20260117 期间的停牌数据 -2026-01-17 22:48:38 - INFO - 日志文件已配置: market_data_check.log -2026-01-17 22:48:38 - INFO - 开始检查行情数据完整性,检查日期:20260117 -2026-01-17 22:48:38 - INFO - 正在加载交易日历缓存... -2026-01-17 22:48:39 - INFO - 成功获取并缓存交易日历: 20240118至20260216 -2026-01-17 22:48:39 - INFO - 交易日历缓存成功,共 761 条记录 -2026-01-17 22:48:39 - WARNING - 检查日期 20260117 不是交易日,可能所有文件都未更新 -2026-01-17 22:48:39 - INFO - 开始检查 2592 个数据文件... -2026-01-17 22:48:40 - INFO - 收集到的不完整文件数量: 2592 -2026-01-17 22:48:40 - INFO - 前5个不完整文件示例: ['000002.SZ', '000006.SZ', '000008.SZ', '000010.SZ', '000012.SZ'] -2026-01-17 22:48:40 - INFO - 开始对 2592 个数据不完整的个股进行停牌检查 -2026-01-17 22:48:40 - INFO - 未找到 000002.SZ 在 20251218 至 20260117 期间的停牌数据 -2026-01-17 22:48:40 - INFO - 未找到 000006.SZ 在 20251218 至 20260117 期间的停牌数据 -2026-01-17 22:48:40 - INFO - 未找到 000008.SZ 在 20251218 至 20260117 期间的停牌数据 -2026-01-17 22:48:40 - INFO - 未找到 000010.SZ 在 20251218 至 20260117 期间的停牌数据 -2026-01-17 22:48:40 - INFO - 未找到 000012.SZ 在 20251218 至 20260117 期间的停牌数据 -2026-01-17 22:48:41 - INFO - 未找到 000016.SZ 在 20251218 至 20260117 期间的停牌数据 -2026-01-17 22:48:41 - INFO - 未找到 000019.SZ 在 20251218 至 20260117 期间的停牌数据 -2026-01-17 22:48:41 - INFO - 未找到 000021.SZ 在 20251218 至 20260117 期间的停牌数据 -2026-01-17 22:48:41 - INFO - 未找到 000026.SZ 在 20251218 至 20260117 期间的停牌数据 -2026-01-17 22:48:41 - INFO - 未找到 000028.SZ 在 20251218 至 20260117 期间的停牌数据 -2026-01-17 22:48:41 - INFO - 未找到 000030.SZ 在 20251218 至 20260117 期间的停牌数据 -2026-01-17 22:48:41 - INFO - 未找到 000032.SZ 在 20251218 至 20260117 期间的停牌数据 -2026-01-17 22:48:41 - INFO - 未找到 000035.SZ 在 20251218 至 20260117 期间的停牌数据 -2026-01-17 22:48:41 - INFO - 未找到 000037.SZ 在 20251218 至 20260117 期间的停牌数据 -2026-01-17 22:48:41 - INFO - 未找到 000042.SZ 在 20251218 至 20260117 期间的停牌数据 -2026-01-17 22:48:42 - INFO - 未找到 000048.SZ 在 20251218 至 20260117 期间的停牌数据 -2026-01-17 22:48:42 - INFO - 未找到 000050.SZ 在 20251218 至 20260117 期间的停牌数据 -2026-01-17 22:48:42 - INFO - 未找到 000056.SZ 在 20251218 至 20260117 期间的停牌数据 -2026-01-17 22:48:42 - INFO - 未找到 000059.SZ 在 20251218 至 20260117 期间的停牌数据 -2026-01-17 22:48:42 - INFO - 未找到 000061.SZ 在 20251218 至 20260117 期间的停牌数据 -2026-01-17 22:48:42 - INFO - 未找到 000063.SZ 在 20251218 至 20260117 期间的停牌数据 -2026-01-17 22:48:42 - INFO - 未找到 000066.SZ 在 20251218 至 20260117 期间的停牌数据 -2026-01-17 22:48:42 - INFO - 未找到 000069.SZ 在 20251218 至 20260117 期间的停牌数据 -2026-01-17 22:48:42 - INFO - 未找到 000078.SZ 在 20251218 至 20260117 期间的停牌数据 -2026-01-17 22:48:43 - INFO - 未找到 000089.SZ 在 20251218 至 20260117 期间的停牌数据 -2026-01-17 22:48:43 - INFO - 未找到 000096.SZ 在 20251218 至 20260117 期间的停牌数据 -2026-01-17 22:48:43 - INFO - 未找到 000100.SZ 在 20251218 至 20260117 期间的停牌数据 -2026-01-17 22:48:43 - INFO - 未找到 000153.SZ 在 20251218 至 20260117 期间的停牌数据 -2026-01-17 23:07:00 - INFO - 日志文件已配置: market_data_check.log -2026-01-17 23:07:00 - INFO - 开始检查行情数据完整性,检查日期:20260117 -2026-01-17 23:07:00 - INFO - 正在加载交易日历缓存... -2026-01-17 23:07:01 - INFO - 成功获取并缓存交易日历: 20240118至20260216 -2026-01-17 23:07:01 - INFO - 交易日历缓存成功,共 761 条记录 -2026-01-17 23:07:01 - WARNING - 检查日期 20260117 不是交易日,可能所有文件都未更新 -2026-01-17 23:07:01 - INFO - 开始检查 2592 个数据文件... -2026-01-17 23:07:02 - INFO - 收集到的不完整文件数量: 2592 -2026-01-17 23:07:02 - INFO - 前5个不完整文件示例: ['000002.SZ', '000006.SZ', '000008.SZ', '000010.SZ', '000012.SZ'] -2026-01-17 23:07:02 - INFO - 开始对 2592 个数据不完整的个股进行停牌检查 -2026-01-17 23:07:02 - INFO - 未找到 000002.SZ 在 20251218 至 20260117 期间的停牌数据 -2026-01-17 23:07:02 - INFO - 未找到 000006.SZ 在 20251218 至 20260117 期间的停牌数据 -2026-01-17 23:07:02 - INFO - 未找到 000008.SZ 在 20251218 至 20260117 期间的停牌数据 -2026-01-17 23:07:02 - INFO - 未找到 000010.SZ 在 20251218 至 20260117 期间的停牌数据 -2026-01-17 23:07:02 - INFO - 未找到 000012.SZ 在 20251218 至 20260117 期间的停牌数据 -2026-01-17 23:07:02 - INFO - 未找到 000016.SZ 在 20251218 至 20260117 期间的停牌数据 -2026-01-17 23:07:02 - INFO - 未找到 000019.SZ 在 20251218 至 20260117 期间的停牌数据 -2026-01-17 23:07:03 - INFO - 未找到 000021.SZ 在 20251218 至 20260117 期间的停牌数据 -2026-01-17 23:07:03 - INFO - 未找到 000026.SZ 在 20251218 至 20260117 期间的停牌数据 -2026-01-17 23:07:03 - INFO - 未找到 000028.SZ 在 20251218 至 20260117 期间的停牌数据 -2026-01-17 23:07:03 - INFO - 未找到 000030.SZ 在 20251218 至 20260117 期间的停牌数据 -2026-01-17 23:07:03 - INFO - 未找到 000032.SZ 在 20251218 至 20260117 期间的停牌数据 -2026-01-17 23:07:03 - INFO - 未找到 000035.SZ 在 20251218 至 20260117 期间的停牌数据 -2026-01-17 23:07:03 - INFO - 未找到 000037.SZ 在 20251218 至 20260117 期间的停牌数据 -2026-01-17 23:07:03 - INFO - 未找到 000042.SZ 在 20251218 至 20260117 期间的停牌数据 -2026-01-17 23:07:03 - INFO - 未找到 000048.SZ 在 20251218 至 20260117 期间的停牌数据 -2026-01-17 23:07:04 - INFO - 未找到 000050.SZ 在 20251218 至 20260117 期间的停牌数据 -2026-01-17 23:07:04 - INFO - 未找到 000056.SZ 在 20251218 至 20260117 期间的停牌数据 -2026-01-17 23:10:59 - INFO - 日志文件已配置: market_data_check.log -2026-01-17 23:10:59 - INFO - 开始检查行情数据完整性,检查日期:20260117 -2026-01-17 23:10:59 - INFO - 正在加载交易日历缓存... -2026-01-17 23:11:05 - INFO - 成功获取并缓存交易日历: 20240118至20260216 -2026-01-17 23:11:05 - INFO - 交易日历缓存成功,共 761 条记录 -2026-01-17 23:11:05 - WARNING - 检查日期 20260117 不是交易日,正在寻找最近的前一个交易日... -2026-01-17 23:11:05 - INFO - 目标日期 20260117 的前一个交易日是 20260116 -2026-01-17 23:11:05 - INFO - 已将检查日期调整为:20260116 -2026-01-17 23:11:05 - INFO - 开始检查 2592 个数据文件... -2026-01-17 23:11:05 - INFO - 收集到的不完整文件数量: 6 -2026-01-17 23:11:05 - INFO - 前5个不完整文件示例: ['000670.SZ', '002131.SZ', '002155.SZ', '002931.SZ', '300658.SZ'] -2026-01-17 23:11:05 - INFO - 开始对 6 个数据不完整的个股进行停牌检查 -2026-01-17 23:11:10 - INFO - 找到 000670.SZ 在 20251217 至 20260117 期间的停牌数据: 9条 -2026-01-17 23:11:10 - INFO - 股票 000670.SZ 在 20260116 处于停牌状态 -2026-01-17 23:11:10 - INFO - 股票 000670.SZ 当前处于停牌状态 -2026-01-17 23:11:10 - INFO - 股票 000670.SZ 的最新行情日期 20260105 < 停牌开始日期 20260106,开始更新数据 -2026-01-17 23:11:10 - INFO - 开始更新股票 000670.SZ 的行情数据 -2026-01-17 23:11:10 - INFO - 股票 000670.SZ 现有最新日期: 20260105,将获取 20260106 至今的数据 -2026-01-17 23:11:16 - INFO - 未获取到股票 000670.SZ 的新数据 -2026-01-17 23:11:16 - INFO - 股票 000670.SZ 数据更新成功,最新日期: 20260105 -2026-01-17 23:11:21 - INFO - 找到 002131.SZ 在 20251217 至 20260117 期间的停牌数据: 1条 -2026-01-17 23:11:21 - INFO - 股票 002131.SZ 在 20260116 处于停牌状态 -2026-01-17 23:11:21 - INFO - 股票 002131.SZ 当前处于停牌状态 -2026-01-17 23:11:21 - INFO - 股票 002131.SZ 的最新行情日期 20260115 < 停牌开始日期 20260116,开始更新数据 -2026-01-17 23:11:21 - INFO - 开始更新股票 002131.SZ 的行情数据 -2026-01-17 23:11:21 - INFO - 股票 002131.SZ 现有最新日期: 20260115,将获取 20260116 至今的数据 -2026-01-17 23:11:27 - INFO - 未获取到股票 002131.SZ 的新数据 -2026-01-17 23:11:27 - INFO - 股票 002131.SZ 数据更新成功,最新日期: 20260115 -2026-01-17 23:11:32 - INFO - 找到 002155.SZ 在 20251217 至 20260117 期间的停牌数据: 5条 -2026-01-17 23:11:32 - INFO - 股票 002155.SZ 在 20260116 处于停牌状态 -2026-01-17 23:11:32 - INFO - 股票 002155.SZ 当前处于停牌状态 -2026-01-17 23:11:32 - INFO - 股票 002155.SZ 的最新行情日期 20260109 < 停牌开始日期 20260112,开始更新数据 -2026-01-17 23:11:32 - INFO - 开始更新股票 002155.SZ 的行情数据 -2026-01-17 23:11:32 - INFO - 股票 002155.SZ 现有最新日期: 20260109,将获取 20260110 至今的数据 -2026-01-17 23:11:37 - INFO - 未获取到股票 002155.SZ 的新数据 -2026-01-17 23:11:37 - INFO - 股票 002155.SZ 数据更新成功,最新日期: 20260109 -2026-01-17 23:11:43 - INFO - 找到 002931.SZ 在 20251217 至 20260117 期间的停牌数据: 9条 -2026-01-17 23:11:43 - INFO - 股票 002931.SZ 在 20260116 处于停牌状态 -2026-01-17 23:11:43 - INFO - 股票 002931.SZ 当前处于停牌状态 -2026-01-17 23:11:43 - INFO - 股票 002931.SZ 的最新行情日期 20260113 >= 停牌开始日期 20251218,数据完整,不输出报告 -2026-01-17 23:11:48 - INFO - 找到 300658.SZ 在 20251217 至 20260117 期间的停牌数据: 10条 -2026-01-17 23:11:48 - INFO - 股票 300658.SZ 在 20260116 处于停牌状态 -2026-01-17 23:11:48 - INFO - 股票 300658.SZ 当前处于停牌状态 -2026-01-17 23:11:48 - INFO - 股票 300658.SZ 的最新行情日期 20251231 < 停牌开始日期 20260105,开始更新数据 -2026-01-17 23:11:48 - INFO - 开始更新股票 300658.SZ 的行情数据 -2026-01-17 23:11:48 - INFO - 股票 300658.SZ 现有最新日期: 20251231,将获取 20260101 至今的数据 -2026-01-17 23:11:53 - INFO - 未获取到股票 300658.SZ 的新数据 -2026-01-17 23:11:54 - INFO - 股票 300658.SZ 数据更新成功,最新日期: 20251231 -2026-01-17 23:11:59 - INFO - 找到 601615.SH 在 20251217 至 20260117 期间的停牌数据: 4条 -2026-01-17 23:11:59 - INFO - 股票 601615.SH 在 20260116 处于停牌状态 -2026-01-17 23:11:59 - INFO - 股票 601615.SH 当前处于停牌状态 -2026-01-17 23:11:59 - INFO - 股票 601615.SH 的最新行情日期 20260112 < 停牌开始日期 20260113,开始更新数据 -2026-01-17 23:11:59 - INFO - 开始更新股票 601615.SH 的行情数据 -2026-01-17 23:11:59 - INFO - 股票 601615.SH 现有最新日期: 20260112,将获取 20260113 至今的数据 -2026-01-17 23:12:29 - ERROR - 读取文件 D:\gp_data\day\601615.SH_daily_data.txt 失败: HTTPConnectionPool(host='127.0.0.1', port=9674): Read timed out. (read timeout=30) -2026-01-17 23:12:29 - INFO - 获取股票 601615.SH 的全部行情数据 -2026-01-17 23:12:34 - INFO - 股票 601615.SH 的行情数据已成功获取并保存 -2026-01-17 23:12:34 - INFO - 股票 601615.SH 数据更新成功,最新日期: 20260112 -2026-01-17 23:12:34 - INFO - 停牌检查完成,剩余 5 个需要输出报告的不完整个股 -2026-01-17 23:12:34 - INFO - 检查完成,共检查 2592 个文件 -2026-01-17 23:12:34 - INFO - 发现 5 个未更新到最新的数据文件 -2026-01-17 23:12:34 - INFO - 检查结果已输出到:market_data_check_result.csv -2026-01-17 23:23:52 - INFO - 日志文件已配置: market_data_check.log -2026-01-17 23:23:52 - INFO - 开始检查行情数据完整性,检查日期:20260117 -2026-01-17 23:23:52 - INFO - 正在加载交易日历缓存... -2026-01-17 23:23:52 - INFO - 成功获取并缓存交易日历: 20240118至20260216 -2026-01-17 23:23:52 - INFO - 交易日历缓存成功,共 761 条记录 -2026-01-17 23:23:52 - WARNING - 检查日期 20260117 不是交易日,正在寻找最近的前一个交易日... -2026-01-17 23:23:52 - INFO - 目标日期 20260117 的前一个交易日是 20260116 -2026-01-17 23:23:52 - INFO - 已将检查日期调整为:20260116 -2026-01-17 23:23:52 - INFO - 开始检查 2592 个数据文件... -2026-01-17 23:23:52 - INFO - 收集到的不完整文件数量: 6 -2026-01-17 23:23:52 - INFO - 前5个不完整文件示例: ['000670.SZ', '002131.SZ', '002155.SZ', '002931.SZ', '300658.SZ'] -2026-01-17 23:23:52 - INFO - 开始对 6 个数据不完整的个股进行停牌检查 -2026-01-17 23:23:52 - INFO - 找到 000670.SZ 在 20251217 至 20260117 期间的停牌数据: 9条 -2026-01-17 23:23:52 - INFO - 股票 000670.SZ 在 20260116 处于停牌状态 -2026-01-17 23:23:52 - INFO - 股票 000670.SZ 当前处于停牌状态 -2026-01-17 23:23:52 - INFO - 股票 000670.SZ 的最新行情日期 20260105 < 停牌开始日期 20260106,开始更新数据 -2026-01-17 23:23:52 - INFO - 开始更新股票 000670.SZ 的行情数据 -2026-01-17 23:23:52 - INFO - 股票 000670.SZ 现有最新日期: 20260105,将获取 20260106 至今的数据 -2026-01-17 23:23:52 - INFO - 未获取到股票 000670.SZ 的新数据 -2026-01-17 23:23:52 - INFO - 股票 000670.SZ 数据更新成功,最新日期: 20260105 -2026-01-17 23:23:53 - INFO - 找到 002131.SZ 在 20251217 至 20260117 期间的停牌数据: 1条 -2026-01-17 23:23:53 - INFO - 股票 002131.SZ 在 20260116 处于停牌状态 -2026-01-17 23:23:53 - INFO - 股票 002131.SZ 当前处于停牌状态 -2026-01-17 23:23:53 - INFO - 股票 002131.SZ 的最新行情日期 20260115 < 停牌开始日期 20260116,开始更新数据 -2026-01-17 23:23:53 - INFO - 开始更新股票 002131.SZ 的行情数据 -2026-01-17 23:23:53 - INFO - 股票 002131.SZ 现有最新日期: 20260115,将获取 20260116 至今的数据 -2026-01-17 23:23:53 - INFO - 未获取到股票 002131.SZ 的新数据 -2026-01-17 23:23:53 - INFO - 股票 002131.SZ 数据更新成功,最新日期: 20260115 -2026-01-17 23:23:53 - INFO - 找到 002155.SZ 在 20251217 至 20260117 期间的停牌数据: 5条 -2026-01-17 23:23:53 - INFO - 股票 002155.SZ 在 20260116 处于停牌状态 -2026-01-17 23:23:53 - INFO - 股票 002155.SZ 当前处于停牌状态 -2026-01-17 23:23:53 - INFO - 股票 002155.SZ 的最新行情日期 20260109 < 停牌开始日期 20260112,开始更新数据 -2026-01-17 23:23:53 - INFO - 开始更新股票 002155.SZ 的行情数据 -2026-01-17 23:23:53 - INFO - 股票 002155.SZ 现有最新日期: 20260109,将获取 20260110 至今的数据 -2026-01-17 23:23:53 - INFO - 未获取到股票 002155.SZ 的新数据 -2026-01-17 23:23:53 - INFO - 股票 002155.SZ 数据更新成功,最新日期: 20260109 -2026-01-17 23:23:53 - INFO - 找到 002931.SZ 在 20251217 至 20260117 期间的停牌数据: 9条 -2026-01-17 23:23:53 - INFO - 股票 002931.SZ 在 20260116 处于停牌状态 -2026-01-17 23:23:53 - INFO - 股票 002931.SZ 当前处于停牌状态 -2026-01-17 23:23:53 - INFO - 股票 002931.SZ 的最新行情日期 20260113 >= 停牌开始日期 20251218,数据完整,不输出报告 -2026-01-17 23:23:53 - INFO - 找到 300658.SZ 在 20251217 至 20260117 期间的停牌数据: 10条 -2026-01-17 23:23:53 - INFO - 股票 300658.SZ 在 20260116 处于停牌状态 -2026-01-17 23:23:53 - INFO - 股票 300658.SZ 当前处于停牌状态 -2026-01-17 23:23:53 - INFO - 股票 300658.SZ 的最新行情日期 20251231 < 停牌开始日期 20260105,开始更新数据 -2026-01-17 23:23:53 - INFO - 开始更新股票 300658.SZ 的行情数据 -2026-01-17 23:23:53 - INFO - 股票 300658.SZ 现有最新日期: 20251231,将获取 20260101 至今的数据 -2026-01-17 23:23:53 - INFO - 未获取到股票 300658.SZ 的新数据 -2026-01-17 23:23:53 - INFO - 股票 300658.SZ 数据更新成功,最新日期: 20251231 -2026-01-17 23:23:53 - INFO - 找到 601615.SH 在 20251217 至 20260117 期间的停牌数据: 4条 -2026-01-17 23:23:53 - INFO - 股票 601615.SH 在 20260116 处于停牌状态 -2026-01-17 23:23:53 - INFO - 股票 601615.SH 当前处于停牌状态 -2026-01-17 23:23:53 - INFO - 股票 601615.SH 的最新行情日期 20260112 < 停牌开始日期 20260113,开始更新数据 -2026-01-17 23:23:53 - INFO - 开始更新股票 601615.SH 的行情数据 -2026-01-17 23:23:53 - INFO - 股票 601615.SH 现有最新日期: 20260112,将获取 20260113 至今的数据 -2026-01-17 23:23:53 - INFO - 未获取到股票 601615.SH 的新数据 -2026-01-17 23:23:53 - INFO - 股票 601615.SH 数据更新成功,最新日期: 20260112 -2026-01-17 23:23:53 - INFO - 停牌检查完成,剩余 5 个需要输出报告的不完整个股 -2026-01-17 23:23:53 - INFO - 检查完成,共检查 2592 个文件 -2026-01-17 23:23:53 - INFO - 发现 5 个未更新到最新的数据文件 -2026-01-17 23:23:53 - INFO - 检查结果已输出到:market_data_check_result.csv -2026-01-17 23:27:35 - INFO - 日志文件已配置: market_data_check.log -2026-01-17 23:27:35 - INFO - 开始检查行情数据完整性,检查日期:20260117 -2026-01-17 23:27:35 - INFO - 正在加载交易日历缓存... -2026-01-17 23:27:36 - INFO - 成功获取并缓存交易日历: 20240118至20260216 -2026-01-17 23:27:36 - INFO - 交易日历缓存成功,共 761 条记录 -2026-01-17 23:27:36 - WARNING - 检查日期 20260117 不是交易日,正在寻找最近的前一个交易日... -2026-01-17 23:27:36 - INFO - 目标日期 20260117 的前一个交易日是 20260116 -2026-01-17 23:27:36 - INFO - 已将检查日期调整为:20260116 -2026-01-17 23:27:36 - INFO - 开始检查 2592 个数据文件... -2026-01-17 23:27:36 - INFO - 收集到的不完整文件数量: 6 -2026-01-17 23:27:36 - INFO - 前5个不完整文件示例: ['000670.SZ', '002131.SZ', '002155.SZ', '002931.SZ', '300658.SZ'] -2026-01-17 23:27:36 - INFO - 开始对 6 个数据不完整的个股进行停牌检查 -2026-01-17 23:27:36 - INFO - 找到 000670.SZ 在 20251217 至 20260117 期间的停牌数据: 9条 -2026-01-17 23:27:36 - INFO - 股票 000670.SZ 在 20260116 处于停牌状态 -2026-01-17 23:27:36 - INFO - 股票 000670.SZ 当前处于停牌状态 -2026-01-17 23:27:36 - INFO - 股票 000670.SZ 的最新行情日期 20260105 < 停牌开始日期 20260106,开始更新数据 -2026-01-17 23:27:36 - INFO - 开始更新股票 000670.SZ 的行情数据 -2026-01-17 23:27:36 - INFO - 股票 000670.SZ 现有最新日期: 20260105,将获取 20260106 至今的数据 -2026-01-17 23:27:37 - INFO - 未获取到股票 000670.SZ 的新数据 -2026-01-17 23:27:37 - INFO - 股票 000670.SZ 数据更新成功,最新日期: 20260105 -2026-01-17 23:27:37 - INFO - 找到 002131.SZ 在 20251217 至 20260117 期间的停牌数据: 1条 -2026-01-17 23:27:37 - INFO - 股票 002131.SZ 在 20260116 处于停牌状态 -2026-01-17 23:27:37 - INFO - 股票 002131.SZ 当前处于停牌状态 -2026-01-17 23:27:37 - INFO - 股票 002131.SZ 的最新行情日期 20260115 < 停牌开始日期 20260116,开始更新数据 -2026-01-17 23:27:37 - INFO - 开始更新股票 002131.SZ 的行情数据 -2026-01-17 23:27:37 - INFO - 股票 002131.SZ 现有最新日期: 20260115,将获取 20260116 至今的数据 -2026-01-17 23:27:37 - INFO - 未获取到股票 002131.SZ 的新数据 -2026-01-17 23:27:37 - INFO - 股票 002131.SZ 数据更新成功,最新日期: 20260115 -2026-01-17 23:27:37 - INFO - 找到 002155.SZ 在 20251217 至 20260117 期间的停牌数据: 5条 -2026-01-17 23:27:37 - INFO - 股票 002155.SZ 在 20260116 处于停牌状态 -2026-01-17 23:27:37 - INFO - 股票 002155.SZ 当前处于停牌状态 -2026-01-17 23:27:37 - INFO - 股票 002155.SZ 的最新行情日期 20260109 < 停牌开始日期 20260112,开始更新数据 -2026-01-17 23:27:37 - INFO - 开始更新股票 002155.SZ 的行情数据 -2026-01-17 23:27:37 - INFO - 股票 002155.SZ 现有最新日期: 20260109,将获取 20260110 至今的数据 -2026-01-17 23:27:37 - INFO - 未获取到股票 002155.SZ 的新数据 -2026-01-17 23:27:37 - INFO - 股票 002155.SZ 数据更新成功,最新日期: 20260109 -2026-01-17 23:27:37 - INFO - 找到 002931.SZ 在 20251217 至 20260117 期间的停牌数据: 9条 -2026-01-17 23:27:37 - INFO - 股票 002931.SZ 在 20260116 处于停牌状态 -2026-01-17 23:27:37 - INFO - 股票 002931.SZ 当前处于停牌状态 -2026-01-17 23:27:37 - INFO - 股票 002931.SZ 的最新行情日期 20260113 >= 停牌开始日期 20251218,数据完整,不输出报告 -2026-01-17 23:27:37 - INFO - 找到 300658.SZ 在 20251217 至 20260117 期间的停牌数据: 10条 -2026-01-17 23:27:37 - INFO - 股票 300658.SZ 在 20260116 处于停牌状态 -2026-01-17 23:27:37 - INFO - 股票 300658.SZ 当前处于停牌状态 -2026-01-17 23:27:37 - INFO - 股票 300658.SZ 的最新行情日期 20251231 < 停牌开始日期 20260105,开始更新数据 -2026-01-17 23:27:37 - INFO - 开始更新股票 300658.SZ 的行情数据 -2026-01-17 23:27:37 - INFO - 股票 300658.SZ 现有最新日期: 20251231,将获取 20260101 至今的数据 -2026-01-17 23:27:37 - INFO - 未获取到股票 300658.SZ 的新数据 -2026-01-17 23:27:37 - INFO - 股票 300658.SZ 数据更新成功,最新日期: 20251231 -2026-01-17 23:27:37 - INFO - 找到 601615.SH 在 20251217 至 20260117 期间的停牌数据: 4条 -2026-01-17 23:27:37 - INFO - 股票 601615.SH 在 20260116 处于停牌状态 -2026-01-17 23:27:37 - INFO - 股票 601615.SH 当前处于停牌状态 -2026-01-17 23:27:37 - INFO - 股票 601615.SH 的最新行情日期 20260112 < 停牌开始日期 20260113,开始更新数据 -2026-01-17 23:27:37 - INFO - 开始更新股票 601615.SH 的行情数据 -2026-01-17 23:27:37 - INFO - 股票 601615.SH 现有最新日期: 20260112,将获取 20260113 至今的数据 -2026-01-17 23:27:38 - INFO - 未获取到股票 601615.SH 的新数据 -2026-01-17 23:27:38 - INFO - 股票 601615.SH 数据更新成功,最新日期: 20260112 -2026-01-17 23:27:38 - INFO - 停牌检查完成,剩余 5 个需要输出报告的不完整个股 -2026-01-17 23:28:37 - INFO - 日志文件已配置: market_data_check.log -2026-01-17 23:28:37 - INFO - 开始检查行情数据完整性,检查日期:20260117 -2026-01-17 23:28:37 - INFO - 正在加载交易日历缓存... -2026-01-17 23:28:37 - INFO - 成功获取并缓存交易日历: 20240118至20260216 -2026-01-17 23:28:37 - INFO - 交易日历缓存成功,共 761 条记录 -2026-01-17 23:28:37 - WARNING - 检查日期 20260117 不是交易日,正在寻找最近的前一个交易日... -2026-01-17 23:28:37 - INFO - 目标日期 20260117 的前一个交易日是 20260116 -2026-01-17 23:28:37 - INFO - 已将检查日期调整为:20260116 -2026-01-17 23:28:37 - INFO - 开始检查 2592 个数据文件... -2026-01-17 23:28:37 - INFO - 收集到的不完整文件数量: 6 -2026-01-17 23:28:37 - INFO - 前5个不完整文件示例: ['000670.SZ', '002131.SZ', '002155.SZ', '002931.SZ', '300658.SZ'] -2026-01-17 23:28:37 - INFO - 开始对 6 个数据不完整的个股进行停牌检查 -2026-01-17 23:28:37 - INFO - 找到 000670.SZ 在 20251217 至 20260117 期间的停牌数据: 9条 -2026-01-17 23:28:37 - INFO - 股票 000670.SZ 在 20260116 处于停牌状态 -2026-01-17 23:28:37 - INFO - 股票 000670.SZ 当前处于停牌状态 -2026-01-17 23:28:37 - INFO - 股票 000670.SZ 的最新行情日期 20260105 < 停牌开始日期 20260106,开始更新数据 -2026-01-17 23:28:37 - INFO - 开始更新股票 000670.SZ 的行情数据 -2026-01-17 23:28:37 - INFO - 股票 000670.SZ 现有最新日期: 20260105,将获取 20260106 至今的数据 -2026-01-17 23:28:38 - INFO - 未获取到股票 000670.SZ 的新数据 -2026-01-17 23:28:38 - INFO - 股票 000670.SZ 数据更新成功,最新日期: 20260105 -2026-01-17 23:28:38 - INFO - 找到 002131.SZ 在 20251217 至 20260117 期间的停牌数据: 1条 -2026-01-17 23:28:38 - INFO - 股票 002131.SZ 在 20260116 处于停牌状态 -2026-01-17 23:28:38 - INFO - 股票 002131.SZ 当前处于停牌状态 -2026-01-17 23:28:38 - INFO - 股票 002131.SZ 的最新行情日期 20260115 < 停牌开始日期 20260116,开始更新数据 -2026-01-17 23:28:38 - INFO - 开始更新股票 002131.SZ 的行情数据 -2026-01-17 23:28:38 - INFO - 股票 002131.SZ 现有最新日期: 20260115,将获取 20260116 至今的数据 -2026-01-17 23:28:38 - INFO - 未获取到股票 002131.SZ 的新数据 -2026-01-17 23:28:38 - INFO - 股票 002131.SZ 数据更新成功,最新日期: 20260115 -2026-01-17 23:28:38 - INFO - 找到 002155.SZ 在 20251217 至 20260117 期间的停牌数据: 5条 -2026-01-17 23:28:38 - INFO - 股票 002155.SZ 在 20260116 处于停牌状态 -2026-01-17 23:28:38 - INFO - 股票 002155.SZ 当前处于停牌状态 -2026-01-17 23:28:38 - INFO - 股票 002155.SZ 的最新行情日期 20260109 < 停牌开始日期 20260112,开始更新数据 -2026-01-17 23:28:38 - INFO - 开始更新股票 002155.SZ 的行情数据 -2026-01-17 23:28:38 - INFO - 股票 002155.SZ 现有最新日期: 20260109,将获取 20260110 至今的数据 -2026-01-17 23:28:38 - INFO - 未获取到股票 002155.SZ 的新数据 -2026-01-17 23:28:38 - INFO - 股票 002155.SZ 数据更新成功,最新日期: 20260109 -2026-01-17 23:28:38 - INFO - 找到 002931.SZ 在 20251217 至 20260117 期间的停牌数据: 9条 -2026-01-17 23:28:38 - INFO - 股票 002931.SZ 在 20260116 处于停牌状态 -2026-01-17 23:28:38 - INFO - 股票 002931.SZ 当前处于停牌状态 -2026-01-17 23:28:38 - INFO - 股票 002931.SZ 的最新行情日期 20260113 >= 停牌开始日期 20251218,数据完整,不输出报告 -2026-01-17 23:28:38 - INFO - 找到 300658.SZ 在 20251217 至 20260117 期间的停牌数据: 10条 -2026-01-17 23:28:38 - INFO - 股票 300658.SZ 在 20260116 处于停牌状态 -2026-01-17 23:28:38 - INFO - 股票 300658.SZ 当前处于停牌状态 -2026-01-17 23:28:38 - INFO - 股票 300658.SZ 的最新行情日期 20251231 < 停牌开始日期 20260105,开始更新数据 -2026-01-17 23:28:38 - INFO - 开始更新股票 300658.SZ 的行情数据 -2026-01-17 23:28:38 - INFO - 股票 300658.SZ 现有最新日期: 20251231,将获取 20260101 至今的数据 -2026-01-17 23:28:38 - INFO - 未获取到股票 300658.SZ 的新数据 -2026-01-17 23:28:38 - INFO - 股票 300658.SZ 数据更新成功,最新日期: 20251231 -2026-01-17 23:28:38 - INFO - 找到 601615.SH 在 20251217 至 20260117 期间的停牌数据: 4条 -2026-01-17 23:28:38 - INFO - 股票 601615.SH 在 20260116 处于停牌状态 -2026-01-17 23:28:38 - INFO - 股票 601615.SH 当前处于停牌状态 -2026-01-17 23:28:38 - INFO - 股票 601615.SH 的最新行情日期 20260112 < 停牌开始日期 20260113,开始更新数据 -2026-01-17 23:28:38 - INFO - 开始更新股票 601615.SH 的行情数据 -2026-01-17 23:28:38 - INFO - 股票 601615.SH 现有最新日期: 20260112,将获取 20260113 至今的数据 -2026-01-17 23:28:39 - INFO - 未获取到股票 601615.SH 的新数据 -2026-01-17 23:28:39 - INFO - 股票 601615.SH 数据更新成功,最新日期: 20260112 -2026-01-17 23:28:39 - INFO - 停牌检查完成,剩余 5 个需要输出报告的不完整个股 -2026-01-17 23:28:39 - INFO - 检查完成,共检查 2592 个文件 -2026-01-17 23:28:39 - INFO - 发现 5 个未更新到最新的数据文件 -2026-01-17 23:28:39 - INFO - 检查结果已输出到:market_data_check_result.csv +2026-01-21 01:29:07 - INFO - 日志文件已配置: market_data_check.log +2026-01-21 01:29:07 - INFO - 当前时间2026-01-21 01:29:07早于16:00,检查日期调整为前一天:20260120 +2026-01-21 01:29:07 - INFO - 正在加载交易日历缓存... +2026-01-21 01:29:07 - INFO - 成功获取并缓存交易日历: 20240122至20260220 +2026-01-21 01:29:07 - INFO - 交易日历缓存成功,共 761 条记录 +2026-01-21 01:29:07 - INFO - 检查日期 20260120 是交易日 +2026-01-21 01:29:07 - INFO - 开始检查 2592 个数据文件... +2026-01-21 01:29:09 - INFO - 收集到的不完整文件数量: 2592 +2026-01-21 01:29:09 - INFO - 前5个不完整文件示例: ['000002.SZ', '000006.SZ', '000008.SZ', '000010.SZ', '000012.SZ'] +2026-01-21 01:29:09 - INFO - 开始对 2592 个数据不完整的个股进行停牌检查 +2026-01-21 01:29:09 - INFO - 未找到 000002.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:10 - INFO - 未找到 000006.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:10 - INFO - 未找到 000008.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:10 - INFO - 未找到 000010.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:10 - INFO - 未找到 000012.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:11 - INFO - 未找到 000016.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:11 - INFO - 未找到 000019.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:11 - INFO - 未找到 000021.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:11 - INFO - 未找到 000026.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:11 - INFO - 未找到 000028.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:11 - INFO - 未找到 000030.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:12 - INFO - 未找到 000032.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:12 - INFO - 未找到 000035.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:12 - INFO - 未找到 000037.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:13 - INFO - 未找到 000042.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:13 - INFO - 未找到 000048.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:13 - INFO - 未找到 000050.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:13 - INFO - 未找到 000056.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:13 - INFO - 未找到 000059.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:14 - INFO - 未找到 000061.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:14 - INFO - 未找到 000063.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:14 - INFO - 未找到 000066.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:14 - INFO - 未找到 000069.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:15 - INFO - 未找到 000078.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:15 - INFO - 未找到 000089.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:15 - INFO - 未找到 000096.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:15 - INFO - 未找到 000100.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:15 - INFO - 未找到 000153.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:16 - INFO - 未找到 000156.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:16 - INFO - 未找到 000158.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:16 - INFO - 未找到 000166.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:16 - INFO - 未找到 000333.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:16 - INFO - 未找到 000400.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:16 - INFO - 未找到 000402.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:16 - INFO - 未找到 000404.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:17 - INFO - 未找到 000408.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:17 - INFO - 未找到 000410.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:17 - INFO - 未找到 000415.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:17 - INFO - 未找到 000419.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:17 - INFO - 未找到 000421.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:17 - INFO - 未找到 000423.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:17 - INFO - 未找到 000426.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:18 - INFO - 未找到 000429.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:18 - INFO - 未找到 000488.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:18 - INFO - 未找到 000501.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:19 - INFO - 未找到 000504.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:19 - INFO - 未找到 000506.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:19 - INFO - 未找到 000509.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:19 - INFO - 未找到 000513.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:20 - INFO - 未找到 000516.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:20 - INFO - 未找到 000518.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:20 - INFO - 未找到 000520.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:21 - INFO - 未找到 000523.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:21 - INFO - 未找到 000525.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:21 - INFO - 未找到 000528.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:21 - INFO - 未找到 000530.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:22 - INFO - 未找到 000532.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:22 - INFO - 未找到 000534.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:22 - INFO - 未找到 000537.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:22 - INFO - 未找到 000539.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:22 - INFO - 未找到 000543.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:22 - INFO - 未找到 000545.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:22 - INFO - 未找到 000547.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:23 - INFO - 未找到 000550.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:23 - INFO - 未找到 000552.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:23 - INFO - 未找到 000554.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:23 - INFO - 未找到 000557.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:23 - INFO - 未找到 000559.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:23 - INFO - 未找到 000561.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:24 - INFO - 未找到 000564.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:24 - INFO - 未找到 000566.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:24 - INFO - 未找到 000568.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:24 - INFO - 未找到 000571.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:24 - INFO - 未找到 000573.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:25 - INFO - 未找到 000581.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:25 - INFO - 未找到 000586.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:25 - INFO - 未找到 000590.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:25 - INFO - 未找到 000592.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:25 - INFO - 未找到 000595.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:27 - INFO - 未找到 000597.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:27 - INFO - 未找到 000599.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:27 - INFO - 未找到 000601.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:27 - INFO - 未找到 000605.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:27 - INFO - 找到 000608.SZ 在 20251221 至 20260121 期间的停牌数据: 6条 +2026-01-21 01:29:27 - INFO - 股票 000608.SZ 在 20260120 未处于停牌状态 +2026-01-21 01:29:28 - INFO - 未找到 000610.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:28 - INFO - 找到 000615.SZ 在 20251221 至 20260121 期间的停牌数据: 2条 +2026-01-21 01:29:28 - INFO - 股票 000615.SZ 在 20260120 未处于停牌状态 +2026-01-21 01:29:28 - INFO - 未找到 000619.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:28 - INFO - 未找到 000623.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:29 - INFO - 未找到 000626.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:29 - INFO - 未找到 000629.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:29 - INFO - 未找到 000631.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:29 - INFO - 未找到 000633.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:29 - INFO - 未找到 000636.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:30 - INFO - 未找到 000638.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:30 - INFO - 未找到 000650.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:30 - INFO - 未找到 000652.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:30 - INFO - 未找到 000656.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:30 - INFO - 未找到 000659.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:30 - INFO - 未找到 000663.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:31 - INFO - 未找到 000668.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:31 - INFO - 找到 000670.SZ 在 20251221 至 20260121 期间的停牌数据: 11条 +2026-01-21 01:29:31 - INFO - 股票 000670.SZ 在 20260120 未处于停牌状态 +2026-01-21 01:29:31 - INFO - 未找到 000676.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:31 - INFO - 未找到 000678.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:32 - INFO - 未找到 000680.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:32 - INFO - 未找到 000682.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:32 - INFO - 未找到 000685.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:32 - INFO - 未找到 000688.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:33 - INFO - 找到 000691.SZ 在 20251221 至 20260121 期间的停牌数据: 2条 +2026-01-21 01:29:33 - INFO - 股票 000691.SZ 在 20260120 未处于停牌状态 +2026-01-21 01:29:33 - INFO - 未找到 000695.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:33 - INFO - 未找到 000698.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:33 - INFO - 未找到 000701.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:33 - INFO - 未找到 000703.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:33 - INFO - 未找到 000707.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:33 - INFO - 未找到 000709.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:33 - INFO - 未找到 000711.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:34 - INFO - 未找到 000713.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:34 - INFO - 未找到 000716.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:34 - INFO - 未找到 000718.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:34 - INFO - 未找到 000720.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:34 - INFO - 未找到 000722.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:35 - INFO - 未找到 000725.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:35 - INFO - 未找到 000727.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:35 - INFO - 未找到 000729.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:35 - INFO - 未找到 000733.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:35 - INFO - 未找到 000736.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:36 - INFO - 未找到 000738.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:36 - INFO - 未找到 000750.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:36 - INFO - 未找到 000752.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:37 - INFO - 未找到 000755.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:37 - INFO - 未找到 000757.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:37 - INFO - 未找到 000759.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:37 - INFO - 未找到 000762.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:38 - INFO - 未找到 000767.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:38 - INFO - 未找到 000776.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:38 - INFO - 未找到 000778.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:39 - INFO - 未找到 000782.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:39 - INFO - 未找到 000785.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:39 - INFO - 未找到 000788.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:39 - INFO - 未找到 000790.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:40 - INFO - 未找到 000792.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:40 - INFO - 未找到 000795.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:40 - INFO - 未找到 000797.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:40 - INFO - 未找到 000799.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:41 - INFO - 未找到 000801.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:41 - INFO - 未找到 000803.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:41 - INFO - 未找到 000809.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:42 - INFO - 未找到 000811.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:42 - INFO - 未找到 000813.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:42 - INFO - 未找到 000816.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:42 - INFO - 未找到 000819.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:42 - INFO - 找到 000821.SZ 在 20251221 至 20260121 期间的停牌数据: 2条 +2026-01-21 01:29:42 - INFO - 股票 000821.SZ 在 20260120 未处于停牌状态 +2026-01-21 01:29:43 - INFO - 未找到 000823.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:43 - INFO - 未找到 000826.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:43 - INFO - 未找到 000829.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:43 - INFO - 未找到 000831.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:44 - INFO - 未找到 000837.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:44 - INFO - 未找到 000839.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:44 - INFO - 未找到 000850.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:44 - INFO - 未找到 000856.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:44 - INFO - 未找到 000859.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:44 - INFO - 未找到 000862.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:44 - INFO - 未找到 000868.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:45 - INFO - 未找到 000875.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:45 - INFO - 未找到 000877.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:45 - INFO - 未找到 000880.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:45 - INFO - 未找到 000882.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:46 - INFO - 未找到 000885.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:46 - INFO - 未找到 000887.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:46 - INFO - 未找到 000889.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:47 - INFO - 未找到 000892.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:47 - INFO - 未找到 000895.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:47 - INFO - 未找到 000898.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:47 - INFO - 未找到 000900.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:47 - INFO - 未找到 000902.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:47 - INFO - 未找到 000905.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:47 - INFO - 未找到 000908.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:47 - INFO - 未找到 000910.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:48 - INFO - 未找到 000912.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:48 - INFO - 未找到 000915.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:48 - INFO - 未找到 000919.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:48 - INFO - 未找到 000921.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:48 - INFO - 未找到 000923.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:49 - INFO - 未找到 000926.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:49 - INFO - 未找到 000928.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:49 - INFO - 未找到 000930.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:49 - INFO - 未找到 000932.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:50 - INFO - 未找到 000935.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:50 - INFO - 未找到 000937.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:50 - INFO - 未找到 000948.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:50 - INFO - 未找到 000950.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:51 - INFO - 未找到 000952.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:51 - INFO - 未找到 000955.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:51 - INFO - 未找到 000958.SZ 在 20251221 至 20260121 期间的停牌数据 +2026-01-21 01:29:51 - INFO - 未找到 000960.SZ 在 20251221 至 20260121 期间的停牌数据 diff --git a/market_data_check.log.2026-01-17 b/market_data_check.log.2026-01-17 new file mode 100644 index 0000000..5b90f68 --- /dev/null +++ b/market_data_check.log.2026-01-17 @@ -0,0 +1,518 @@ +2026-01-17 22:05:09 - INFO - 日志文件已配置: market_data_check.log +2026-01-17 22:05:09 - INFO - 开始检查行情数据完整性,检查日期:20260117 +2026-01-17 22:05:09 - INFO - 正在加载交易日历缓存... +2026-01-17 22:05:09 - INFO - 成功获取并缓存交易日历: 20240118至20260216 +2026-01-17 22:05:09 - INFO - 交易日历缓存成功,共 761 条记录 +2026-01-17 22:05:09 - WARNING - 检查日期 20260117 不是交易日,可能所有文件都未更新 +2026-01-17 22:05:09 - INFO - 开始检查 2592 个数据文件... +2026-01-17 22:05:11 - INFO - 收集到的不完整文件数量: 2592 +2026-01-17 22:05:11 - INFO - 前5个不完整文件示例: ['000002.SZ', '000006.SZ', '000008.SZ', '000010.SZ', '000012.SZ'] +2026-01-17 22:05:11 - INFO - 开始对 2592 个数据不完整的个股进行停牌检查 +2026-01-17 22:05:11 - INFO - 未找到 000002.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:05:11 - INFO - 未找到 000006.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:05:11 - INFO - 未找到 000008.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:05:11 - INFO - 未找到 000010.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:05:11 - INFO - 未找到 000012.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:05:11 - INFO - 未找到 000016.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:05:11 - INFO - 未找到 000019.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:05:11 - INFO - 未找到 000021.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:05:12 - INFO - 未找到 000026.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:05:12 - INFO - 未找到 000028.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:05:12 - INFO - 未找到 000030.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:05:12 - INFO - 未找到 000032.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:05:12 - INFO - 未找到 000035.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:05:12 - INFO - 未找到 000037.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:05:12 - INFO - 未找到 000042.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:05:12 - INFO - 未找到 000048.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:05:12 - INFO - 未找到 000050.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:05:13 - INFO - 未找到 000056.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:05:13 - INFO - 未找到 000059.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:05:13 - INFO - 未找到 000061.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:05:13 - INFO - 未找到 000063.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:05:13 - INFO - 未找到 000066.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:05:13 - INFO - 未找到 000069.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:05:13 - INFO - 未找到 000078.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:05:13 - INFO - 未找到 000089.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:05:13 - INFO - 未找到 000096.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:05:14 - INFO - 未找到 000100.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:05:14 - INFO - 未找到 000153.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:05:14 - INFO - 未找到 000156.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:05:14 - INFO - 未找到 000158.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:05:14 - INFO - 未找到 000166.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:05:14 - INFO - 未找到 000333.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:05:14 - INFO - 未找到 000400.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:05:14 - INFO - 未找到 000402.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:05:14 - INFO - 未找到 000404.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:05:15 - INFO - 未找到 000408.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:05:15 - INFO - 未找到 000410.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:05:15 - INFO - 未找到 000415.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:05:15 - INFO - 未找到 000419.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:05:15 - INFO - 未找到 000421.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:05:15 - INFO - 未找到 000423.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:05:15 - INFO - 未找到 000426.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:05:15 - INFO - 未找到 000429.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:05:15 - INFO - 未找到 000488.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:05:15 - INFO - 未找到 000501.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:05:16 - INFO - 未找到 000504.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:05:16 - INFO - 未找到 000506.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:05:16 - INFO - 未找到 000509.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:05:16 - INFO - 未找到 000513.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:05:16 - INFO - 未找到 000516.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:05:16 - INFO - 未找到 000518.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:05:16 - INFO - 未找到 000520.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:05:16 - INFO - 未找到 000523.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:05:16 - INFO - 未找到 000525.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:05:17 - INFO - 未找到 000528.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:05:17 - INFO - 未找到 000530.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:05:17 - INFO - 未找到 000532.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:05:17 - INFO - 未找到 000534.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:05:17 - INFO - 未找到 000537.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:05:17 - INFO - 未找到 000539.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:05:17 - INFO - 未找到 000543.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:05:17 - INFO - 未找到 000545.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:05:18 - INFO - 未找到 000547.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:05:18 - INFO - 未找到 000550.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:05:18 - INFO - 未找到 000552.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:05:18 - INFO - 未找到 000554.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:05:18 - INFO - 未找到 000557.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:05:18 - INFO - 未找到 000559.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:05:18 - INFO - 未找到 000561.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:05:18 - INFO - 未找到 000564.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:05:18 - INFO - 未找到 000566.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:05:18 - INFO - 未找到 000568.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:05:19 - INFO - 未找到 000571.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:05:19 - INFO - 未找到 000573.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:05:19 - INFO - 未找到 000581.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:05:19 - INFO - 未找到 000586.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:05:19 - INFO - 未找到 000590.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:05:19 - INFO - 未找到 000592.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:05:19 - INFO - 未找到 000595.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:05:19 - INFO - 未找到 000597.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:05:19 - INFO - 未找到 000599.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:05:20 - INFO - 未找到 000601.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:05:20 - INFO - 未找到 000605.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:05:20 - INFO - 找到 000608.SZ 在 20251218 至 20260216 期间的停牌数据: 6条 +2026-01-17 22:05:20 - INFO - 股票 000608.SZ 在 20260117 未处于停牌状态 +2026-01-17 22:05:20 - INFO - 未找到 000610.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:05:20 - INFO - 找到 000615.SZ 在 20251218 至 20260216 期间的停牌数据: 2条 +2026-01-17 22:05:20 - INFO - 股票 000615.SZ 在 20260117 未处于停牌状态 +2026-01-17 22:05:20 - INFO - 未找到 000619.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:05:20 - INFO - 未找到 000623.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:05:20 - INFO - 未找到 000626.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:05:20 - INFO - 未找到 000629.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:05:21 - INFO - 未找到 000631.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:05:21 - INFO - 未找到 000633.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:05:21 - INFO - 未找到 000636.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:05:21 - INFO - 未找到 000638.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:05:21 - INFO - 未找到 000650.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:05:21 - INFO - 未找到 000652.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:05:21 - INFO - 未找到 000656.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:05:21 - INFO - 未找到 000659.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:05:21 - INFO - 未找到 000663.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:05:22 - INFO - 未找到 000668.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:05:22 - INFO - 找到 000670.SZ 在 20251218 至 20260216 期间的停牌数据: 9条 +2026-01-17 22:05:22 - INFO - 股票 000670.SZ 在 20260117 未处于停牌状态 +2026-01-17 22:05:22 - INFO - 未找到 000676.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:05:22 - INFO - 未找到 000678.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:05:22 - INFO - 未找到 000680.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:05:22 - INFO - 未找到 000682.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:05:22 - INFO - 未找到 000685.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:05:22 - INFO - 未找到 000688.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:05:22 - INFO - 找到 000691.SZ 在 20251218 至 20260216 期间的停牌数据: 2条 +2026-01-17 22:05:22 - INFO - 股票 000691.SZ 在 20260117 未处于停牌状态 +2026-01-17 22:05:22 - INFO - 未找到 000695.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:05:23 - INFO - 未找到 000698.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:05:23 - INFO - 未找到 000701.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:05:23 - INFO - 未找到 000703.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:05:23 - INFO - 未找到 000707.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:05:23 - INFO - 未找到 000709.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:05:23 - INFO - 未找到 000711.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:05:23 - INFO - 未找到 000713.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:05:23 - INFO - 未找到 000716.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:05:23 - INFO - 未找到 000718.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:05:24 - INFO - 未找到 000720.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:05:24 - INFO - 未找到 000722.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:05:24 - INFO - 未找到 000725.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:05:24 - INFO - 未找到 000727.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:05:24 - INFO - 未找到 000729.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:05:24 - INFO - 未找到 000733.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:05:24 - INFO - 未找到 000736.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:05:24 - INFO - 未找到 000738.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:05:24 - INFO - 未找到 000750.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:05:25 - INFO - 未找到 000752.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:05:25 - INFO - 未找到 000755.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:05:25 - INFO - 未找到 000757.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:05:25 - INFO - 未找到 000759.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:05:25 - INFO - 未找到 000762.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:05:25 - INFO - 未找到 000767.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:05:25 - INFO - 未找到 000776.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:05:25 - INFO - 未找到 000778.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:05:25 - INFO - 未找到 000782.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:05:26 - INFO - 未找到 000785.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:05:26 - INFO - 未找到 000788.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:05:26 - INFO - 未找到 000790.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:05:26 - INFO - 未找到 000792.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:05:26 - INFO - 未找到 000795.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:05:26 - INFO - 未找到 000797.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:05:26 - INFO - 未找到 000799.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:05:26 - INFO - 未找到 000801.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:05:26 - INFO - 未找到 000803.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:05:26 - INFO - 未找到 000809.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:05:27 - INFO - 未找到 000811.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:05:27 - INFO - 未找到 000813.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:05:27 - INFO - 未找到 000816.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:05:27 - INFO - 未找到 000819.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:05:27 - INFO - 找到 000821.SZ 在 20251218 至 20260216 期间的停牌数据: 2条 +2026-01-17 22:05:27 - INFO - 股票 000821.SZ 在 20260117 未处于停牌状态 +2026-01-17 22:05:27 - INFO - 未找到 000823.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:05:27 - INFO - 未找到 000826.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:05:27 - INFO - 未找到 000829.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:05:27 - INFO - 未找到 000831.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:05:28 - INFO - 未找到 000837.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:05:28 - INFO - 未找到 000839.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:05:28 - INFO - 未找到 000850.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:05:28 - INFO - 未找到 000856.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:05:28 - INFO - 未找到 000859.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:05:28 - INFO - 未找到 000862.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:05:28 - INFO - 未找到 000868.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:05:28 - INFO - 未找到 000875.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:05:28 - INFO - 未找到 000877.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:05:29 - INFO - 未找到 000880.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:31:40 - INFO - 日志文件已配置: market_data_check.log +2026-01-17 22:31:40 - INFO - 开始检查行情数据完整性,检查日期:20260117 +2026-01-17 22:31:40 - INFO - 正在加载交易日历缓存... +2026-01-17 22:31:40 - INFO - 成功获取并缓存交易日历: 20240118至20260216 +2026-01-17 22:31:40 - INFO - 交易日历缓存成功,共 761 条记录 +2026-01-17 22:31:40 - WARNING - 检查日期 20260117 不是交易日,可能所有文件都未更新 +2026-01-17 22:31:40 - INFO - 开始检查 2592 个数据文件... +2026-01-17 22:31:42 - INFO - 收集到的不完整文件数量: 2592 +2026-01-17 22:31:42 - INFO - 前5个不完整文件示例: ['000002.SZ', '000006.SZ', '000008.SZ', '000010.SZ', '000012.SZ'] +2026-01-17 22:31:42 - INFO - 开始对 2592 个数据不完整的个股进行停牌检查 +2026-01-17 22:31:42 - INFO - 未找到 000002.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:31:42 - INFO - 未找到 000006.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:31:42 - INFO - 未找到 000008.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:31:42 - INFO - 未找到 000010.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:31:42 - INFO - 未找到 000012.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:31:42 - INFO - 未找到 000016.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:31:42 - INFO - 未找到 000019.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:31:42 - INFO - 未找到 000021.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:31:42 - INFO - 未找到 000026.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:31:43 - INFO - 未找到 000028.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:31:43 - INFO - 未找到 000030.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:31:43 - INFO - 未找到 000032.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:31:43 - INFO - 未找到 000035.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:31:43 - INFO - 未找到 000037.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:31:43 - INFO - 未找到 000042.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:31:43 - INFO - 未找到 000048.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:31:43 - INFO - 未找到 000050.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:31:43 - INFO - 未找到 000056.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:31:44 - INFO - 未找到 000059.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:31:44 - INFO - 未找到 000061.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:31:44 - INFO - 未找到 000063.SZ 在 20251218 至 20260216 期间的停牌数据 +2026-01-17 22:34:16 - INFO - 日志文件已配置: market_data_check.log +2026-01-17 22:34:17 - INFO - 未找到 000001.SZ 在 20251216 至 20260117 期间的停牌数据 +2026-01-17 22:48:38 - INFO - 日志文件已配置: market_data_check.log +2026-01-17 22:48:38 - INFO - 开始检查行情数据完整性,检查日期:20260117 +2026-01-17 22:48:38 - INFO - 正在加载交易日历缓存... +2026-01-17 22:48:39 - INFO - 成功获取并缓存交易日历: 20240118至20260216 +2026-01-17 22:48:39 - INFO - 交易日历缓存成功,共 761 条记录 +2026-01-17 22:48:39 - WARNING - 检查日期 20260117 不是交易日,可能所有文件都未更新 +2026-01-17 22:48:39 - INFO - 开始检查 2592 个数据文件... +2026-01-17 22:48:40 - INFO - 收集到的不完整文件数量: 2592 +2026-01-17 22:48:40 - INFO - 前5个不完整文件示例: ['000002.SZ', '000006.SZ', '000008.SZ', '000010.SZ', '000012.SZ'] +2026-01-17 22:48:40 - INFO - 开始对 2592 个数据不完整的个股进行停牌检查 +2026-01-17 22:48:40 - INFO - 未找到 000002.SZ 在 20251218 至 20260117 期间的停牌数据 +2026-01-17 22:48:40 - INFO - 未找到 000006.SZ 在 20251218 至 20260117 期间的停牌数据 +2026-01-17 22:48:40 - INFO - 未找到 000008.SZ 在 20251218 至 20260117 期间的停牌数据 +2026-01-17 22:48:40 - INFO - 未找到 000010.SZ 在 20251218 至 20260117 期间的停牌数据 +2026-01-17 22:48:40 - INFO - 未找到 000012.SZ 在 20251218 至 20260117 期间的停牌数据 +2026-01-17 22:48:41 - INFO - 未找到 000016.SZ 在 20251218 至 20260117 期间的停牌数据 +2026-01-17 22:48:41 - INFO - 未找到 000019.SZ 在 20251218 至 20260117 期间的停牌数据 +2026-01-17 22:48:41 - INFO - 未找到 000021.SZ 在 20251218 至 20260117 期间的停牌数据 +2026-01-17 22:48:41 - INFO - 未找到 000026.SZ 在 20251218 至 20260117 期间的停牌数据 +2026-01-17 22:48:41 - INFO - 未找到 000028.SZ 在 20251218 至 20260117 期间的停牌数据 +2026-01-17 22:48:41 - INFO - 未找到 000030.SZ 在 20251218 至 20260117 期间的停牌数据 +2026-01-17 22:48:41 - INFO - 未找到 000032.SZ 在 20251218 至 20260117 期间的停牌数据 +2026-01-17 22:48:41 - INFO - 未找到 000035.SZ 在 20251218 至 20260117 期间的停牌数据 +2026-01-17 22:48:41 - INFO - 未找到 000037.SZ 在 20251218 至 20260117 期间的停牌数据 +2026-01-17 22:48:41 - INFO - 未找到 000042.SZ 在 20251218 至 20260117 期间的停牌数据 +2026-01-17 22:48:42 - INFO - 未找到 000048.SZ 在 20251218 至 20260117 期间的停牌数据 +2026-01-17 22:48:42 - INFO - 未找到 000050.SZ 在 20251218 至 20260117 期间的停牌数据 +2026-01-17 22:48:42 - INFO - 未找到 000056.SZ 在 20251218 至 20260117 期间的停牌数据 +2026-01-17 22:48:42 - INFO - 未找到 000059.SZ 在 20251218 至 20260117 期间的停牌数据 +2026-01-17 22:48:42 - INFO - 未找到 000061.SZ 在 20251218 至 20260117 期间的停牌数据 +2026-01-17 22:48:42 - INFO - 未找到 000063.SZ 在 20251218 至 20260117 期间的停牌数据 +2026-01-17 22:48:42 - INFO - 未找到 000066.SZ 在 20251218 至 20260117 期间的停牌数据 +2026-01-17 22:48:42 - INFO - 未找到 000069.SZ 在 20251218 至 20260117 期间的停牌数据 +2026-01-17 22:48:42 - INFO - 未找到 000078.SZ 在 20251218 至 20260117 期间的停牌数据 +2026-01-17 22:48:43 - INFO - 未找到 000089.SZ 在 20251218 至 20260117 期间的停牌数据 +2026-01-17 22:48:43 - INFO - 未找到 000096.SZ 在 20251218 至 20260117 期间的停牌数据 +2026-01-17 22:48:43 - INFO - 未找到 000100.SZ 在 20251218 至 20260117 期间的停牌数据 +2026-01-17 22:48:43 - INFO - 未找到 000153.SZ 在 20251218 至 20260117 期间的停牌数据 +2026-01-17 23:07:00 - INFO - 日志文件已配置: market_data_check.log +2026-01-17 23:07:00 - INFO - 开始检查行情数据完整性,检查日期:20260117 +2026-01-17 23:07:00 - INFO - 正在加载交易日历缓存... +2026-01-17 23:07:01 - INFO - 成功获取并缓存交易日历: 20240118至20260216 +2026-01-17 23:07:01 - INFO - 交易日历缓存成功,共 761 条记录 +2026-01-17 23:07:01 - WARNING - 检查日期 20260117 不是交易日,可能所有文件都未更新 +2026-01-17 23:07:01 - INFO - 开始检查 2592 个数据文件... +2026-01-17 23:07:02 - INFO - 收集到的不完整文件数量: 2592 +2026-01-17 23:07:02 - INFO - 前5个不完整文件示例: ['000002.SZ', '000006.SZ', '000008.SZ', '000010.SZ', '000012.SZ'] +2026-01-17 23:07:02 - INFO - 开始对 2592 个数据不完整的个股进行停牌检查 +2026-01-17 23:07:02 - INFO - 未找到 000002.SZ 在 20251218 至 20260117 期间的停牌数据 +2026-01-17 23:07:02 - INFO - 未找到 000006.SZ 在 20251218 至 20260117 期间的停牌数据 +2026-01-17 23:07:02 - INFO - 未找到 000008.SZ 在 20251218 至 20260117 期间的停牌数据 +2026-01-17 23:07:02 - INFO - 未找到 000010.SZ 在 20251218 至 20260117 期间的停牌数据 +2026-01-17 23:07:02 - INFO - 未找到 000012.SZ 在 20251218 至 20260117 期间的停牌数据 +2026-01-17 23:07:02 - INFO - 未找到 000016.SZ 在 20251218 至 20260117 期间的停牌数据 +2026-01-17 23:07:02 - INFO - 未找到 000019.SZ 在 20251218 至 20260117 期间的停牌数据 +2026-01-17 23:07:03 - INFO - 未找到 000021.SZ 在 20251218 至 20260117 期间的停牌数据 +2026-01-17 23:07:03 - INFO - 未找到 000026.SZ 在 20251218 至 20260117 期间的停牌数据 +2026-01-17 23:07:03 - INFO - 未找到 000028.SZ 在 20251218 至 20260117 期间的停牌数据 +2026-01-17 23:07:03 - INFO - 未找到 000030.SZ 在 20251218 至 20260117 期间的停牌数据 +2026-01-17 23:07:03 - INFO - 未找到 000032.SZ 在 20251218 至 20260117 期间的停牌数据 +2026-01-17 23:07:03 - INFO - 未找到 000035.SZ 在 20251218 至 20260117 期间的停牌数据 +2026-01-17 23:07:03 - INFO - 未找到 000037.SZ 在 20251218 至 20260117 期间的停牌数据 +2026-01-17 23:07:03 - INFO - 未找到 000042.SZ 在 20251218 至 20260117 期间的停牌数据 +2026-01-17 23:07:03 - INFO - 未找到 000048.SZ 在 20251218 至 20260117 期间的停牌数据 +2026-01-17 23:07:04 - INFO - 未找到 000050.SZ 在 20251218 至 20260117 期间的停牌数据 +2026-01-17 23:07:04 - INFO - 未找到 000056.SZ 在 20251218 至 20260117 期间的停牌数据 +2026-01-17 23:10:59 - INFO - 日志文件已配置: market_data_check.log +2026-01-17 23:10:59 - INFO - 开始检查行情数据完整性,检查日期:20260117 +2026-01-17 23:10:59 - INFO - 正在加载交易日历缓存... +2026-01-17 23:11:05 - INFO - 成功获取并缓存交易日历: 20240118至20260216 +2026-01-17 23:11:05 - INFO - 交易日历缓存成功,共 761 条记录 +2026-01-17 23:11:05 - WARNING - 检查日期 20260117 不是交易日,正在寻找最近的前一个交易日... +2026-01-17 23:11:05 - INFO - 目标日期 20260117 的前一个交易日是 20260116 +2026-01-17 23:11:05 - INFO - 已将检查日期调整为:20260116 +2026-01-17 23:11:05 - INFO - 开始检查 2592 个数据文件... +2026-01-17 23:11:05 - INFO - 收集到的不完整文件数量: 6 +2026-01-17 23:11:05 - INFO - 前5个不完整文件示例: ['000670.SZ', '002131.SZ', '002155.SZ', '002931.SZ', '300658.SZ'] +2026-01-17 23:11:05 - INFO - 开始对 6 个数据不完整的个股进行停牌检查 +2026-01-17 23:11:10 - INFO - 找到 000670.SZ 在 20251217 至 20260117 期间的停牌数据: 9条 +2026-01-17 23:11:10 - INFO - 股票 000670.SZ 在 20260116 处于停牌状态 +2026-01-17 23:11:10 - INFO - 股票 000670.SZ 当前处于停牌状态 +2026-01-17 23:11:10 - INFO - 股票 000670.SZ 的最新行情日期 20260105 < 停牌开始日期 20260106,开始更新数据 +2026-01-17 23:11:10 - INFO - 开始更新股票 000670.SZ 的行情数据 +2026-01-17 23:11:10 - INFO - 股票 000670.SZ 现有最新日期: 20260105,将获取 20260106 至今的数据 +2026-01-17 23:11:16 - INFO - 未获取到股票 000670.SZ 的新数据 +2026-01-17 23:11:16 - INFO - 股票 000670.SZ 数据更新成功,最新日期: 20260105 +2026-01-17 23:11:21 - INFO - 找到 002131.SZ 在 20251217 至 20260117 期间的停牌数据: 1条 +2026-01-17 23:11:21 - INFO - 股票 002131.SZ 在 20260116 处于停牌状态 +2026-01-17 23:11:21 - INFO - 股票 002131.SZ 当前处于停牌状态 +2026-01-17 23:11:21 - INFO - 股票 002131.SZ 的最新行情日期 20260115 < 停牌开始日期 20260116,开始更新数据 +2026-01-17 23:11:21 - INFO - 开始更新股票 002131.SZ 的行情数据 +2026-01-17 23:11:21 - INFO - 股票 002131.SZ 现有最新日期: 20260115,将获取 20260116 至今的数据 +2026-01-17 23:11:27 - INFO - 未获取到股票 002131.SZ 的新数据 +2026-01-17 23:11:27 - INFO - 股票 002131.SZ 数据更新成功,最新日期: 20260115 +2026-01-17 23:11:32 - INFO - 找到 002155.SZ 在 20251217 至 20260117 期间的停牌数据: 5条 +2026-01-17 23:11:32 - INFO - 股票 002155.SZ 在 20260116 处于停牌状态 +2026-01-17 23:11:32 - INFO - 股票 002155.SZ 当前处于停牌状态 +2026-01-17 23:11:32 - INFO - 股票 002155.SZ 的最新行情日期 20260109 < 停牌开始日期 20260112,开始更新数据 +2026-01-17 23:11:32 - INFO - 开始更新股票 002155.SZ 的行情数据 +2026-01-17 23:11:32 - INFO - 股票 002155.SZ 现有最新日期: 20260109,将获取 20260110 至今的数据 +2026-01-17 23:11:37 - INFO - 未获取到股票 002155.SZ 的新数据 +2026-01-17 23:11:37 - INFO - 股票 002155.SZ 数据更新成功,最新日期: 20260109 +2026-01-17 23:11:43 - INFO - 找到 002931.SZ 在 20251217 至 20260117 期间的停牌数据: 9条 +2026-01-17 23:11:43 - INFO - 股票 002931.SZ 在 20260116 处于停牌状态 +2026-01-17 23:11:43 - INFO - 股票 002931.SZ 当前处于停牌状态 +2026-01-17 23:11:43 - INFO - 股票 002931.SZ 的最新行情日期 20260113 >= 停牌开始日期 20251218,数据完整,不输出报告 +2026-01-17 23:11:48 - INFO - 找到 300658.SZ 在 20251217 至 20260117 期间的停牌数据: 10条 +2026-01-17 23:11:48 - INFO - 股票 300658.SZ 在 20260116 处于停牌状态 +2026-01-17 23:11:48 - INFO - 股票 300658.SZ 当前处于停牌状态 +2026-01-17 23:11:48 - INFO - 股票 300658.SZ 的最新行情日期 20251231 < 停牌开始日期 20260105,开始更新数据 +2026-01-17 23:11:48 - INFO - 开始更新股票 300658.SZ 的行情数据 +2026-01-17 23:11:48 - INFO - 股票 300658.SZ 现有最新日期: 20251231,将获取 20260101 至今的数据 +2026-01-17 23:11:53 - INFO - 未获取到股票 300658.SZ 的新数据 +2026-01-17 23:11:54 - INFO - 股票 300658.SZ 数据更新成功,最新日期: 20251231 +2026-01-17 23:11:59 - INFO - 找到 601615.SH 在 20251217 至 20260117 期间的停牌数据: 4条 +2026-01-17 23:11:59 - INFO - 股票 601615.SH 在 20260116 处于停牌状态 +2026-01-17 23:11:59 - INFO - 股票 601615.SH 当前处于停牌状态 +2026-01-17 23:11:59 - INFO - 股票 601615.SH 的最新行情日期 20260112 < 停牌开始日期 20260113,开始更新数据 +2026-01-17 23:11:59 - INFO - 开始更新股票 601615.SH 的行情数据 +2026-01-17 23:11:59 - INFO - 股票 601615.SH 现有最新日期: 20260112,将获取 20260113 至今的数据 +2026-01-17 23:12:29 - ERROR - 读取文件 D:\gp_data\day\601615.SH_daily_data.txt 失败: HTTPConnectionPool(host='127.0.0.1', port=9674): Read timed out. (read timeout=30) +2026-01-17 23:12:29 - INFO - 获取股票 601615.SH 的全部行情数据 +2026-01-17 23:12:34 - INFO - 股票 601615.SH 的行情数据已成功获取并保存 +2026-01-17 23:12:34 - INFO - 股票 601615.SH 数据更新成功,最新日期: 20260112 +2026-01-17 23:12:34 - INFO - 停牌检查完成,剩余 5 个需要输出报告的不完整个股 +2026-01-17 23:12:34 - INFO - 检查完成,共检查 2592 个文件 +2026-01-17 23:12:34 - INFO - 发现 5 个未更新到最新的数据文件 +2026-01-17 23:12:34 - INFO - 检查结果已输出到:market_data_check_result.csv +2026-01-17 23:23:52 - INFO - 日志文件已配置: market_data_check.log +2026-01-17 23:23:52 - INFO - 开始检查行情数据完整性,检查日期:20260117 +2026-01-17 23:23:52 - INFO - 正在加载交易日历缓存... +2026-01-17 23:23:52 - INFO - 成功获取并缓存交易日历: 20240118至20260216 +2026-01-17 23:23:52 - INFO - 交易日历缓存成功,共 761 条记录 +2026-01-17 23:23:52 - WARNING - 检查日期 20260117 不是交易日,正在寻找最近的前一个交易日... +2026-01-17 23:23:52 - INFO - 目标日期 20260117 的前一个交易日是 20260116 +2026-01-17 23:23:52 - INFO - 已将检查日期调整为:20260116 +2026-01-17 23:23:52 - INFO - 开始检查 2592 个数据文件... +2026-01-17 23:23:52 - INFO - 收集到的不完整文件数量: 6 +2026-01-17 23:23:52 - INFO - 前5个不完整文件示例: ['000670.SZ', '002131.SZ', '002155.SZ', '002931.SZ', '300658.SZ'] +2026-01-17 23:23:52 - INFO - 开始对 6 个数据不完整的个股进行停牌检查 +2026-01-17 23:23:52 - INFO - 找到 000670.SZ 在 20251217 至 20260117 期间的停牌数据: 9条 +2026-01-17 23:23:52 - INFO - 股票 000670.SZ 在 20260116 处于停牌状态 +2026-01-17 23:23:52 - INFO - 股票 000670.SZ 当前处于停牌状态 +2026-01-17 23:23:52 - INFO - 股票 000670.SZ 的最新行情日期 20260105 < 停牌开始日期 20260106,开始更新数据 +2026-01-17 23:23:52 - INFO - 开始更新股票 000670.SZ 的行情数据 +2026-01-17 23:23:52 - INFO - 股票 000670.SZ 现有最新日期: 20260105,将获取 20260106 至今的数据 +2026-01-17 23:23:52 - INFO - 未获取到股票 000670.SZ 的新数据 +2026-01-17 23:23:52 - INFO - 股票 000670.SZ 数据更新成功,最新日期: 20260105 +2026-01-17 23:23:53 - INFO - 找到 002131.SZ 在 20251217 至 20260117 期间的停牌数据: 1条 +2026-01-17 23:23:53 - INFO - 股票 002131.SZ 在 20260116 处于停牌状态 +2026-01-17 23:23:53 - INFO - 股票 002131.SZ 当前处于停牌状态 +2026-01-17 23:23:53 - INFO - 股票 002131.SZ 的最新行情日期 20260115 < 停牌开始日期 20260116,开始更新数据 +2026-01-17 23:23:53 - INFO - 开始更新股票 002131.SZ 的行情数据 +2026-01-17 23:23:53 - INFO - 股票 002131.SZ 现有最新日期: 20260115,将获取 20260116 至今的数据 +2026-01-17 23:23:53 - INFO - 未获取到股票 002131.SZ 的新数据 +2026-01-17 23:23:53 - INFO - 股票 002131.SZ 数据更新成功,最新日期: 20260115 +2026-01-17 23:23:53 - INFO - 找到 002155.SZ 在 20251217 至 20260117 期间的停牌数据: 5条 +2026-01-17 23:23:53 - INFO - 股票 002155.SZ 在 20260116 处于停牌状态 +2026-01-17 23:23:53 - INFO - 股票 002155.SZ 当前处于停牌状态 +2026-01-17 23:23:53 - INFO - 股票 002155.SZ 的最新行情日期 20260109 < 停牌开始日期 20260112,开始更新数据 +2026-01-17 23:23:53 - INFO - 开始更新股票 002155.SZ 的行情数据 +2026-01-17 23:23:53 - INFO - 股票 002155.SZ 现有最新日期: 20260109,将获取 20260110 至今的数据 +2026-01-17 23:23:53 - INFO - 未获取到股票 002155.SZ 的新数据 +2026-01-17 23:23:53 - INFO - 股票 002155.SZ 数据更新成功,最新日期: 20260109 +2026-01-17 23:23:53 - INFO - 找到 002931.SZ 在 20251217 至 20260117 期间的停牌数据: 9条 +2026-01-17 23:23:53 - INFO - 股票 002931.SZ 在 20260116 处于停牌状态 +2026-01-17 23:23:53 - INFO - 股票 002931.SZ 当前处于停牌状态 +2026-01-17 23:23:53 - INFO - 股票 002931.SZ 的最新行情日期 20260113 >= 停牌开始日期 20251218,数据完整,不输出报告 +2026-01-17 23:23:53 - INFO - 找到 300658.SZ 在 20251217 至 20260117 期间的停牌数据: 10条 +2026-01-17 23:23:53 - INFO - 股票 300658.SZ 在 20260116 处于停牌状态 +2026-01-17 23:23:53 - INFO - 股票 300658.SZ 当前处于停牌状态 +2026-01-17 23:23:53 - INFO - 股票 300658.SZ 的最新行情日期 20251231 < 停牌开始日期 20260105,开始更新数据 +2026-01-17 23:23:53 - INFO - 开始更新股票 300658.SZ 的行情数据 +2026-01-17 23:23:53 - INFO - 股票 300658.SZ 现有最新日期: 20251231,将获取 20260101 至今的数据 +2026-01-17 23:23:53 - INFO - 未获取到股票 300658.SZ 的新数据 +2026-01-17 23:23:53 - INFO - 股票 300658.SZ 数据更新成功,最新日期: 20251231 +2026-01-17 23:23:53 - INFO - 找到 601615.SH 在 20251217 至 20260117 期间的停牌数据: 4条 +2026-01-17 23:23:53 - INFO - 股票 601615.SH 在 20260116 处于停牌状态 +2026-01-17 23:23:53 - INFO - 股票 601615.SH 当前处于停牌状态 +2026-01-17 23:23:53 - INFO - 股票 601615.SH 的最新行情日期 20260112 < 停牌开始日期 20260113,开始更新数据 +2026-01-17 23:23:53 - INFO - 开始更新股票 601615.SH 的行情数据 +2026-01-17 23:23:53 - INFO - 股票 601615.SH 现有最新日期: 20260112,将获取 20260113 至今的数据 +2026-01-17 23:23:53 - INFO - 未获取到股票 601615.SH 的新数据 +2026-01-17 23:23:53 - INFO - 股票 601615.SH 数据更新成功,最新日期: 20260112 +2026-01-17 23:23:53 - INFO - 停牌检查完成,剩余 5 个需要输出报告的不完整个股 +2026-01-17 23:23:53 - INFO - 检查完成,共检查 2592 个文件 +2026-01-17 23:23:53 - INFO - 发现 5 个未更新到最新的数据文件 +2026-01-17 23:23:53 - INFO - 检查结果已输出到:market_data_check_result.csv +2026-01-17 23:27:35 - INFO - 日志文件已配置: market_data_check.log +2026-01-17 23:27:35 - INFO - 开始检查行情数据完整性,检查日期:20260117 +2026-01-17 23:27:35 - INFO - 正在加载交易日历缓存... +2026-01-17 23:27:36 - INFO - 成功获取并缓存交易日历: 20240118至20260216 +2026-01-17 23:27:36 - INFO - 交易日历缓存成功,共 761 条记录 +2026-01-17 23:27:36 - WARNING - 检查日期 20260117 不是交易日,正在寻找最近的前一个交易日... +2026-01-17 23:27:36 - INFO - 目标日期 20260117 的前一个交易日是 20260116 +2026-01-17 23:27:36 - INFO - 已将检查日期调整为:20260116 +2026-01-17 23:27:36 - INFO - 开始检查 2592 个数据文件... +2026-01-17 23:27:36 - INFO - 收集到的不完整文件数量: 6 +2026-01-17 23:27:36 - INFO - 前5个不完整文件示例: ['000670.SZ', '002131.SZ', '002155.SZ', '002931.SZ', '300658.SZ'] +2026-01-17 23:27:36 - INFO - 开始对 6 个数据不完整的个股进行停牌检查 +2026-01-17 23:27:36 - INFO - 找到 000670.SZ 在 20251217 至 20260117 期间的停牌数据: 9条 +2026-01-17 23:27:36 - INFO - 股票 000670.SZ 在 20260116 处于停牌状态 +2026-01-17 23:27:36 - INFO - 股票 000670.SZ 当前处于停牌状态 +2026-01-17 23:27:36 - INFO - 股票 000670.SZ 的最新行情日期 20260105 < 停牌开始日期 20260106,开始更新数据 +2026-01-17 23:27:36 - INFO - 开始更新股票 000670.SZ 的行情数据 +2026-01-17 23:27:36 - INFO - 股票 000670.SZ 现有最新日期: 20260105,将获取 20260106 至今的数据 +2026-01-17 23:27:37 - INFO - 未获取到股票 000670.SZ 的新数据 +2026-01-17 23:27:37 - INFO - 股票 000670.SZ 数据更新成功,最新日期: 20260105 +2026-01-17 23:27:37 - INFO - 找到 002131.SZ 在 20251217 至 20260117 期间的停牌数据: 1条 +2026-01-17 23:27:37 - INFO - 股票 002131.SZ 在 20260116 处于停牌状态 +2026-01-17 23:27:37 - INFO - 股票 002131.SZ 当前处于停牌状态 +2026-01-17 23:27:37 - INFO - 股票 002131.SZ 的最新行情日期 20260115 < 停牌开始日期 20260116,开始更新数据 +2026-01-17 23:27:37 - INFO - 开始更新股票 002131.SZ 的行情数据 +2026-01-17 23:27:37 - INFO - 股票 002131.SZ 现有最新日期: 20260115,将获取 20260116 至今的数据 +2026-01-17 23:27:37 - INFO - 未获取到股票 002131.SZ 的新数据 +2026-01-17 23:27:37 - INFO - 股票 002131.SZ 数据更新成功,最新日期: 20260115 +2026-01-17 23:27:37 - INFO - 找到 002155.SZ 在 20251217 至 20260117 期间的停牌数据: 5条 +2026-01-17 23:27:37 - INFO - 股票 002155.SZ 在 20260116 处于停牌状态 +2026-01-17 23:27:37 - INFO - 股票 002155.SZ 当前处于停牌状态 +2026-01-17 23:27:37 - INFO - 股票 002155.SZ 的最新行情日期 20260109 < 停牌开始日期 20260112,开始更新数据 +2026-01-17 23:27:37 - INFO - 开始更新股票 002155.SZ 的行情数据 +2026-01-17 23:27:37 - INFO - 股票 002155.SZ 现有最新日期: 20260109,将获取 20260110 至今的数据 +2026-01-17 23:27:37 - INFO - 未获取到股票 002155.SZ 的新数据 +2026-01-17 23:27:37 - INFO - 股票 002155.SZ 数据更新成功,最新日期: 20260109 +2026-01-17 23:27:37 - INFO - 找到 002931.SZ 在 20251217 至 20260117 期间的停牌数据: 9条 +2026-01-17 23:27:37 - INFO - 股票 002931.SZ 在 20260116 处于停牌状态 +2026-01-17 23:27:37 - INFO - 股票 002931.SZ 当前处于停牌状态 +2026-01-17 23:27:37 - INFO - 股票 002931.SZ 的最新行情日期 20260113 >= 停牌开始日期 20251218,数据完整,不输出报告 +2026-01-17 23:27:37 - INFO - 找到 300658.SZ 在 20251217 至 20260117 期间的停牌数据: 10条 +2026-01-17 23:27:37 - INFO - 股票 300658.SZ 在 20260116 处于停牌状态 +2026-01-17 23:27:37 - INFO - 股票 300658.SZ 当前处于停牌状态 +2026-01-17 23:27:37 - INFO - 股票 300658.SZ 的最新行情日期 20251231 < 停牌开始日期 20260105,开始更新数据 +2026-01-17 23:27:37 - INFO - 开始更新股票 300658.SZ 的行情数据 +2026-01-17 23:27:37 - INFO - 股票 300658.SZ 现有最新日期: 20251231,将获取 20260101 至今的数据 +2026-01-17 23:27:37 - INFO - 未获取到股票 300658.SZ 的新数据 +2026-01-17 23:27:37 - INFO - 股票 300658.SZ 数据更新成功,最新日期: 20251231 +2026-01-17 23:27:37 - INFO - 找到 601615.SH 在 20251217 至 20260117 期间的停牌数据: 4条 +2026-01-17 23:27:37 - INFO - 股票 601615.SH 在 20260116 处于停牌状态 +2026-01-17 23:27:37 - INFO - 股票 601615.SH 当前处于停牌状态 +2026-01-17 23:27:37 - INFO - 股票 601615.SH 的最新行情日期 20260112 < 停牌开始日期 20260113,开始更新数据 +2026-01-17 23:27:37 - INFO - 开始更新股票 601615.SH 的行情数据 +2026-01-17 23:27:37 - INFO - 股票 601615.SH 现有最新日期: 20260112,将获取 20260113 至今的数据 +2026-01-17 23:27:38 - INFO - 未获取到股票 601615.SH 的新数据 +2026-01-17 23:27:38 - INFO - 股票 601615.SH 数据更新成功,最新日期: 20260112 +2026-01-17 23:27:38 - INFO - 停牌检查完成,剩余 5 个需要输出报告的不完整个股 +2026-01-17 23:28:37 - INFO - 日志文件已配置: market_data_check.log +2026-01-17 23:28:37 - INFO - 开始检查行情数据完整性,检查日期:20260117 +2026-01-17 23:28:37 - INFO - 正在加载交易日历缓存... +2026-01-17 23:28:37 - INFO - 成功获取并缓存交易日历: 20240118至20260216 +2026-01-17 23:28:37 - INFO - 交易日历缓存成功,共 761 条记录 +2026-01-17 23:28:37 - WARNING - 检查日期 20260117 不是交易日,正在寻找最近的前一个交易日... +2026-01-17 23:28:37 - INFO - 目标日期 20260117 的前一个交易日是 20260116 +2026-01-17 23:28:37 - INFO - 已将检查日期调整为:20260116 +2026-01-17 23:28:37 - INFO - 开始检查 2592 个数据文件... +2026-01-17 23:28:37 - INFO - 收集到的不完整文件数量: 6 +2026-01-17 23:28:37 - INFO - 前5个不完整文件示例: ['000670.SZ', '002131.SZ', '002155.SZ', '002931.SZ', '300658.SZ'] +2026-01-17 23:28:37 - INFO - 开始对 6 个数据不完整的个股进行停牌检查 +2026-01-17 23:28:37 - INFO - 找到 000670.SZ 在 20251217 至 20260117 期间的停牌数据: 9条 +2026-01-17 23:28:37 - INFO - 股票 000670.SZ 在 20260116 处于停牌状态 +2026-01-17 23:28:37 - INFO - 股票 000670.SZ 当前处于停牌状态 +2026-01-17 23:28:37 - INFO - 股票 000670.SZ 的最新行情日期 20260105 < 停牌开始日期 20260106,开始更新数据 +2026-01-17 23:28:37 - INFO - 开始更新股票 000670.SZ 的行情数据 +2026-01-17 23:28:37 - INFO - 股票 000670.SZ 现有最新日期: 20260105,将获取 20260106 至今的数据 +2026-01-17 23:28:38 - INFO - 未获取到股票 000670.SZ 的新数据 +2026-01-17 23:28:38 - INFO - 股票 000670.SZ 数据更新成功,最新日期: 20260105 +2026-01-17 23:28:38 - INFO - 找到 002131.SZ 在 20251217 至 20260117 期间的停牌数据: 1条 +2026-01-17 23:28:38 - INFO - 股票 002131.SZ 在 20260116 处于停牌状态 +2026-01-17 23:28:38 - INFO - 股票 002131.SZ 当前处于停牌状态 +2026-01-17 23:28:38 - INFO - 股票 002131.SZ 的最新行情日期 20260115 < 停牌开始日期 20260116,开始更新数据 +2026-01-17 23:28:38 - INFO - 开始更新股票 002131.SZ 的行情数据 +2026-01-17 23:28:38 - INFO - 股票 002131.SZ 现有最新日期: 20260115,将获取 20260116 至今的数据 +2026-01-17 23:28:38 - INFO - 未获取到股票 002131.SZ 的新数据 +2026-01-17 23:28:38 - INFO - 股票 002131.SZ 数据更新成功,最新日期: 20260115 +2026-01-17 23:28:38 - INFO - 找到 002155.SZ 在 20251217 至 20260117 期间的停牌数据: 5条 +2026-01-17 23:28:38 - INFO - 股票 002155.SZ 在 20260116 处于停牌状态 +2026-01-17 23:28:38 - INFO - 股票 002155.SZ 当前处于停牌状态 +2026-01-17 23:28:38 - INFO - 股票 002155.SZ 的最新行情日期 20260109 < 停牌开始日期 20260112,开始更新数据 +2026-01-17 23:28:38 - INFO - 开始更新股票 002155.SZ 的行情数据 +2026-01-17 23:28:38 - INFO - 股票 002155.SZ 现有最新日期: 20260109,将获取 20260110 至今的数据 +2026-01-17 23:28:38 - INFO - 未获取到股票 002155.SZ 的新数据 +2026-01-17 23:28:38 - INFO - 股票 002155.SZ 数据更新成功,最新日期: 20260109 +2026-01-17 23:28:38 - INFO - 找到 002931.SZ 在 20251217 至 20260117 期间的停牌数据: 9条 +2026-01-17 23:28:38 - INFO - 股票 002931.SZ 在 20260116 处于停牌状态 +2026-01-17 23:28:38 - INFO - 股票 002931.SZ 当前处于停牌状态 +2026-01-17 23:28:38 - INFO - 股票 002931.SZ 的最新行情日期 20260113 >= 停牌开始日期 20251218,数据完整,不输出报告 +2026-01-17 23:28:38 - INFO - 找到 300658.SZ 在 20251217 至 20260117 期间的停牌数据: 10条 +2026-01-17 23:28:38 - INFO - 股票 300658.SZ 在 20260116 处于停牌状态 +2026-01-17 23:28:38 - INFO - 股票 300658.SZ 当前处于停牌状态 +2026-01-17 23:28:38 - INFO - 股票 300658.SZ 的最新行情日期 20251231 < 停牌开始日期 20260105,开始更新数据 +2026-01-17 23:28:38 - INFO - 开始更新股票 300658.SZ 的行情数据 +2026-01-17 23:28:38 - INFO - 股票 300658.SZ 现有最新日期: 20251231,将获取 20260101 至今的数据 +2026-01-17 23:28:38 - INFO - 未获取到股票 300658.SZ 的新数据 +2026-01-17 23:28:38 - INFO - 股票 300658.SZ 数据更新成功,最新日期: 20251231 +2026-01-17 23:28:38 - INFO - 找到 601615.SH 在 20251217 至 20260117 期间的停牌数据: 4条 +2026-01-17 23:28:38 - INFO - 股票 601615.SH 在 20260116 处于停牌状态 +2026-01-17 23:28:38 - INFO - 股票 601615.SH 当前处于停牌状态 +2026-01-17 23:28:38 - INFO - 股票 601615.SH 的最新行情日期 20260112 < 停牌开始日期 20260113,开始更新数据 +2026-01-17 23:28:38 - INFO - 开始更新股票 601615.SH 的行情数据 +2026-01-17 23:28:38 - INFO - 股票 601615.SH 现有最新日期: 20260112,将获取 20260113 至今的数据 +2026-01-17 23:28:39 - INFO - 未获取到股票 601615.SH 的新数据 +2026-01-17 23:28:39 - INFO - 股票 601615.SH 数据更新成功,最新日期: 20260112 +2026-01-17 23:28:39 - INFO - 停牌检查完成,剩余 5 个需要输出报告的不完整个股 +2026-01-17 23:28:39 - INFO - 检查完成,共检查 2592 个文件 +2026-01-17 23:28:39 - INFO - 发现 5 个未更新到最新的数据文件 +2026-01-17 23:28:39 - INFO - 检查结果已输出到:market_data_check_result.csv diff --git a/update_tushare_totxt.py b/update_tushare_totxt.py index 7aee7b4..8bba13b 100644 --- a/update_tushare_totxt.py +++ b/update_tushare_totxt.py @@ -22,18 +22,38 @@ logger = setup_logger( console=True ) -# 定义日志函数 -def log_info(message): - logger.info(message) -def log_warning(message): - logger.warning(message) -def log_error(message): - logger.error(message) +def log_warning(message, **kwargs): + """警告信息,黄色显示""" + logger.warning(f"\033[33m{message}\033[0m", **kwargs) -def log_trigger(message): - logger.info(f"TRIGGER: {message}") +def log_failure(message, **kwargs): + """失败信息,红色显示""" + logger.error(f"\033[31m{message}\033[0m", **kwargs) + + + +# 定义带颜色的日志函数 +def log_success(message, **kwargs): + """成功信息,绿色显示""" + logger.info(f"\033[32m{message}\033[0m", **kwargs) + +def log_failure(message, **kwargs): + """失败信息,红色显示""" + logger.error(f"\033[31m{message}\033[0m", **kwargs) + +def log_process(message, **kwargs): + """处理中信息,黄色显示""" + logger.info(f"\033[33m{message}\033[0m", **kwargs) + +def log_result(message, **kwargs): + """结果信息,蓝色显示""" + logger.info(f"\033[34m{message}\033[0m", **kwargs) + +def log_message(message, **kwargs): + """普通信息,白色显示""" + logger.info(f"\033[37m{message}\033[0m", **kwargs) # 数据库相关导入 import pymysql from sqlalchemy import create_engine, text @@ -120,10 +140,10 @@ class AccountManager: return account except (ConnectionError, TimeoutError) as e: # 网络连接相关异常 - log_error(f"账户网络连接异常: {str(e)}") + log_failure(f"账户网络连接异常: {str(e)}") except Exception as e: # 其他异常 - log_error(f"获取账户异常: {str(e)}") + log_failure(f"获取账户异常: {str(e)}") # 无论什么异常,都尝试下一个账户 self.current_index = (self.current_index + 1) % len(self.accounts) @@ -132,7 +152,7 @@ class AccountManager: retry_count = getattr(self, '_retry_count', 0) if retry_count >= len(self.accounts) * 2: # 尝试每个账户2次 setattr(self, '_retry_count', 0) - log_error("所有账户都尝试失败,返回最后一个账户作为尝试") + log_failure("所有账户都尝试失败,返回最后一个账户作为尝试") return self.accounts[0] # 返回第一个账户作为最后的尝试 setattr(self, '_retry_count', retry_count + 1) @@ -165,9 +185,9 @@ class DataDownloader: } progress = current / total * 100 elapsed = time.time() - start_time - print(f"\r处理中: {progress:.1f}% ({current}/{total}) | 耗时: {elapsed:.1f}s", end='', flush=True) + log_process(f"\r处理中: {progress:.1f}% ({current}/{total}) | 耗时: {elapsed:.1f}s", end='', flush=True) if current == total: - print("\n数据处理完成!") # 添加换行符和完成信息 + log_success(f"\n数据处理完成!") # 添加换行符和完成信息 # def show_progress(self, current, total, start_time): # """更频繁的进度显示""" @@ -201,7 +221,7 @@ class DataDownloader: cursor.close() del self.conn_pool[conn_id] self.active_connections.add(conn_id) - log_info(f"复用数据库连接 {conn_id}") + log_message(f"复用数据库连接 {conn_id}") self.db_conn = conn return True except Exception: @@ -231,7 +251,7 @@ class DataDownloader: self.active_connections.remove(active_conn_id) # 添加到连接池 self.conn_pool[conn_id] = conn - log_info(f"连接已返回连接池: {conn_id}") + log_message(f"连接已返回连接池: {conn_id}") return True except Exception: # 连接已无效,关闭它 @@ -239,7 +259,7 @@ class DataDownloader: conn.close() if hasattr(self, 'conn_count'): self.conn_count = max(0, self.conn_count - 1) - log_info(f"无效连接已关闭,当前连接数: {self.conn_count}") + log_message(f"无效连接已关闭,当前连接数: {self.conn_count}") except: pass return False @@ -258,7 +278,7 @@ class DataDownloader: # 添加到连接池 self.conn_pool[conn_id] = self.db_conn self.db_conn = None # 清除对象属性 - log_info(f"默认连接已返回连接池: {conn_id}") + log_message(f"默认连接已返回连接池: {conn_id}") return True except Exception: # 连接已无效,关闭它 @@ -266,7 +286,7 @@ class DataDownloader: self.db_conn.close() self.db_conn = None self.conn_count = max(0, self.conn_count - 1) - log_info(f"默认无效连接已关闭,当前连接数: {self.conn_count}") + log_message(f"默认无效连接已关闭,当前连接数: {self.conn_count}") except: pass return False @@ -284,7 +304,7 @@ class DataDownloader: conn_id = f"conn_{int(time.time() * 1000)}" self.conn_count += 1 self.active_connections.add(conn_id) - log_info(f"创建数据库连接 {conn_id},当前连接数: {self.conn_count}") + log_message(f"创建数据库连接 {conn_id},当前连接数: {self.conn_count}") self.db_conn = conn return True # 静默返回,不记录成功日志 except pymysql.err.OperationalError as e: @@ -301,24 +321,24 @@ class DataDownloader: temp_conn.commit() temp_conn.close() - log_info(f"数据库 {Config.DB_CONFIG['database']} 创建成功") + log_message(f"数据库 {Config.DB_CONFIG['database']} 创建成功") # 重新尝试连接 continue except Exception as create_e: - log_error(f"创建数据库失败: {create_e}") + log_failure(f"创建数据库失败: {create_e}") return False elif attempt < Config.DB_MAX_RETRIES - 1: # 不是最后一次尝试 log_warning(f"数据库连接失败(尝试 {attempt + 1}/{Config.DB_MAX_RETRIES}): {e}") time.sleep(Config.DB_RETRY_INTERVAL) else: - log_error(f"数据库连接失败,已达到最大重试次数 {Config.DB_MAX_RETRIES}") + log_failure(f"数据库连接失败,已达到最大重试次数 {Config.DB_MAX_RETRIES}") return False except Exception as e: if attempt < Config.DB_MAX_RETRIES - 1: # 不是最后一次尝试 log_warning(f"数据库连接失败(尝试 {attempt + 1}/{Config.DB_MAX_RETRIES}): {e}") time.sleep(Config.DB_RETRY_INTERVAL) else: - log_error(f"数据库连接失败,已达到最大重试次数 {Config.DB_MAX_RETRIES}") + log_failure(f"数据库连接失败,已达到最大重试次数 {Config.DB_MAX_RETRIES}") return False def update_to_db(self, data: pd.DataFrame, table_name: str): @@ -350,7 +370,7 @@ class DataDownloader: # 添加表结构检查 if table_name.startswith('stock_'): if 'trade_date' not in data.columns: - log_error(f"数据缺少必要列 trade_date") + log_failure(f"数据缺少必要列 trade_date") return False if not pd.api.types.is_datetime64_any_dtype(data['trade_date']): data['trade_date'] = pd.to_datetime(data['trade_date'], format='%Y%m%d') @@ -359,30 +379,30 @@ class DataDownloader: data.to_sql(table_name, connection, if_exists='append', index=False, chunksize=1000) return True except Exception as e: - log_error(f"数据库更新失败: {e}") + log_failure(f"数据库更新失败: {e}") return False finally: # 确保资源释放 if engine: try: engine.dispose() - log_info(f"SQLAlchemy引擎已释放") + log_message(f"SQLAlchemy引擎已释放") except Exception as e: - log_error(f"释放SQLAlchemy引擎失败: {e}") + log_failure(f"释放SQLAlchemy引擎失败: {e}") def update_database(self, progress_queue=None, completion_label=None): try: - print("开始更新数据库...") + log_process("开始更新数据库...") start_time = time.time() # 1. 更新股票代码表(使用缓存机制) - print("正在更新股票代码表...") + log_process("正在更新股票代码表...") df_all = self.account_manager.get_stock_basic(force_primary=True) self.update_to_db(df_all, 'stock_basic') # 2. 从本地文件更新日线数据 - print("正在更新个股日线数据...") + log_process("正在更新个股日线数据...") files = [f for f in os.listdir(Config.OUTPUT_DIR) if f.endswith('_daily_data.txt')] self.total_files = len(files) self.processed_files = 0 @@ -391,7 +411,7 @@ class DataDownloader: # 使用批量插入优化数据库写入 self.batch_update_stock_data(files, start_time) else: - print("没有找到需要处理的个股数据文件") + log_message("没有找到需要处理的个股数据文件") # 初始显示进度0% # self.show_progress(0, self.total_files, start_time) @@ -410,7 +430,7 @@ class DataDownloader: # self.show_progress(i, self.total_files, start_time) # 3. 更新指数数据(从本地文件) - print("正在更新指数数据...") + log_process("正在更新指数数据...") index_file = os.path.join(Config.INDEX_DIR, '000001.SH.txt') if os.path.exists(index_file): df_index = self.read_from_txt(index_file) @@ -418,7 +438,7 @@ class DataDownloader: self.update_to_db(df_index, 'index_daily') # 4. 更新个股数据(分批处理) - print("正在更新实时个股数据...") + log_process("正在更新实时个股数据...") stock_codes = df_all['ts_code'].tolist() batch_size = 400 for i in range(0, len(stock_codes), batch_size): @@ -426,14 +446,14 @@ class DataDownloader: df = self.fetch_data_with_retry(pro.daily, ts_code=','.join(batch)) if df is not None: self.update_to_db(df, 'stock_daily') - print(f"数据库更新完成! 总耗时: {time.time() - start_time:.2f}秒") + log_success(f"数据库更新完成! 总耗时: {time.time() - start_time:.2f}秒") if completion_label: completion_label.config(text="数据库更新完成!", foreground="green") if progress_queue: progress_queue.put(1) return True except Exception as e: - log_error(f"数据库更新失败: {e}") + log_failure(f"数据库更新失败: {e}") if completion_label: completion_label.config(text="数据库更新失败!", foreground="red") return False @@ -489,15 +509,15 @@ class DataDownloader: self.show_progress(total_files, total_files, start_time) except Exception as e: - log_error(f"批量更新股票数据失败: {e}") + log_failure(f"批量更新股票数据失败: {e}") finally: # 确保资源释放 if engine: try: engine.dispose() - log_info(f"批量更新的SQLAlchemy引擎已释放") + log_message(f"批量更新的SQLAlchemy引擎已释放") except Exception as e: - log_error(f"释放批量更新的SQLAlchemy引擎失败: {e}") + log_failure(f"释放批量更新的SQLAlchemy引擎失败: {e}") def create_dirs(self): # 创建基础目录 @@ -543,7 +563,7 @@ class DataDownloader: # logging.info(f"数据已保存到 {filename}") return True except Exception as e: - log_error(f"保存文件时出错: {e}") + log_failure(f"保存文件时出错: {e}") return False def process_stock_code(self, code, progress_queue=None): # 修改参数默认值为None @@ -614,13 +634,13 @@ class DataDownloader: if progress_queue is not None: # 添加判断 progress_queue.put(1) except (ConnectionError, TimeoutError) as e: - log_error(f"股票 {code} 网络连接异常: {str(e)}") + log_failure(f"股票 {code} 网络连接异常: {str(e)}") except pd.errors.EmptyDataError: log_warning(f"股票 {code} 返回空数据") except (pymysql.err.OperationalError, pymysql.err.InterfaceError) as e: - log_error(f"股票 {code} 数据库操作异常: {str(e)}") + log_failure(f"股票 {code} 数据库操作异常: {str(e)}") except Exception as e: - log_error(f"处理股票代码 {code} 时出错: {str(e)}") + log_failure(f"处理股票代码 {code} 时出错: {str(e)}") finally: if progress_queue is not None: # 添加判断 progress_queue.put(1) @@ -642,7 +662,7 @@ class DataDownloader: progress_queue.put(1) return True except Exception as e: - log_error(f"Error fetching index data for {ts_code}: {e}") + log_failure(f"Error fetching index data for {ts_code}: {e}") if completion_label: completion_label.config(text="获取指数数据失败!", foreground="red") return False @@ -653,7 +673,7 @@ class DataDownloader: df_all = self.account_manager.get_stock_basic(force_primary=True) df_all[['ts_code', 'name']].to_csv(Config.INPUT_FILE, index=False, header=False, sep='\t') - log_info(f'所有资料已保存到 {Config.INPUT_FILE}') + log_success(f'所有资料已保存到 {Config.INPUT_FILE}') if completion_label: completion_label.config(text="代码表更新完成!", foreground="green") if progress_queue: @@ -662,6 +682,41 @@ class DataDownloader: logging.error(f'发生错误: {e}') if completion_label: completion_label.config(text="更新代码表失败!", foreground="red") + + def fetch_and_save_stock_basic_info(self): + """获取个股基础信息并保存到baseinfo目录""" + try: + log_process("开始获取个股基础信息...") + + # 获取Tushare API实例 + pro = self.account_manager.get_next_account(force_primary=True) # 强制使用主账户 + + # 获取股票基础信息 + df = pro.stock_basic( + exchange='', # 交易所代码,不指定则查询所有 + list_status='L', # 上市状态:L上市,D退市,P暂停上市 + fields='ts_code,symbol,name,area,industry,fullname,enname,market,exchange,curr_type,list_status,list_date,delist_date,is_hs' + ) + + if df is None or df.empty: + log_failure("未获取到个股基础信息") + return False + + # 创建baseinfo目录 + baseinfo_dir = os.path.join(Config.BASE_DIR, 'baseinfo') + os.makedirs(baseinfo_dir, exist_ok=True) + + # 保存数据到文件,使用TXT格式而不是CSV + output_file = os.path.join(baseinfo_dir, 'stock_basic_info.txt') + self.save_to_txt(df, output_file) + + log_success(f"个股基础信息已成功保存到: {output_file}") + log_result(f"共获取到 {len(df)} 条个股基础信息") + return True + except Exception as e: + log_failure(f"获取个股基础信息失败: {str(e)}") + log_failure(f"获取个股基础信息失败: {str(e)}") + return False def process_stock_codes_batch(self, codes: list): """批量处理股票代码(每次最多4000个)""" @@ -700,35 +755,35 @@ class DataDownloader: log_warning(f"数据库更新失败,但文件已保存: {code}") else: failed_count += 1 - log_error(f"文件保存失败: {code}") + log_failure(f"文件保存失败: {code}") else: log_warning(f"未获取到股票 {code} 的数据") failed_count += 1 except Exception as code_e: failed_count += 1 - log_error(f"处理股票 {code} 时出错: {str(code_e)}") + log_failure(f"处理股票 {code} 时出错: {str(code_e)}") else: failed_count += len(batch) log_warning(f"批次 {batch_idx//batch_size + 1}/{total_batches} 返回空数据") # 显示批次进度 - log_info(f"批次 {batch_idx//batch_size + 1}/{total_batches} 处理完成 | 成功: {processed_count} | 失败: {failed_count}") + log_result(f"批次 {batch_idx//batch_size + 1}/{total_batches} 处理完成 | 成功: {processed_count} | 失败: {failed_count}") except (ConnectionError, TimeoutError) as e: failed_count += len(batch) - log_error(f"批次 {batch_idx//batch_size + 1} 网络异常: {str(e)}") + log_failure(f"批次 {batch_idx//batch_size + 1} 网络异常: {str(e)}") # 更换账户后重试 pro = self.account_manager.get_next_account() except Exception as batch_e: failed_count += len(batch) - log_error(f"批次 {batch_idx//batch_size + 1} 处理异常: {str(batch_e)}") + log_failure(f"批次 {batch_idx//batch_size + 1} 处理异常: {str(batch_e)}") # 记录总体处理结果 - log_info(f"批量处理完成 | 总成功: {processed_count} | 总失败: {failed_count}") + log_result(f"批量处理完成 | 总成功: {processed_count} | 总失败: {failed_count}") return {'success': processed_count, 'failed': failed_count} except Exception as e: - log_error(f"批量处理主流程失败: {str(e)}") + log_failure(f"批量处理主流程失败: {str(e)}") return {'success': processed_count, 'failed': failed_count + (len(codes) - processed_count - failed_count)} finally: # 确保所有连接正确管理 @@ -737,9 +792,9 @@ class DataDownloader: if hasattr(self, 'db_conn') and self.db_conn: self.db_conn.close() self.db_conn = None - log_info("数据库连接已关闭") + log_message("数据库连接已关闭") except Exception as e: - log_error(f"关闭数据库连接时出错: {e}") + log_failure(f"关闭数据库连接时出错: {e}") def read_from_txt(self, file_path): """从TXT文件读取行情数据 - 内存优化版本""" @@ -759,7 +814,7 @@ class DataDownloader: else: return pd.DataFrame() except Exception as e: - log_error(f"读取文件 {file_path} 失败: {e}") + log_failure(f"读取文件 {file_path} 失败: {e}") return None # 添加新的方法用于优化数据库存储 @@ -784,18 +839,18 @@ class DataDownloader: WHERE s1.id > s2.id AND s1.trade_date = s2.trade_date AND s1.stock_code = s2.stock_code """)) - log_info("数据库存储优化完成") + log_message("数据库存储优化完成") return True except Exception as e: - log_error(f"数据库存储优化失败: {e}") + log_failure(f"数据库存储优化失败: {e}") return False finally: if engine: try: engine.dispose() - log_info(f"SQLAlchemy引擎已释放") + log_message(f"SQLAlchemy引擎已释放") except Exception as e: - log_error(f"释放SQLAlchemy引擎失败: {e}") + log_failure(f"释放SQLAlchemy引擎失败: {e}") class ConsoleDataDownloader: """控制台模式数据下载器""" @@ -807,10 +862,10 @@ class ConsoleDataDownloader: """使用指定的选项运行""" try: if choice == '0': - print("程序正在退出...") + log_message("程序正在退出...") sys.exit(0) if choice == '6': # 新增全部工作逻辑 - print("开始执行全部工作...") + log_process("开始执行全部工作...") start_time = time.time() # 1. 更新股票代码 @@ -824,15 +879,15 @@ class ConsoleDataDownloader: # 4. 同步数据库 if not self.downloader.connect_db(): - print("\033[31m数据库连接失败,跳过数据库同步\033[0m") + log_failure("数据库连接失败,跳过数据库同步") else: self.downloader.update_database() - print(f"全部工作完成! 总耗时: {time.time() - start_time:.2f}秒") + log_success(f"全部工作完成! 总耗时: {time.time() - start_time:.2f}秒") return # 检查数据库连接是否正常(仅当选择数据库相关操作时) if choice == '5' and not self.downloader.connect_db(): - print("\033[31m数据库连接失败,请检查配置后重试\033[0m") + log_failure("数据库连接失败,请检查配置后重试") return # 处理选项7:拷贝数据 @@ -844,6 +899,11 @@ class ConsoleDataDownloader: if choice == '8': self.check_data_integrity() return + + # 处理选项9:获取个股基础信息 + if choice == '9': + self.downloader.fetch_and_save_stock_basic_info() + return tasks = [] if choice in ('1', '4'): @@ -856,17 +916,17 @@ class ConsoleDataDownloader: tasks.append(self.downloader.update_database) if not tasks: - print("无效选项") + log_warning("无效选项") return - print("开始执行任务...") + log_process("开始执行任务...") start_time = time.time() for task in tasks: task() - print(f"任务完成! 总耗时: {time.time() - start_time:.2f}秒") + log_success(f"任务完成! 总耗时: {time.time() - start_time:.2f}秒") except Exception as e: - log_error(f"执行任务时发生异常: {e}") - print(f"\033[31m执行任务时发生异常: {e}\033[0m") + log_failure(f"执行任务时发生异常: {e}") + log_failure(f"执行任务时发生异常: {e}") def run(self): try: @@ -879,6 +939,7 @@ class ConsoleDataDownloader: print("6. 全部工作(下载+同步数据库)") # 新增选项 print("7. 拷贝更新后的数据到目标目录") # 新增选项 print("8. 检查数据完整性") # 新增选项 + print("9. 获取个股基础信息") # 新增选项 print("0. 退出") while True: @@ -889,10 +950,10 @@ class ConsoleDataDownloader: print("\n程序已中断") return except Exception as e: - log_error(f"用户交互过程中发生异常: {e}") - print(f"\033[31m操作异常: {e}\033[0m") + log_failure(f"用户交互过程中发生异常: {e}") + log_failure(f"操作异常: {e}") if choice == '6': # 新增全部工作逻辑 - print("开始执行全部工作...") + log_process("开始执行全部工作...") start_time = time.time() # 1. 更新股票代码 @@ -906,16 +967,16 @@ class ConsoleDataDownloader: # 4. 同步数据库 if not self.downloader.connect_db(): - print("\033[31m数据库连接失败,跳过数据库同步\033[0m") + log_failure("数据库连接失败,跳过数据库同步") else: self.downloader.update_database() - print(f"全部工作完成! 总耗时: {time.time() - start_time:.2f}秒") + log_success(f"全部工作完成! 总耗时: {time.time() - start_time:.2f}秒") continue # 检查数据库连接是否正常(仅当选择数据库相关操作时) # 检查数据库连接是否正常(仅当选择数据库相关操作时) if choice == '5' and not self.downloader.connect_db(): - print("\033[31m数据库连接失败,请检查配置后重试\033[0m") + log_failure("数据库连接失败,请检查配置后重试") continue # 处理选项7:拷贝数据 @@ -934,10 +995,10 @@ class ConsoleDataDownloader: tasks.append(self.downloader.update_database) if not tasks: - print("无效选项,请重新输入") + log_warning("无效选项,请重新输入") continue - print("开始执行任务...") + log_process("开始执行任务...") start_time = time.time() completed = 0 @@ -948,24 +1009,23 @@ class ConsoleDataDownloader: completed += 1 except (ConnectionError, TimeoutError) as e: failed += 1 - log_error(f"任务执行网络异常: {str(e)}") + log_failure(f"任务执行网络异常: {str(e)}") except Exception as e: failed += 1 - log_error(f"任务执行异常: {str(e)}") + log_failure(f"任务执行异常: {str(e)}") - print(f"任务完成! 成功: {completed}, 失败: {failed}, 总耗时: {time.time()-start_time:.2f}秒") + log_success(f"任务完成! 成功: {completed}, 失败: {failed}, 总耗时: {time.time()-start_time:.2f}秒") except (ConnectionError, TimeoutError) as e: - log_error(f"用户交互过程中发生网络异常: {str(e)}") - print(f"网络异常: {str(e)}") + log_failure(f"用户交互过程中发生网络异常: {str(e)}") + log_failure(f"网络异常: {str(e)}") except Exception as e: - log_error(f"用户交互过程中发生异常: {str(e)}") - print(f"操作异常: {str(e)}") + log_failure(f"用户交互过程中发生异常: {str(e)}") + log_failure(f"操作异常: {str(e)}") except KeyboardInterrupt: log_warning("用户中断程序") print("程序已中断") except Exception as e: - log_error(f"程序运行异常: {str(e)}") - print(f"程序运行异常: {str(e)}") + log_failure(f"程序运行异常: {str(e)}") def copy_data_to_target_directory(self): """拷贝D:\gp_data\day目录下的数据到D:\gp_data\floor_cl\data目录""" @@ -977,17 +1037,17 @@ class ConsoleDataDownloader: source_dir = os.path.join(Config.BASE_DIR, 'day') target_dir = 'D:\\data\\jq_hc\\data' - print(f"准备从 {source_dir} 拷贝数据到 {target_dir}") + log_process(f"准备从 {source_dir} 拷贝数据到 {target_dir}") try: # 确保目标目录存在 if not os.path.exists(target_dir): os.makedirs(target_dir, exist_ok=True) - print(f"已创建目标目录: {target_dir}") + log_message(f"已创建目标目录: {target_dir}") # 检查源目录是否存在 if not os.path.exists(source_dir): - print(f"\033[31m源目录 {source_dir} 不存在,请检查路径\033[0m") + log_failure(f"源目录 {source_dir} 不存在,请检查路径") return # 获取源目录中的txt文件列表 @@ -995,10 +1055,10 @@ class ConsoleDataDownloader: total_files = len(files) if total_files == 0: - print("\033[33m源目录中没有找到文件\033[0m") + log_warning("源目录中没有找到文件") return - print(f"开始拷贝 {total_files} 个文件...") + log_process(f"开始拷贝 {total_files} 个文件...") start_time = time.time() copied_count = 0 failed_count = 0 @@ -1015,21 +1075,21 @@ class ConsoleDataDownloader: # 显示进度 progress = (i / total_files) * 100 elapsed = time.time() - start_time - print(f"\r进度: [{('#' * int(progress / 2)):50}] {progress:.1f}% | {file_name}", end='', flush=True) + log_process(f"\r进度: [{('#' * int(progress / 2)):50}] {progress:.1f}% | {file_name}", end='', flush=True) except Exception as e: failed_count += 1 - print(f"\n\033[31m拷贝文件 {file_name} 失败: {str(e)}\033[0m") + log_failure(f"\n拷贝文件 {file_name} 失败: {str(e)}") # 打印完成信息 - print(f"\n拷贝完成!") - print(f"成功: {copied_count}, 失败: {failed_count}") - print(f"总耗时: {time.time() - start_time:.2f}秒") + log_success(f"\n拷贝完成!") + log_result(f"成功: {copied_count}, 失败: {failed_count}") + log_result(f"总耗时: {time.time() - start_time:.2f}秒") except KeyboardInterrupt: - print("\n\033[33m拷贝操作已被用户中断\033[0m") + log_warning("\n拷贝操作已被用户中断") except Exception as e: - print(f"\n\033[31m拷贝过程中发生异常: {str(e)}\033[0m") + log_failure(f"\n拷贝过程中发生异常: {str(e)}") def check_data_integrity(self): """检查数据完整性,运行check_market_data.py程序""" @@ -1037,7 +1097,7 @@ class ConsoleDataDownloader: import os try: - print("开始检查数据完整性...") + log_process("开始检查数据完整性...") # 构建check_market_data.py的完整路径 script_path = os.path.join(os.path.dirname(__file__), 'check_market_data.py') @@ -1051,14 +1111,14 @@ class ConsoleDataDownloader: ) if result.returncode == 0: - print(f"\n\033[32m数据完整性检查完成!\033[0m") + log_success(f"\n数据完整性检查完成!") else: - print(f"\n\033[31m数据完整性检查失败,返回码: {result.returncode}\033[0m") + log_failure(f"\n数据完整性检查失败,返回码: {result.returncode}") except FileNotFoundError: - print(f"\n\033[31m未找到check_market_data.py文件,请检查路径:\033[0m {script_path}") + log_failure(f"\n未找到check_market_data.py文件,请检查路径: {script_path}") except Exception as e: - print(f"\n\033[31m执行数据完整性检查时发生异常: {e}\033[0m") + log_failure(f"\n执行数据完整性检查时发生异常: {e}") def process_stock_codes(self): """处理所有股票代码 - 优化版本""" @@ -1066,7 +1126,7 @@ class ConsoleDataDownloader: with open(Config.INPUT_FILE, 'r', encoding='utf-8') as f: stock_codes = [line.strip().split('\t')[0] for line in f if line.strip()] except Exception as e: - log_error(f"读取股票代码文件失败: {e}") + log_failure(f"读取股票代码文件失败: {e}") return total = len(stock_codes) @@ -1077,7 +1137,7 @@ class ConsoleDataDownloader: progress = (completed / total) * 100 elapsed = time.time() - start_time # 单行进度显示 - print( + log_process( f"\r进度: [{'#' * int(progress / 2)}{' ' * (50 - int(progress / 2))}] {progress:.1f}% | 已完成: {completed}/{total} | 耗时: {elapsed:.1f}s", end='', flush=True) @@ -1098,8 +1158,8 @@ class ConsoleDataDownloader: print_progress() future.result() - print(f"\r进度: [{'#' * 50}] 100.0% | 已完成: {total}/{total} | 总耗时: {time.time() - start_time:.1f}s") - print(f"\n个股数据下载完成!") + log_success(f"\r进度: [{('#' * 50)}] 100.0% | 已完成: {total}/{total} | 总耗时: {time.time() - start_time:.1f}s") + log_success(f"\n个股数据下载完成!") # 创建全局AccountManager实例 _global_account_manager = AccountManager() @@ -1113,8 +1173,8 @@ def get_cached_data(code): def parse_args(): """解析命令行参数""" parser = argparse.ArgumentParser(description='Tushare数据更新工具') - parser.add_argument('-c', '--choice', type=str, choices=['0', '1', '2', '3', '4', '5', '6', '7', '8'], - help='要执行的操作: 0=退出, 1=更新股票代码表, 2=更新指数数据, 3=更新个股数据, 4=全部更新, 5=同步数据库, 6=全部工作, 7=拷贝数据到目标目录, 8=检查数据完整性') + parser.add_argument('-c', '--choice', type=str, choices=['0', '1', '2', '3', '4', '5', '6', '7', '8', '9'], + help='要执行的操作: 0=退出, 1=更新股票代码表, 2=更新指数数据, 3=更新个股数据, 4=全部更新, 5=同步数据库, 6=全部工作, 7=拷贝数据到目标目录, 8=检查数据完整性, 9=获取个股基础信息') return parser.parse_args() if __name__ == "__main__":