diff --git a/main/data/index_and_industry.ipynb b/main/data/index_and_industry.ipynb index 67c490b..b084070 100644 --- a/main/data/index_and_industry.ipynb +++ b/main/data/index_and_industry.ipynb @@ -83,32 +83,32 @@ "output_type": "stream", "text": [ " ts_code trade_date close open high low \\\n", - "0 000905.SH 20260123 8590.1659 8422.3561 8590.1659 8417.7520 \n", - "1 000905.SH 20260122 8387.5950 8355.6781 8396.1328 8337.1950 \n", - "2 000905.SH 20260121 8340.1133 8196.5565 8351.4545 8196.5565 \n", - "3 000905.SH 20260120 8247.8049 8307.6416 8342.8738 8142.1424 \n", - "4 000905.SH 20260119 8287.9470 8199.4986 8318.3703 8195.0890 \n", + "0 000905.SH 20260206 8146.4128 8054.2180 8247.2968 8014.6599 \n", + "1 000905.SH 20260205 8146.1073 8203.0627 8224.7847 8081.4283 \n", + "2 000905.SH 20260204 8299.0574 8270.8420 8309.8579 8179.3522 \n", + "3 000905.SH 20260203 8286.7005 8135.8699 8286.7005 8075.3738 \n", + "4 000905.SH 20260202 8037.0456 8279.7152 8324.4341 8032.3500 \n", "... ... ... ... ... ... ... \n", - "14029 399006.SZ 20100607 1069.4680 1005.0280 1075.2250 1001.7020 \n", - "14030 399006.SZ 20100604 1027.6810 989.6810 1027.6810 986.5040 \n", - "14031 399006.SZ 20100603 998.3940 1002.3550 1026.7020 997.7750 \n", - "14032 399006.SZ 20100602 997.1190 967.6090 997.1190 952.6110 \n", - "14033 399006.SZ 20100601 973.2330 986.0150 994.7930 948.1180 \n", + "14059 399006.SZ 20100607 1069.4680 1005.0280 1075.2250 1001.7020 \n", + "14060 399006.SZ 20100604 1027.6810 989.6810 1027.6810 986.5040 \n", + "14061 399006.SZ 20100603 998.3940 1002.3550 1026.7020 997.7750 \n", + "14062 399006.SZ 20100602 997.1190 967.6090 997.1190 952.6110 \n", + "14063 399006.SZ 20100601 973.2330 986.0150 994.7930 948.1180 \n", "\n", " pre_close change pct_chg vol amount \n", - "0 8387.5950 202.5709 2.4151 3.196901e+08 6.394214e+08 \n", - "1 8340.1133 47.4817 0.5693 2.688052e+08 5.461381e+08 \n", - "2 8247.8049 92.3084 1.1192 2.433044e+08 5.175922e+08 \n", - "3 8287.9470 -40.1421 -0.4843 2.898645e+08 5.881715e+08 \n", - "4 8232.6740 55.2730 0.6714 2.614974e+08 5.609261e+08 \n", + "0 8146.1073 0.3055 0.0038 2.186421e+08 4.183734e+08 \n", + "1 8299.0574 -152.9501 -1.8430 2.318405e+08 4.352777e+08 \n", + "2 8286.7005 12.3569 0.1491 2.688603e+08 5.018867e+08 \n", + "3 8037.0456 249.6549 3.1063 2.722271e+08 5.432645e+08 \n", + "4 8370.5203 -333.4747 -3.9839 2.996460e+08 5.460557e+08 \n", "... ... ... ... ... ... \n", - "14029 1027.6810 41.7870 4.0661 2.655275e+06 9.106095e+06 \n", - "14030 998.3940 29.2870 2.9334 1.500295e+06 5.269441e+06 \n", - "14031 997.1190 1.2750 0.1279 1.616805e+06 6.240835e+06 \n", - "14032 973.2330 23.8860 2.4543 1.074628e+06 4.001206e+06 \n", - "14033 1000.0000 -26.7670 -2.6767 1.356285e+06 4.924177e+06 \n", + "14059 1027.6810 41.7870 4.0661 2.655275e+06 9.106095e+06 \n", + "14060 998.3940 29.2870 2.9334 1.500295e+06 5.269441e+06 \n", + "14061 997.1190 1.2750 0.1279 1.616805e+06 6.240835e+06 \n", + "14062 973.2330 23.8860 2.4543 1.074628e+06 4.001206e+06 \n", + "14063 1000.0000 -26.7670 -2.6767 1.356285e+06 4.924177e+06 \n", "\n", - "[14034 rows x 11 columns]\n" + "[14064 rows x 11 columns]\n" ] } ], diff --git a/main/data/test.ipynb b/main/data/test.ipynb index f9a9801..5ba9f52 100644 --- a/main/data/test.ipynb +++ b/main/data/test.ipynb @@ -6,8 +6,8 @@ "metadata": { "collapsed": true, "ExecuteTime": { - "end_time": "2025-10-17T07:14:47.275Z", - "start_time": "2025-10-17T07:14:46.966401Z" + "end_time": "2026-01-30T19:47:50.093496Z", + "start_time": "2026-01-30T19:47:49.972697Z" } }, "source": [ @@ -20,13 +20,25 @@ "ts.set_token('3a0741c702ee7e5e5f2bf1f0846bafaafe4e320833240b2a7e4a685f')\n", "pro = ts.pro_api()" ], - "outputs": [], + "outputs": [ + { + "ename": "ModuleNotFoundError", + "evalue": "No module named 'tushare'", + "output_type": "error", + "traceback": [ + "\u001B[31m---------------------------------------------------------------------------\u001B[39m", + "\u001B[31mModuleNotFoundError\u001B[39m Traceback (most recent call last)", + "\u001B[36mCell\u001B[39m\u001B[36m \u001B[39m\u001B[32mIn[1]\u001B[39m\u001B[32m, line 3\u001B[39m\n\u001B[32m 1\u001B[39m \u001B[38;5;28;01mfrom\u001B[39;00m\u001B[38;5;250m \u001B[39m\u001B[34;01moperator\u001B[39;00m\u001B[38;5;250m \u001B[39m\u001B[38;5;28;01mimport\u001B[39;00m index\n\u001B[32m----> \u001B[39m\u001B[32m3\u001B[39m \u001B[38;5;28;01mimport\u001B[39;00m\u001B[38;5;250m \u001B[39m\u001B[34;01mtushare\u001B[39;00m\u001B[38;5;250m \u001B[39m\u001B[38;5;28;01mas\u001B[39;00m\u001B[38;5;250m \u001B[39m\u001B[34;01mts\u001B[39;00m\n\u001B[32m 4\u001B[39m \u001B[38;5;28;01mimport\u001B[39;00m\u001B[38;5;250m \u001B[39m\u001B[34;01mpandas\u001B[39;00m\u001B[38;5;250m \u001B[39m\u001B[38;5;28;01mas\u001B[39;00m\u001B[38;5;250m \u001B[39m\u001B[34;01mpd\u001B[39;00m\n\u001B[32m 5\u001B[39m \u001B[38;5;28;01mimport\u001B[39;00m\u001B[38;5;250m \u001B[39m\u001B[34;01mtime\u001B[39;00m\n", + "\u001B[31mModuleNotFoundError\u001B[39m: No module named 'tushare'" + ] + } + ], "execution_count": 1 }, { "metadata": { "ExecuteTime": { - "end_time": "2025-10-17T07:15:47.631705Z", + "end_time": "2026-01-30T19:47:50.172803200Z", "start_time": "2025-10-17T07:15:47.491485Z" } }, diff --git a/main/data/update/cyq-perf.ipynb b/main/data/update/cyq-perf.ipynb index 5336d91..7360616 100644 --- a/main/data/update/cyq-perf.ipynb +++ b/main/data/update/cyq-perf.ipynb @@ -39,15 +39,15 @@ "3 000006.SZ 20250312\n", "4 000007.SZ 20250312\n", "... ... ...\n", - "27277 920978.BJ 20260112\n", - "27278 920981.BJ 20260112\n", - "27279 920982.BJ 20260112\n", - "27280 920985.BJ 20260112\n", - "27281 920992.BJ 20260112\n", + "27312 920978.BJ 20260126\n", + "27313 920981.BJ 20260126\n", + "27314 920982.BJ 20260126\n", + "27315 920985.BJ 20260126\n", + "27316 920992.BJ 20260126\n", "\n", - "[8597722 rows x 2 columns]\n", - "20260116\n", - "start_date: 20260119\n" + "[8652365 rows x 2 columns]\n", + "20260130\n", + "start_date: 20260202\n" ] } ], @@ -64,7 +64,7 @@ " max_date = df['trade_date'].max()\n", "\n", "print(max_date)\n", - "trade_cal = pro.trade_cal(exchange='', start_date='20170101', end_date='20260201')\n", + "trade_cal = pro.trade_cal(exchange='', start_date='20170101', end_date='20260310')\n", "trade_cal = trade_cal[trade_cal['is_open'] == 1] # 只保留交易日\n", "trade_dates = trade_cal[trade_cal['cal_date'] > max_date]['cal_date'].tolist()\n", "start_date = min(trade_dates)\n", @@ -86,16 +86,27 @@ "name": "stdout", "output_type": "stream", "text": [ - "任务 20260130 完成\n", - "任务 20260129 完成\n", - "任务 20260128 完成\n", - "任务 20260127 完成\n", - "任务 20260126 完成\n", - "任务 20260123 完成\n", - "任务 20260122 完成\n", - "任务 20260121 完成\n", - "任务 20260120 完成\n", - "任务 20260119 完成\n" + "任务 20260309 完成\n", + "任务 20260310 完成\n", + "任务 20260306 完成\n", + "任务 20260305 完成\n", + "任务 20260304 完成\n", + "任务 20260303 完成\n", + "任务 20260227 完成\n", + "任务 20260302 完成\n", + "任务 20260226 完成\n", + "任务 20260225 完成\n", + "任务 20260224 完成\n", + "任务 20260213 完成\n", + "任务 20260212 完成\n", + "任务 20260211 完成\n", + "任务 20260209 完成\n", + "任务 20260210 完成\n", + "任务 20260205 完成\n", + "任务 20260206 完成\n", + "任务 20260204 完成\n", + "任务 20260203 完成\n", + "任务 20260202 完成\n" ] } ], diff --git a/main/data/update/sw_daily.ipynb b/main/data/update/sw_daily.ipynb index 62c267f..7a8221d 100644 --- a/main/data/update/sw_daily.ipynb +++ b/main/data/update/sw_daily.ipynb @@ -39,15 +39,15 @@ "3 801005.SI 20250221\n", "4 801010.SI 20250221\n", "... ... ...\n", - "2190 859811.SI 20260112\n", - "2191 859821.SI 20260112\n", - "2192 859822.SI 20260112\n", - "2193 859852.SI 20260112\n", - "2194 859951.SI 20260112\n", + "2190 859811.SI 20260126\n", + "2191 859821.SI 20260126\n", + "2192 859822.SI 20260126\n", + "2193 859852.SI 20260126\n", + "2194 859951.SI 20260126\n", "\n", - "[1140973 rows x 2 columns]\n", - "20260116\n", - "start_date: 20260119\n" + "[1145363 rows x 2 columns]\n", + "20260130\n", + "start_date: 20260202\n" ] } ], @@ -64,7 +64,7 @@ " max_date = df['trade_date'].max()\n", "\n", "print(max_date)\n", - "trade_cal = pro.trade_cal(exchange='', start_date='20170101', end_date='20260201')\n", + "trade_cal = pro.trade_cal(exchange='', start_date='20170101', end_date='20260310')\n", "trade_cal = trade_cal[trade_cal['is_open'] == 1] # 只保留交易日\n", "trade_dates = trade_cal[trade_cal['cal_date'] > max_date]['cal_date'].tolist()\n", "start_date = min(trade_dates)\n", @@ -86,16 +86,27 @@ "name": "stdout", "output_type": "stream", "text": [ - "任务 20260130 完成\n", - "任务 20260129 完成\n", - "任务 20260128 完成\n", - "任务 20260127 完成\n", - "任务 20260126 完成\n", - "任务 20260123 完成\n", - "任务 20260122 完成\n", - "任务 20260121 完成\n", - "任务 20260120 完成\n", - "任务 20260119 完成\n" + "任务 20260309 完成\n", + "任务 20260310 完成\n", + "任务 20260306 完成\n", + "任务 20260305 完成\n", + "任务 20260304 完成\n", + "任务 20260303 完成\n", + "任务 20260302 完成\n", + "任务 20260227 完成\n", + "任务 20260226 完成\n", + "任务 20260225 完成\n", + "任务 20260224 完成\n", + "任务 20260213 完成\n", + "任务 20260211 完成\n", + "任务 20260212 完成\n", + "任务 20260210 完成\n", + "任务 20260209 完成\n", + "任务 20260206 完成\n", + "任务 20260205 完成\n", + "任务 20260204 完成\n", + "任务 20260203 完成\n", + "任务 20260202 完成\n" ] } ], diff --git a/main/data/update/update_daily_basic.ipynb b/main/data/update/update_daily_basic.ipynb index a89b783..e13be7a 100644 --- a/main/data/update/update_daily_basic.ipynb +++ b/main/data/update/update_daily_basic.ipynb @@ -94,17 +94,17 @@ "output_type": "stream", "text": [ "\n", - "Index: 9547667 entries, 0 to 27281\n", + "Index: 9602310 entries, 0 to 27316\n", "Data columns (total 2 columns):\n", " # Column Dtype \n", "--- ------ ----- \n", " 0 ts_code object\n", " 1 trade_date object\n", "dtypes: object(2)\n", - "memory usage: 218.5+ MB\n", + "memory usage: 219.8+ MB\n", "None\n", - "20260116\n", - "20260119\n" + "20260130\n", + "20260202\n" ] } ], @@ -121,7 +121,7 @@ " max_date = df['trade_date'].max()\n", "\n", "print(max_date)\n", - "trade_cal = pro.trade_cal(exchange='', start_date='20170101', end_date='20260201')\n", + "trade_cal = pro.trade_cal(exchange='', start_date='20170101', end_date='20260310')\n", "trade_cal = trade_cal[trade_cal['is_open'] == 1] # 只保留交易日\n", "trade_dates = trade_cal[trade_cal['cal_date'] > max_date]['cal_date'].tolist()\n", "start_date = min(trade_dates)\n", @@ -144,22 +144,27 @@ "name": "stdout", "output_type": "stream", "text": [ - "任务 20260130 完成\n", - "任务 20260129 完成\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "任务 20260127 完成\n", - "任务 20260128 完成\n", - "任务 20260126 完成\n", - "任务 20260123 完成\n", - "任务 20260122 完成\n", - "任务 20260121 完成\n", - "任务 20260120 完成\n", - "任务 20260119 完成\n" + "任务 20260309 完成\n", + "任务 20260310 完成\n", + "任务 20260305 完成\n", + "任务 20260306 完成\n", + "任务 20260303 完成\n", + "任务 20260304 完成\n", + "任务 20260302 完成\n", + "任务 20260227 完成\n", + "任务 20260226 完成\n", + "任务 20260225 完成\n", + "任务 20260224 完成\n", + "任务 20260213 完成\n", + "任务 20260212 完成\n", + "任务 20260211 完成\n", + "任务 20260210 完成\n", + "任务 20260209 完成\n", + "任务 20260206 完成\n", + "任务 20260205 完成\n", + "任务 20260204 完成\n", + "任务 20260203 完成\n", + "任务 20260202 完成\n" ] } ], @@ -230,58 +235,58 @@ "output_type": "stream", "text": [ " ts_code trade_date close turnover_rate turnover_rate_f \\\n", - "0 301586.SZ 20260123 52.80 4.4195 6.0484 \n", - "1 600871.SH 20260123 2.63 3.5599 17.1067 \n", - "2 002067.SZ 20260123 5.91 9.5542 9.8833 \n", - "3 601225.SH 20260123 21.41 0.4692 1.3502 \n", - "4 688800.SH 20260123 90.22 4.3421 7.2546 \n", + "0 001389.SZ 20260206 99.50 6.1259 6.1259 \n", + "1 600841.SH 20260206 9.55 4.4177 14.0519 \n", + "2 300968.SZ 20260206 13.71 1.0258 2.1909 \n", + "3 300634.SZ 20260206 28.46 4.0862 6.8510 \n", + "4 300295.SZ 20260206 11.99 3.5950 3.8451 \n", "... ... ... ... ... ... \n", - "27321 688659.SH 20260119 10.42 1.7256 3.1386 \n", - "27322 301021.SZ 20260119 55.92 5.8451 10.3979 \n", - "27323 300102.SZ 20260119 34.23 14.1090 22.0304 \n", - "27324 300088.SZ 20260119 6.36 1.9148 2.3308 \n", - "27325 002261.SZ 20260119 33.77 4.6567 5.1897 \n", + "27325 603766.SH 20260202 14.89 1.1630 1.9407 \n", + "27326 603408.SH 20260202 12.92 0.7963 3.0049 \n", + "27327 000004.SZ 20260202 11.99 0.2338 0.3161 \n", + "27328 601628.SH 20260202 48.34 0.1384 1.9210 \n", + "27329 301042.SZ 20260202 86.10 3.6207 5.4797 \n", "\n", " volume_ratio pe pe_ttm pb ps ps_ttm dv_ratio \\\n", - "0 0.98 43.6343 68.1615 3.4308 6.9893 5.8003 0.9091 \n", - "1 1.91 78.9369 79.8327 5.2226 0.6148 0.6127 NaN \n", - "2 0.80 122.3105 140.3743 1.3170 1.5908 1.5491 NaN \n", - "3 1.02 9.2832 10.8507 2.1981 1.1272 1.1740 5.9699 \n", - "4 0.79 105.8709 61.3816 8.0916 7.6847 5.8974 0.2971 \n", + "0 0.83 62.6474 46.6770 11.6304 11.3424 8.6639 0.4819 \n", + "1 1.02 NaN NaN 4.1908 2.0493 2.4531 NaN \n", + "2 0.80 106.8945 225.1215 2.9871 4.6434 4.4246 0.3647 \n", + "3 0.68 55.7987 55.5119 4.4068 7.7725 7.2020 0.5590 \n", + "4 0.40 NaN NaN 2.0169 18.5210 23.1598 NaN \n", "... ... ... ... ... ... ... ... \n", - "27321 1.01 NaN NaN 3.1071 2.6478 2.4387 NaN \n", - "27322 0.72 391.5181 198.4990 8.4757 19.1357 17.1491 0.1772 \n", - "27323 0.69 327.8681 232.9793 7.4375 12.9485 9.5346 0.1313 \n", - "27324 0.52 44.5231 45.4726 1.8179 1.4366 1.3961 0.9198 \n", - "27325 0.38 NaN NaN 16.3185 10.3586 13.1287 NaN \n", + "27325 1.04 27.2701 16.9932 3.2106 1.8177 1.5958 2.6864 \n", + "27326 0.99 11.9989 13.3289 1.7275 1.1550 1.1674 3.8700 \n", + "27327 0.05 NaN NaN 42.9590 16.0879 21.5107 NaN \n", + "27328 0.95 12.7771 8.0270 2.2069 2.5849 2.1373 1.4233 \n", + "27329 1.92 84.1572 534.3244 5.7108 8.6920 12.7424 NaN \n", "\n", " dv_ttm total_share float_share free_share total_mv \\\n", - "0 0.3788 8.297550e+03 5.291107e+03 3866.1069 4.381107e+05 \n", - "1 NaN 1.895705e+06 1.354701e+06 281911.5987 4.985703e+06 \n", - "2 NaN 1.474854e+05 1.337604e+05 129305.3853 8.716386e+05 \n", - "3 5.4881 9.695000e+05 9.695000e+05 336903.9335 2.075700e+07 \n", - "4 0.2971 2.056743e+04 2.056743e+04 12310.0935 1.855594e+06 \n", + "0 0.4819 4.256875e+04 1.511580e+04 15115.7957 4.235591e+06 \n", + "1 NaN 1.387822e+05 1.043024e+05 32790.9410 1.325370e+06 \n", + "2 0.3647 4.133800e+04 4.133800e+04 19355.6537 5.667440e+05 \n", + "3 0.5590 4.512109e+04 4.345735e+04 25919.5274 1.284146e+06 \n", + "4 NaN 1.896137e+04 1.675259e+04 15662.9042 2.273468e+05 \n", "... ... ... ... ... ... \n", - "27321 NaN 1.600000e+04 1.600000e+04 8796.6880 1.667200e+05 \n", - "27322 0.1772 1.528528e+04 1.527393e+04 8586.0802 8.547528e+05 \n", - "27323 0.1313 9.203339e+04 9.163399e+04 58685.2206 3.150303e+06 \n", - "27324 0.9198 2.497734e+05 2.485504e+05 204186.7350 1.588559e+06 \n", - "27325 NaN 1.259831e+05 1.145652e+05 102798.2760 4.254451e+06 \n", + "27325 4.0296 2.053542e+05 2.053542e+05 123065.9980 3.057724e+06 \n", + "27326 5.3406 4.475730e+04 4.475730e+04 11860.1633 5.782643e+05 \n", + "27327 NaN 1.323803e+04 1.262878e+04 9339.3580 1.587240e+05 \n", + "27328 1.4233 2.826470e+06 2.082353e+06 150000.0000 1.366316e+08 \n", + "27329 NaN 6.972358e+03 6.602083e+03 4362.2827 6.003200e+05 \n", "\n", " circ_mv is_st \n", - "0 2.793704e+05 False \n", - "1 3.562864e+06 False \n", - "2 7.905239e+05 False \n", - "3 2.075700e+07 False \n", - "4 1.855594e+06 False \n", + "0 1.504022e+06 False \n", + "1 9.960884e+05 False \n", + "2 5.667440e+05 False \n", + "3 1.236796e+06 False \n", + "4 2.008635e+05 False \n", "... ... ... \n", - "27321 1.667200e+05 False \n", - "27322 8.541180e+05 False \n", - "27323 3.136631e+06 False \n", - "27324 1.580780e+06 False \n", - "27325 3.868868e+06 False \n", + "27325 3.057724e+06 False \n", + "27326 5.782643e+05 False \n", + "27327 1.514190e+05 True \n", + "27328 1.006609e+08 False \n", + "27329 5.684393e+05 False \n", "\n", - "[27326 rows x 19 columns]\n" + "[27330 rows x 19 columns]\n" ] } ], @@ -306,58 +311,45 @@ "output_type": "stream", "text": [ " ts_code trade_date close turnover_rate turnover_rate_f \\\n", - "54 000615.SZ 20260123 3.32 0.7420 0.9114 \n", - "60 600228.SH 20260123 5.63 3.4275 4.8943 \n", - "88 000430.SZ 20260123 7.30 1.4748 2.3665 \n", - "96 603389.SH 20260123 48.20 0.8319 2.1042 \n", - "110 000752.SZ 20260123 10.96 1.4753 1.8177 \n", + "52 002713.SZ 20260206 9.52 4.6530 6.2693 \n", + "107 000609.SZ 20260206 8.23 0.2427 0.3213 \n", + "113 300052.SZ 20260206 13.86 3.5983 4.3260 \n", + "116 600624.SH 20260206 5.31 0.6260 0.8827 \n", + "119 300555.SZ 20260206 14.31 1.4520 1.7474 \n", "... ... ... ... ... ... \n", - "27130 002586.SZ 20260119 4.68 1.7164 2.9874 \n", - "27154 600265.SH 20260119 19.29 0.2879 0.8066 \n", - "27193 688287.SH 20260119 6.44 0.9802 1.9881 \n", - "27195 300338.SZ 20260119 3.61 1.4127 1.5675 \n", - "27223 000669.SZ 20260119 2.79 1.1437 1.4424 \n", + "27182 000668.SZ 20260202 13.85 3.5014 5.9253 \n", + "27240 003032.SZ 20260202 6.37 2.2066 3.1223 \n", + "27305 000691.SZ 20260202 8.30 1.9108 2.2317 \n", + "27312 300167.SZ 20260202 4.65 2.1705 2.3552 \n", + "27327 000004.SZ 20260202 11.99 0.2338 0.3161 \n", "\n", - " volume_ratio pe pe_ttm pb ps ps_ttm dv_ratio \\\n", - "54 0.72 NaN NaN NaN 5.4217 5.8063 NaN \n", - "60 1.60 NaN NaN 5.6813 9.6204 6.3997 NaN \n", - "88 1.11 NaN NaN 22.0731 13.6938 12.9047 NaN \n", - "96 0.95 NaN NaN 54.1434 62.5718 60.6578 NaN \n", - "110 0.96 110.3513 19.6504 4.7026 6.8589 6.4652 NaN \n", - "... ... ... ... ... ... ... ... \n", - "27130 1.55 NaN NaN 1.7970 2.1568 2.2158 NaN \n", - "27154 0.79 NaN NaN 288.1848 5.6010 10.1170 NaN \n", - "27193 0.59 NaN NaN 3.1120 26.5172 26.3673 NaN \n", - "27195 0.58 NaN NaN NaN 8.5110 10.1280 NaN \n", - "27223 0.84 NaN NaN NaN 1.4522 1.5001 NaN \n", + " volume_ratio pe pe_ttm pb ps ps_ttm dv_ratio dv_ttm \\\n", + "52 1.02 NaN NaN NaN 6.9890 12.8336 NaN NaN \n", + "107 0.05 NaN NaN NaN 8.0655 15.8232 NaN NaN \n", + "113 1.51 NaN NaN 9.6004 15.9784 18.8191 NaN NaN \n", + "116 0.60 NaN NaN 5.7984 5.5900 5.4551 NaN NaN \n", + "119 1.24 NaN NaN 6.0224 16.1604 18.5602 NaN NaN \n", + "... ... .. ... ... ... ... ... ... \n", + "27182 1.32 NaN NaN 2.8792 15.2387 7.2708 NaN NaN \n", + "27240 1.15 NaN NaN 2.0451 10.4354 7.6772 NaN NaN \n", + "27305 0.69 NaN NaN NaN 9.0850 9.0002 NaN NaN \n", + "27312 0.71 NaN 134.128 63.0032 4.3517 3.8269 NaN NaN \n", + "27327 0.05 NaN NaN 42.9590 16.0879 21.5107 NaN NaN \n", "\n", - " dv_ttm total_share float_share free_share total_mv \\\n", - "54 NaN 178749.2693 92531.6398 75331.7788 5.934476e+05 \n", - "60 NaN 41667.2427 41603.7177 29135.5053 2.345866e+05 \n", - "88 NaN 80963.5372 37055.6486 23092.8156 5.910338e+05 \n", - "96 NaN 26275.2000 26275.2000 10387.7487 1.266465e+06 \n", - "110 NaN 26375.8491 26375.8491 21407.3042 2.890793e+05 \n", - "... ... ... ... ... ... \n", - "27130 NaN 114422.3714 108751.8003 62484.0799 5.354967e+05 \n", - "27154 NaN 12980.0000 12980.0000 4633.1947 2.503842e+05 \n", - "27193 NaN 37051.5600 37051.5600 18267.2898 2.386120e+05 \n", - "27195 NaN 40262.4692 34936.1242 31485.3582 1.453475e+05 \n", - "27223 NaN 68040.8797 68040.8797 53950.9653 1.898341e+05 \n", + " total_share float_share free_share total_mv circ_mv is_st \n", + "52 95140.5184 52650.0831 39075.6229 905737.7352 501228.7911 True \n", + "107 29926.5522 29105.8272 21991.3472 246295.5246 239540.9579 True \n", + "113 26185.8710 26185.1210 21780.6332 362936.1721 362925.7771 True \n", + "116 67934.6942 67934.6942 48180.1806 360733.2262 360733.2262 True \n", + "119 20000.0000 19798.4863 16450.7792 286200.0000 283316.3390 True \n", + "... ... ... ... ... ... ... \n", + "27182 14684.1890 14684.1890 8677.2104 203376.0177 203376.0177 True \n", + "27240 40244.7500 27621.9885 19520.7308 256359.0575 175952.0667 True \n", + "27305 48490.5000 32327.0000 27679.8405 402471.1500 268314.1000 True \n", + "27312 38937.4000 35889.3250 33073.6637 181058.9100 166885.3613 True \n", + "27327 13238.0282 12628.7768 9339.3580 158723.9581 151419.0338 True \n", "\n", - " circ_mv is_st \n", - "54 3.072050e+05 True \n", - "60 2.342289e+05 True \n", - "88 2.705062e+05 True \n", - "96 1.266465e+06 True \n", - "110 2.890793e+05 True \n", - "... ... ... \n", - "27130 5.089584e+05 True \n", - "27154 2.503842e+05 True \n", - "27193 2.386120e+05 True \n", - "27195 1.261194e+05 True \n", - "27223 1.898341e+05 True \n", - "\n", - "[886 rows x 19 columns]\n" + "[872 rows x 19 columns]\n" ] } ], @@ -407,7 +399,7 @@ "output_type": "stream", "text": [ "\n", - "Index: 9574993 entries, 0 to 27325\n", + "Index: 9629640 entries, 0 to 27329\n", "Data columns (total 3 columns):\n", " # Column Dtype \n", "--- ------ ----- \n", @@ -415,7 +407,7 @@ " 1 trade_date object\n", " 2 is_st bool \n", "dtypes: bool(1), object(2)\n", - "memory usage: 228.3+ MB\n", + "memory usage: 229.6+ MB\n", "None\n" ] } diff --git a/main/data/update/update_daily_data.ipynb b/main/data/update/update_daily_data.ipynb index 225ac38..b295985 100644 --- a/main/data/update/update_daily_data.ipynb +++ b/main/data/update/update_daily_data.ipynb @@ -38,17 +38,17 @@ "output_type": "stream", "text": [ "\n", - "Index: 9580869 entries, 0 to 25518\n", + "Index: 9631949 entries, 0 to 25528\n", "Data columns (total 2 columns):\n", " # Column Dtype \n", "--- ------ ----- \n", " 0 ts_code object\n", " 1 trade_date object\n", "dtypes: object(2)\n", - "memory usage: 219.3+ MB\n", + "memory usage: 220.5+ MB\n", "None\n", - "20260116\n", - "20260119\n" + "20260130\n", + "20260202\n" ] } ], @@ -62,7 +62,7 @@ " max_date = df['trade_date'].max()\n", "\n", "print(max_date)\n", - "trade_cal = pro.trade_cal(exchange='', start_date='20170101', end_date='20260201')\n", + "trade_cal = pro.trade_cal(exchange='', start_date='20170101', end_date='20260310')\n", "trade_cal = trade_cal[trade_cal['is_open'] == 1] # 只保留交易日\n", "trade_dates = trade_cal[trade_cal['cal_date'] > max_date]['cal_date'].tolist()\n", "start_date = min(trade_dates)\n", @@ -85,31 +85,31 @@ "name": "stdout", "output_type": "stream", "text": [ - "任务 000006.SZ 完成\n", - "任务 000001.SZ 完成\n", "任务 000002.SZ 完成\n", - "任务 000004.SZ 完成\n", + "任务 000001.SZ 完成\n", "任务 000007.SZ 完成\n", + "任务 000004.SZ 完成\n", + "任务 000006.SZ 完成\n", "任务 000008.SZ 完成\n", "任务 000009.SZ 完成\n", "任务 000010.SZ 完成\n", "任务 000011.SZ 完成\n", "任务 000012.SZ 完成\n", "任务 000014.SZ 完成\n", - "任务 000017.SZ 完成\n", "任务 000016.SZ 完成\n", - "任务 000020.SZ 完成\n", + "任务 000017.SZ 完成\n", "任务 000019.SZ 完成\n", - "任务 000021.SZ 完成\n", + "任务 000020.SZ 完成\n", "任务 000025.SZ 完成\n", + "任务 000021.SZ 完成\n", "任务 000026.SZ 完成\n", - "任务 000028.SZ 完成\n", "任务 000027.SZ 完成\n", + "任务 000028.SZ 完成\n", "任务 000029.SZ 完成\n", "任务 000030.SZ 完成\n", "任务 000031.SZ 完成\n", - "任务 000034.SZ 完成\n", "任务 000032.SZ 完成\n", + "任务 000034.SZ 完成\n", "任务 000035.SZ 完成\n", "任务 000036.SZ 完成\n", "任务 000037.SZ 完成\n", @@ -117,38 +117,38 @@ "任务 000040.SZ 完成\n", "任务 000042.SZ 完成\n", "任务 000045.SZ 完成\n", - "任务 000048.SZ 完成\n", "任务 000049.SZ 完成\n", + "任务 000048.SZ 完成\n", "任务 000050.SZ 完成\n", "任务 000055.SZ 完成\n", "任务 000056.SZ 完成\n", - "任务 000059.SZ 完成\n", "任务 000058.SZ 完成\n", + "任务 000059.SZ 完成\n", "任务 000060.SZ 完成\n", - "任务 000062.SZ 完成\n", "任务 000061.SZ 完成\n", + "任务 000062.SZ 完成\n", "任务 000063.SZ 完成\n", "任务 000065.SZ 完成\n", "任务 000066.SZ 完成\n", - "任务 000069.SZ 完成\n", "任务 000068.SZ 完成\n", + "任务 000069.SZ 完成\n", "任务 000070.SZ 完成\n", "任务 000078.SZ 完成\n", "任务 000088.SZ 完成\n", "任务 000089.SZ 完成\n", "任务 000090.SZ 完成\n", - "任务 000099.SZ 完成\n", "任务 000096.SZ 完成\n", + "任务 000099.SZ 完成\n", "任务 000100.SZ 完成\n", "任务 000151.SZ 完成\n", "任务 000153.SZ 完成\n", - "任务 000156.SZ 完成\n", "任务 000155.SZ 完成\n", + "任务 000156.SZ 完成\n", "任务 000157.SZ 完成\n", "任务 000158.SZ 完成\n", + "任务 000159.SZ 完成\n", "任务 000166.SZ 完成\n", "任务 000301.SZ 完成\n", - "任务 000159.SZ 完成\n", "任务 000333.SZ 完成\n", "任务 000338.SZ 完成\n", "任务 000400.SZ 完成\n", @@ -162,22 +162,22 @@ "任务 000410.SZ 完成\n", "任务 000411.SZ 完成\n", "任务 000415.SZ 完成\n", - "任务 000419.SZ 完成\n", "任务 000417.SZ 完成\n", + "任务 000419.SZ 完成\n", "任务 000420.SZ 完成\n", "任务 000421.SZ 完成\n", "任务 000422.SZ 完成\n", - "任务 000426.SZ 完成\n", "任务 000423.SZ 完成\n", "任务 000425.SZ 完成\n", + "任务 000426.SZ 完成\n", "任务 000428.SZ 完成\n", "任务 000429.SZ 完成\n", - "任务 000488.SZ 完成\n", "任务 000430.SZ 完成\n", + "任务 000488.SZ 完成\n", "任务 000498.SZ 完成\n", "任务 000501.SZ 完成\n", - "任务 000503.SZ 完成\n", "任务 000504.SZ 完成\n", + "任务 000503.SZ 完成\n", "任务 000505.SZ 完成\n", "任务 000506.SZ 完成\n", "任务 000507.SZ 完成\n", @@ -186,8 +186,8 @@ "任务 000513.SZ 完成\n", "任务 000514.SZ 完成\n", "任务 000516.SZ 完成\n", - "任务 000517.SZ 完成\n", "任务 000518.SZ 完成\n", + "任务 000517.SZ 完成\n", "任务 000519.SZ 完成\n", "任务 000520.SZ 完成\n", "任务 000521.SZ 完成\n", @@ -205,16 +205,16 @@ "任务 000536.SZ 完成\n", "任务 000537.SZ 完成\n", "任务 000538.SZ 完成\n", - "任务 000541.SZ 完成\n", "任务 000539.SZ 完成\n", + "任务 000541.SZ 完成\n", "任务 000543.SZ 完成\n", "任务 000544.SZ 完成\n", "任务 000545.SZ 完成\n", "任务 000546.SZ 完成\n", - "任务 000550.SZ 完成\n", "任务 000547.SZ 完成\n", - "任务 000551.SZ 完成\n", "任务 000548.SZ 完成\n", + "任务 000550.SZ 完成\n", + "任务 000551.SZ 完成\n", "任务 000552.SZ 完成\n", "任务 000554.SZ 完成\n", "任务 000553.SZ 完成\n", @@ -223,135 +223,135 @@ "任务 000558.SZ 完成\n", "任务 000559.SZ 完成\n", "任务 000560.SZ 完成\n", - "任务 000563.SZ 完成\n", "任务 000561.SZ 完成\n", + "任务 000563.SZ 完成\n", "任务 000564.SZ 完成\n", "任务 000565.SZ 完成\n", "任务 000566.SZ 完成\n", "任务 000567.SZ 完成\n", "任务 000568.SZ 完成\n", "任务 000570.SZ 完成\n", - "任务 000572.SZ 完成\n", "任务 000571.SZ 完成\n", + "任务 000572.SZ 完成\n", "任务 000573.SZ 完成\n", - "任务 000584.SZ 完成\n", - "任务 000582.SZ 完成\n", "任务 000576.SZ 完成\n", "任务 000581.SZ 完成\n", + "任务 000582.SZ 完成\n", + "任务 000584.SZ 完成\n", "任务 000586.SZ 完成\n", + "任务 000589.SZ 完成\n", "任务 000590.SZ 完成\n", "任务 000591.SZ 完成\n", "任务 000592.SZ 完成\n", "任务 000593.SZ 完成\n", - "任务 000589.SZ 完成\n", "任务 000595.SZ 完成\n", "任务 000596.SZ 完成\n", - "任务 000598.SZ 完成\n", "任务 000597.SZ 完成\n", + "任务 000598.SZ 完成\n", "任务 000599.SZ 完成\n", "任务 000600.SZ 完成\n", "任务 000601.SZ 完成\n", + "任务 000603.SZ 完成\n", "任务 000605.SZ 完成\n", "任务 000607.SZ 完成\n", - "任务 000603.SZ 完成\n", "任务 000608.SZ 完成\n", "任务 000609.SZ 完成\n", "任务 000610.SZ 完成\n", - "任务 000615.SZ 完成\n", "任务 000612.SZ 完成\n", + "任务 000615.SZ 完成\n", "任务 000617.SZ 完成\n", "任务 000619.SZ 完成\n", "任务 000620.SZ 完成\n", - "任务 000622.SZ 完成\n", "任务 000623.SZ 完成\n", + "任务 000622.SZ 完成\n", "任务 000625.SZ 完成\n", "任务 000626.SZ 完成\n", - "任务 000627.SZ 完成\n", "任务 000628.SZ 完成\n", + "任务 000627.SZ 完成\n", + "任务 000630.SZ 完成\n", "任务 000629.SZ 完成\n", "任务 000631.SZ 完成\n", - "任务 000630.SZ 完成\n", "任务 000632.SZ 完成\n", "任务 000633.SZ 完成\n", "任务 000635.SZ 完成\n", - "任务 000638.SZ 完成\n", - "任务 000639.SZ 完成\n", - "任务 000637.SZ 完成\n", - "任务 000650.SZ 完成\n", "任务 000636.SZ 完成\n", + "任务 000637.SZ 完成\n", + "任务 000639.SZ 完成\n", + "任务 000638.SZ 完成\n", + "任务 000650.SZ 完成\n", "任务 000651.SZ 完成\n", "任务 000652.SZ 完成\n", - "任务 000656.SZ 完成\n", "任务 000655.SZ 完成\n", "任务 000659.SZ 完成\n", + "任务 000656.SZ 完成\n", + "任务 000657.SZ 完成\n", "任务 000661.SZ 完成\n", - "任务 000665.SZ 完成\n", "任务 000663.SZ 完成\n", + "任务 000665.SZ 完成\n", "任务 000668.SZ 完成\n", "任务 000669.SZ 完成\n", - "任务 000657.SZ 完成\n", - "任务 000672.SZ 完成\n", "任务 000670.SZ 完成\n", + "任务 000672.SZ 完成\n", "任务 000676.SZ 完成\n", "任务 000677.SZ 完成\n", + "任务 000678.SZ 完成\n", "任务 000679.SZ 完成\n", "任务 000680.SZ 完成\n", - "任务 000678.SZ 完成\n", - "任务 000682.SZ 完成\n", - "任务 000685.SZ 完成\n", - "任务 000686.SZ 完成\n", "任务 000681.SZ 完成\n", - "任务 000690.SZ 完成\n", - "任务 000688.SZ 完成\n", - "任务 000695.SZ 完成\n", - "任务 000697.SZ 完成\n", - "任务 000691.SZ 完成\n", - "任务 000700.SZ 完成\n", - "任务 000701.SZ 完成\n", - "任务 000698.SZ 完成\n", - "任务 000702.SZ 完成\n", - "任务 000703.SZ 完成\n", - "任务 000705.SZ 完成\n", + "任务 000682.SZ 完成\n", "任务 000683.SZ 完成\n", + "任务 000685.SZ 完成\n", + "任务 000688.SZ 完成\n", + "任务 000686.SZ 完成\n", + "任务 000690.SZ 完成\n", + "任务 000691.SZ 完成\n", + "任务 000692.SZ 完成\n", + "任务 000697.SZ 完成\n", + "任务 000698.SZ 完成\n", + "任务 000700.SZ 完成\n", + "任务 000695.SZ 完成\n", + "任务 000701.SZ 完成\n", + "任务 000703.SZ 完成\n", + "任务 000702.SZ 完成\n", + "任务 000705.SZ 完成\n", "任务 000707.SZ 完成\n", "任务 000708.SZ 完成\n", "任务 000709.SZ 完成\n", "任务 000710.SZ 完成\n", - "任务 000711.SZ 完成\n", "任务 000712.SZ 完成\n", - "任务 000692.SZ 完成\n", - "任务 000713.SZ 完成\n", "任务 000715.SZ 完成\n", + "任务 000711.SZ 完成\n", + "任务 000713.SZ 完成\n", "任务 000716.SZ 完成\n", "任务 000717.SZ 完成\n", "任务 000718.SZ 完成\n", + "任务 000720.SZ 完成\n", "任务 000719.SZ 完成\n", "任务 000721.SZ 完成\n", - "任务 000720.SZ 完成\n", "任务 000722.SZ 完成\n", - "任务 000723.SZ 完成\n", "任务 000725.SZ 完成\n", - "任务 000727.SZ 完成\n", + "任务 000723.SZ 完成\n", "任务 000726.SZ 完成\n", + "任务 000727.SZ 完成\n", "任务 000728.SZ 完成\n", "任务 000729.SZ 完成\n", - "任务 000735.SZ 完成\n", "任务 000733.SZ 完成\n", "任务 000731.SZ 完成\n", + "任务 000735.SZ 完成\n", "任务 000736.SZ 完成\n", "任务 000737.SZ 完成\n", - "任务 000750.SZ 完成\n", - "任务 000739.SZ 完成\n", "任务 000738.SZ 完成\n", + "任务 000739.SZ 完成\n", + "任务 000750.SZ 完成\n", "任务 000751.SZ 完成\n", "任务 000752.SZ 完成\n", - "任务 000755.SZ 完成\n", "任务 000753.SZ 完成\n", - "任务 000756.SZ 完成\n", + "任务 000755.SZ 完成\n", "任务 000757.SZ 完成\n", - "任务 000758.SZ 完成\n", - "任务 000761.SZ 完成\n", "任务 000759.SZ 完成\n", + "任务 000758.SZ 完成\n", + "任务 000756.SZ 完成\n", + "任务 000761.SZ 完成\n", "任务 000762.SZ 完成\n", "任务 000766.SZ 完成\n", "任务 000767.SZ 完成\n", @@ -362,9 +362,9 @@ "任务 000779.SZ 完成\n", "任务 000782.SZ 完成\n", "任务 000783.SZ 完成\n", + "任务 000785.SZ 完成\n", "任务 000786.SZ 完成\n", "任务 000788.SZ 完成\n", - "任务 000785.SZ 完成\n", "任务 000789.SZ 完成\n", "任务 000790.SZ 完成\n", "任务 000791.SZ 完成\n", @@ -383,8 +383,8 @@ "任务 000809.SZ 完成\n", "任务 000810.SZ 完成\n", "任务 000811.SZ 完成\n", - "任务 000813.SZ 完成\n", "任务 000812.SZ 完成\n", + "任务 000813.SZ 完成\n", "任务 000815.SZ 完成\n", "任务 000816.SZ 完成\n", "任务 000818.SZ 完成\n", @@ -393,14 +393,14 @@ "任务 000821.SZ 完成\n", "任务 000822.SZ 完成\n", "任务 000823.SZ 完成\n", - "任务 000826.SZ 完成\n", "任务 000825.SZ 完成\n", + "任务 000826.SZ 完成\n", "任务 000828.SZ 完成\n", "任务 000829.SZ 完成\n", "任务 000830.SZ 完成\n", "任务 000831.SZ 完成\n", - "任务 000837.SZ 完成\n", "任务 000833.SZ 完成\n", + "任务 000837.SZ 完成\n", "任务 000838.SZ 完成\n", "任务 000839.SZ 完成\n", "任务 000848.SZ 完成\n", @@ -408,8 +408,8 @@ "任务 000851.SZ 完成\n", "任务 000852.SZ 完成\n", "任务 000856.SZ 完成\n", - "任务 000859.SZ 完成\n", "任务 000858.SZ 完成\n", + "任务 000859.SZ 完成\n", "任务 000860.SZ 完成\n", "任务 000862.SZ 完成\n", "任务 000863.SZ 完成\n", @@ -418,13 +418,13 @@ "任务 000875.SZ 完成\n", "任务 000876.SZ 完成\n", "任务 000877.SZ 完成\n", - "任务 000881.SZ 完成\n", - "任务 000880.SZ 完成\n", "任务 000878.SZ 完成\n", + "任务 000880.SZ 完成\n", + "任务 000881.SZ 完成\n", "任务 000882.SZ 完成\n", "任务 000883.SZ 完成\n", - "任务 000886.SZ 完成\n", "任务 000885.SZ 完成\n", + "任务 000886.SZ 完成\n", "任务 000887.SZ 完成\n", "任务 000888.SZ 完成\n", "任务 000889.SZ 完成\n", @@ -434,8 +434,8 @@ "任务 000895.SZ 完成\n", "任务 000897.SZ 完成\n", "任务 000898.SZ 完成\n", - "任务 000900.SZ 完成\n", "任务 000899.SZ 完成\n", + "任务 000900.SZ 完成\n", "任务 000901.SZ 完成\n", "任务 000902.SZ 完成\n", "任务 000903.SZ 完成\n", @@ -449,9 +449,9 @@ "任务 000913.SZ 完成\n", "任务 000915.SZ 完成\n", "任务 000917.SZ 完成\n", + "任务 000919.SZ 完成\n", "任务 000920.SZ 完成\n", "任务 000921.SZ 完成\n", - "任务 000919.SZ 完成\n", "任务 000922.SZ 完成\n", "任务 000923.SZ 完成\n", "任务 000925.SZ 完成\n", @@ -460,8 +460,8 @@ "任务 000928.SZ 完成\n", "任务 000929.SZ 完成\n", "任务 000930.SZ 完成\n", - "任务 000932.SZ 完成\n", "任务 000931.SZ 完成\n", + "任务 000932.SZ 完成\n", "任务 000933.SZ 完成\n", "任务 000935.SZ 完成\n", "任务 000936.SZ 完成\n", @@ -474,19 +474,19 @@ "任务 000952.SZ 完成\n", "任务 000953.SZ 完成\n", "任务 000955.SZ 完成\n", - "任务 000959.SZ 完成\n", "任务 000957.SZ 完成\n", "任务 000958.SZ 完成\n", + "任务 000959.SZ 完成\n", "任务 000960.SZ 完成\n", "任务 000962.SZ 完成\n", - "任务 000966.SZ 完成\n", "任务 000963.SZ 完成\n", "任务 000965.SZ 完成\n", + "任务 000966.SZ 完成\n", "任务 000967.SZ 完成\n", "任务 000968.SZ 完成\n", "任务 000969.SZ 完成\n", - "任务 000972.SZ 完成\n", "任务 000970.SZ 完成\n", + "任务 000972.SZ 完成\n", "任务 000973.SZ 完成\n", "任务 000975.SZ 完成\n", "任务 000977.SZ 完成\n", @@ -504,8 +504,8 @@ "任务 000997.SZ 完成\n", "任务 000998.SZ 完成\n", "任务 000999.SZ 完成\n", - "任务 001201.SZ 完成\n", "任务 001202.SZ 完成\n", + "任务 001201.SZ 完成\n", "任务 001203.SZ 完成\n", "任务 001205.SZ 完成\n", "任务 001206.SZ 完成\n", @@ -519,9 +519,9 @@ "任务 001215.SZ 完成\n", "任务 001216.SZ 完成\n", "任务 001217.SZ 完成\n", + "任务 001219.SZ 完成\n", "任务 001218.SZ 完成\n", "任务 001222.SZ 完成\n", - "任务 001219.SZ 完成\n", "任务 001223.SZ 完成\n", "任务 001225.SZ 完成\n", "任务 001226.SZ 完成\n", @@ -529,14 +529,14 @@ "任务 001228.SZ 完成\n", "任务 001229.SZ 完成\n", "任务 001230.SZ 完成\n", - "任务 001236.SZ 完成\n", + "任务 001231.SZ 完成\n", "任务 001234.SZ 完成\n", + "任务 001236.SZ 完成\n", "任务 001238.SZ 完成\n", "任务 001239.SZ 完成\n", "任务 001255.SZ 完成\n", "任务 001256.SZ 完成\n", "任务 001258.SZ 完成\n", - "任务 001231.SZ 完成\n", "任务 001259.SZ 完成\n", "任务 001260.SZ 完成\n", "任务 001266.SZ 完成\n", @@ -551,8 +551,8 @@ "任务 001283.SZ 完成\n", "任务 001286.SZ 完成\n", "任务 001287.SZ 完成\n", - "任务 001288.SZ 完成\n", "任务 001289.SZ 完成\n", + "任务 001288.SZ 完成\n", "任务 001296.SZ 完成\n", "任务 001298.SZ 完成\n", "任务 001299.SZ 完成\n", @@ -562,10 +562,10 @@ "任务 001308.SZ 完成\n", "任务 001309.SZ 完成\n", "任务 001311.SZ 完成\n", + "任务 001313.SZ 完成\n", "任务 001314.SZ 完成\n", "任务 001316.SZ 完成\n", "任务 001317.SZ 完成\n", - "任务 001313.SZ 完成\n", "任务 001318.SZ 完成\n", "任务 001319.SZ 完成\n", "任务 001322.SZ 完成\n", @@ -590,12 +590,12 @@ "任务 001368.SZ 完成\n", "任务 001373.SZ 完成\n", "任务 001376.SZ 完成\n", - "任务 001379.SZ 完成\n", + "任务 001378.SZ 完成\n", "任务 001380.SZ 完成\n", + "任务 001379.SZ 完成\n", "任务 001387.SZ 完成\n", "任务 001389.SZ 完成\n", "任务 001391.SZ 完成\n", - "任务 001378.SZ 完成\n", "任务 001395.SZ 完成\n", "任务 001696.SZ 完成\n", "任务 001872.SZ 完成\n", @@ -611,13 +611,13 @@ "任务 002007.SZ 完成\n", "任务 002008.SZ 完成\n", "任务 002009.SZ 完成\n", - "任务 002011.SZ 完成\n", "任务 002010.SZ 完成\n", + "任务 002011.SZ 完成\n", "任务 002012.SZ 完成\n", "任务 002014.SZ 完成\n", "任务 002015.SZ 完成\n", - "任务 002016.SZ 完成\n", "任务 002017.SZ 完成\n", + "任务 002016.SZ 完成\n", "任务 002019.SZ 完成\n", "任务 002020.SZ 完成\n", "任务 002021.SZ 完成\n", @@ -626,8 +626,8 @@ "任务 002024.SZ 完成\n", "任务 002025.SZ 完成\n", "任务 002026.SZ 完成\n", - "任务 002027.SZ 完成\n", "任务 002028.SZ 完成\n", + "任务 002027.SZ 完成\n", "任务 002029.SZ 完成\n", "任务 002030.SZ 完成\n", "任务 002031.SZ 完成\n", @@ -636,8 +636,8 @@ "任务 002034.SZ 完成\n", "任务 002035.SZ 完成\n", "任务 002036.SZ 完成\n", - "任务 002037.SZ 完成\n", "任务 002038.SZ 完成\n", + "任务 002037.SZ 完成\n", "任务 002039.SZ 完成\n", "任务 002040.SZ 完成\n", "任务 002041.SZ 完成\n", @@ -715,8 +715,8 @@ "任务 002119.SZ 完成\n", "任务 002120.SZ 完成\n", "任务 002121.SZ 完成\n", - "任务 002122.SZ 完成\n", "任务 002123.SZ 完成\n", + "任务 002122.SZ 完成\n", "任务 002124.SZ 完成\n", "任务 002125.SZ 完成\n", "任务 002126.SZ 完成\n", @@ -725,8 +725,8 @@ "任务 002129.SZ 完成\n", "任务 002130.SZ 完成\n", "任务 002131.SZ 完成\n", - "任务 002132.SZ 完成\n", "任务 002133.SZ 完成\n", + "任务 002132.SZ 完成\n", "任务 002134.SZ 完成\n", "任务 002135.SZ 完成\n", "任务 002136.SZ 完成\n", @@ -745,19 +745,19 @@ "任务 002151.SZ 完成\n", "任务 002152.SZ 完成\n", "任务 002153.SZ 完成\n", - "任务 002154.SZ 完成\n", "任务 002155.SZ 完成\n", + "任务 002154.SZ 完成\n", "任务 002156.SZ 完成\n", "任务 002157.SZ 完成\n", "任务 002158.SZ 完成\n", "任务 002159.SZ 完成\n", - "任务 002161.SZ 完成\n", "任务 002160.SZ 完成\n", + "任务 002161.SZ 完成\n", "任务 002162.SZ 完成\n", "任务 002163.SZ 完成\n", "任务 002164.SZ 完成\n", - "任务 002166.SZ 完成\n", "任务 002165.SZ 完成\n", + "任务 002166.SZ 完成\n", "任务 002167.SZ 完成\n", "任务 002168.SZ 完成\n", "任务 002169.SZ 完成\n", @@ -801,8 +801,8 @@ "任务 002207.SZ 完成\n", "任务 002208.SZ 完成\n", "任务 002209.SZ 完成\n", - "任务 002211.SZ 完成\n", "任务 002210.SZ 完成\n", + "任务 002211.SZ 完成\n", "任务 002212.SZ 完成\n", "任务 002213.SZ 完成\n", "任务 002214.SZ 完成\n", @@ -831,18 +831,18 @@ "任务 002238.SZ 完成\n", "任务 002239.SZ 完成\n", "任务 002240.SZ 完成\n", - "任务 002242.SZ 完成\n", "任务 002241.SZ 完成\n", + "任务 002242.SZ 完成\n", "任务 002243.SZ 完成\n", "任务 002244.SZ 完成\n", - "任务 002245.SZ 完成\n", "任务 002246.SZ 完成\n", + "任务 002245.SZ 完成\n", "任务 002247.SZ 完成\n", "任务 002248.SZ 完成\n", "任务 002249.SZ 完成\n", "任务 002250.SZ 完成\n", - "任务 002252.SZ 完成\n", "任务 002251.SZ 完成\n", + "任务 002252.SZ 完成\n", "任务 002253.SZ 完成\n", "任务 002254.SZ 完成\n", "任务 002255.SZ 完成\n", @@ -860,8 +860,8 @@ "任务 002269.SZ 完成\n", "任务 002270.SZ 完成\n", "任务 002271.SZ 完成\n", - "任务 002272.SZ 完成\n", "任务 002273.SZ 完成\n", + "任务 002272.SZ 完成\n", "任务 002274.SZ 完成\n", "任务 002275.SZ 完成\n", "任务 002276.SZ 完成\n", @@ -916,8 +916,8 @@ "任务 002329.SZ 完成\n", "任务 002330.SZ 完成\n", "任务 002331.SZ 完成\n", - "任务 002333.SZ 完成\n", "任务 002332.SZ 完成\n", + "任务 002333.SZ 完成\n", "任务 002334.SZ 完成\n", "任务 002335.SZ 完成\n", "任务 002336.SZ 完成\n", @@ -934,14 +934,14 @@ "任务 002348.SZ 完成\n", "任务 002349.SZ 完成\n", "任务 002350.SZ 完成\n", + "任务 002351.SZ 完成\n", + "任务 002352.SZ 完成\n", "任务 002353.SZ 完成\n", "任务 002354.SZ 完成\n", "任务 002355.SZ 完成\n", "任务 002356.SZ 完成\n", "任务 002357.SZ 完成\n", "任务 002358.SZ 完成\n", - "任务 002352.SZ 完成\n", - "任务 002351.SZ 完成\n", "任务 002360.SZ 完成\n", "任务 002361.SZ 完成\n", "任务 002362.SZ 完成\n", @@ -968,18 +968,18 @@ "任务 002383.SZ 完成\n", "任务 002384.SZ 完成\n", "任务 002385.SZ 完成\n", - "任务 002387.SZ 完成\n", "任务 002386.SZ 完成\n", - "任务 002389.SZ 完成\n", + "任务 002387.SZ 完成\n", "任务 002388.SZ 完成\n", + "任务 002389.SZ 完成\n", "任务 002390.SZ 完成\n", - "任务 002392.SZ 完成\n", "任务 002391.SZ 完成\n", - "任务 002394.SZ 完成\n", + "任务 002392.SZ 完成\n", "任务 002393.SZ 完成\n", + "任务 002394.SZ 完成\n", "任务 002395.SZ 完成\n", - "任务 002397.SZ 完成\n", "任务 002396.SZ 完成\n", + "任务 002397.SZ 完成\n", "任务 002398.SZ 完成\n", "任务 002399.SZ 完成\n", "任务 002400.SZ 完成\n", @@ -1003,23 +1003,23 @@ "任务 002420.SZ 完成\n", "任务 002421.SZ 完成\n", "任务 002422.SZ 完成\n", - "任务 002424.SZ 完成\n", "任务 002423.SZ 完成\n", - "任务 002426.SZ 完成\n", + "任务 002424.SZ 完成\n", "任务 002425.SZ 完成\n", + "任务 002426.SZ 完成\n", "任务 002427.SZ 完成\n", "任务 002428.SZ 完成\n", "任务 002429.SZ 完成\n", - "任务 002431.SZ 完成\n", "任务 002430.SZ 完成\n", + "任务 002431.SZ 完成\n", "任务 002432.SZ 完成\n", - "任务 002436.SZ 完成\n", "任务 002434.SZ 完成\n", + "任务 002436.SZ 完成\n", "任务 002437.SZ 完成\n", "任务 002438.SZ 完成\n", "任务 002439.SZ 完成\n", - "任务 002441.SZ 完成\n", "任务 002440.SZ 完成\n", + "任务 002441.SZ 完成\n", "任务 002442.SZ 完成\n", "任务 002443.SZ 完成\n", "任务 002444.SZ 完成\n", @@ -1048,15 +1048,15 @@ "任务 002470.SZ 完成\n", "任务 002471.SZ 完成\n", "任务 002472.SZ 完成\n", - "任务 002475.SZ 完成\n", "任务 002474.SZ 完成\n", - "任务 002476.SZ 完成\n", + "任务 002475.SZ 完成\n", "任务 002478.SZ 完成\n", + "任务 002476.SZ 完成\n", "任务 002479.SZ 完成\n", "任务 002480.SZ 完成\n", "任务 002481.SZ 完成\n", - "任务 002483.SZ 完成\n", "任务 002482.SZ 完成\n", + "任务 002483.SZ 完成\n", "任务 002484.SZ 完成\n", "任务 002485.SZ 完成\n", "任务 002486.SZ 完成\n", @@ -1093,8 +1093,8 @@ "任务 002523.SZ 完成\n", "任务 002524.SZ 完成\n", "任务 002526.SZ 完成\n", - "任务 002528.SZ 完成\n", "任务 002527.SZ 完成\n", + "任务 002528.SZ 完成\n", "任务 002529.SZ 完成\n", "任务 002530.SZ 完成\n", "任务 002531.SZ 完成\n", @@ -1210,13 +1210,13 @@ "任务 002646.SZ 完成\n", "任务 002647.SZ 完成\n", "任务 002648.SZ 完成\n", - "任务 002649.SZ 完成\n", "任务 002650.SZ 完成\n", + "任务 002649.SZ 完成\n", "任务 002651.SZ 完成\n", "任务 002652.SZ 完成\n", "任务 002653.SZ 完成\n", - "任务 002654.SZ 完成\n", "任务 002655.SZ 完成\n", + "任务 002654.SZ 完成\n", "任务 002656.SZ 完成\n", "任务 002657.SZ 完成\n", "任务 002658.SZ 完成\n", @@ -1248,13 +1248,13 @@ "任务 002687.SZ 完成\n", "任务 002688.SZ 完成\n", "任务 002689.SZ 完成\n", - "任务 002691.SZ 完成\n", "任务 002690.SZ 完成\n", + "任务 002691.SZ 完成\n", "任务 002692.SZ 完成\n", "任务 002693.SZ 完成\n", "任务 002694.SZ 完成\n", - "任务 002696.SZ 完成\n", "任务 002695.SZ 完成\n", + "任务 002696.SZ 完成\n", "任务 002697.SZ 完成\n", "任务 002698.SZ 完成\n", "任务 002700.SZ 完成\n", @@ -1263,13 +1263,13 @@ "任务 002703.SZ 完成\n", "任务 002705.SZ 完成\n", "任务 002706.SZ 完成\n", - "任务 002708.SZ 完成\n", "任务 002707.SZ 完成\n", + "任务 002708.SZ 完成\n", "任务 002709.SZ 完成\n", "任务 002712.SZ 完成\n", "任务 002713.SZ 完成\n", - "任务 002715.SZ 完成\n", "任务 002714.SZ 完成\n", + "任务 002715.SZ 完成\n", "任务 002716.SZ 完成\n", "任务 002717.SZ 完成\n", "任务 002718.SZ 完成\n", @@ -1303,8 +1303,8 @@ "任务 002749.SZ 完成\n", "任务 002750.SZ 完成\n", "任务 002752.SZ 完成\n", - "任务 002755.SZ 完成\n", "任务 002753.SZ 完成\n", + "任务 002755.SZ 完成\n", "任务 002756.SZ 完成\n", "任务 002757.SZ 完成\n", "任务 002758.SZ 完成\n", @@ -1328,8 +1328,8 @@ "任务 002779.SZ 完成\n", "任务 002780.SZ 完成\n", "任务 002782.SZ 完成\n", - "任务 002785.SZ 完成\n", "任务 002783.SZ 完成\n", + "任务 002785.SZ 完成\n", "任务 002786.SZ 完成\n", "任务 002787.SZ 完成\n", "任务 002788.SZ 完成\n", @@ -1348,8 +1348,8 @@ "任务 002802.SZ 完成\n", "任务 002803.SZ 完成\n", "任务 002805.SZ 完成\n", - "任务 002807.SZ 完成\n", "任务 002806.SZ 完成\n", + "任务 002807.SZ 完成\n", "任务 002808.SZ 完成\n", "任务 002809.SZ 完成\n", "任务 002810.SZ 完成\n", @@ -1373,8 +1373,8 @@ "任务 002829.SZ 完成\n", "任务 002830.SZ 完成\n", "任务 002831.SZ 完成\n", - "任务 002833.SZ 完成\n", "任务 002832.SZ 完成\n", + "任务 002833.SZ 完成\n", "任务 002835.SZ 完成\n", "任务 002836.SZ 完成\n", "任务 002837.SZ 完成\n", @@ -1519,8 +1519,8 @@ "任务 002988.SZ 完成\n", "任务 002989.SZ 完成\n", "任务 002990.SZ 完成\n", - "任务 002992.SZ 完成\n", "任务 002991.SZ 完成\n", + "任务 002992.SZ 完成\n", "任务 002993.SZ 完成\n", "任务 002995.SZ 完成\n", "任务 002996.SZ 完成\n", @@ -1528,19 +1528,19 @@ "任务 002998.SZ 完成\n", "任务 002999.SZ 完成\n", "任务 003000.SZ 完成\n", - "任务 003002.SZ 完成\n", "任务 003001.SZ 完成\n", + "任务 003002.SZ 完成\n", "任务 003003.SZ 完成\n", "任务 003004.SZ 完成\n", "任务 003005.SZ 完成\n", "任务 003006.SZ 完成\n", "任务 003007.SZ 完成\n", "任务 003008.SZ 完成\n", - "任务 003010.SZ 完成\n", "任务 003009.SZ 完成\n", + "任务 003010.SZ 完成\n", "任务 003011.SZ 完成\n", - "任务 003013.SZ 完成\n", "任务 003012.SZ 完成\n", + "任务 003013.SZ 完成\n", "任务 003015.SZ 完成\n", "任务 003016.SZ 完成\n", "任务 003017.SZ 完成\n", @@ -1561,8 +1561,8 @@ "任务 003033.SZ 完成\n", "任务 003035.SZ 完成\n", "任务 003036.SZ 完成\n", - "任务 003038.SZ 完成\n", "任务 003037.SZ 完成\n", + "任务 003038.SZ 完成\n", "任务 003039.SZ 完成\n", "任务 003040.SZ 完成\n", "任务 003041.SZ 完成\n", @@ -1622,8 +1622,8 @@ "任务 300054.SZ 完成\n", "任务 300055.SZ 完成\n", "任务 300056.SZ 完成\n", - "任务 300057.SZ 完成\n", "任务 300058.SZ 完成\n", + "任务 300057.SZ 完成\n", "任务 300059.SZ 完成\n", "任务 300061.SZ 完成\n", "任务 300062.SZ 完成\n", @@ -1636,8 +1636,8 @@ "任务 300070.SZ 完成\n", "任务 300071.SZ 完成\n", "任务 300072.SZ 完成\n", - "任务 300074.SZ 完成\n", "任务 300073.SZ 完成\n", + "任务 300074.SZ 完成\n", "任务 300075.SZ 完成\n", "任务 300076.SZ 完成\n", "任务 300077.SZ 完成\n", @@ -1678,8 +1678,8 @@ "任务 300115.SZ 完成\n", "任务 300117.SZ 完成\n", "任务 300118.SZ 完成\n", - "任务 300120.SZ 完成\n", "任务 300119.SZ 完成\n", + "任务 300120.SZ 完成\n", "任务 300121.SZ 完成\n", "任务 300122.SZ 完成\n", "任务 300123.SZ 完成\n", @@ -1688,8 +1688,8 @@ "任务 300126.SZ 完成\n", "任务 300127.SZ 完成\n", "任务 300128.SZ 完成\n", - "任务 300130.SZ 完成\n", "任务 300129.SZ 完成\n", + "任务 300130.SZ 完成\n", "任务 300131.SZ 完成\n", "任务 300132.SZ 完成\n", "任务 300133.SZ 完成\n", @@ -1718,8 +1718,8 @@ "任务 300157.SZ 完成\n", "任务 300158.SZ 完成\n", "任务 300159.SZ 完成\n", - "任务 300160.SZ 完成\n", "任务 300161.SZ 完成\n", + "任务 300160.SZ 完成\n", "任务 300162.SZ 完成\n", "任务 300163.SZ 完成\n", "任务 300164.SZ 完成\n", @@ -1776,8 +1776,8 @@ "任务 300219.SZ 完成\n", "任务 300220.SZ 完成\n", "任务 300221.SZ 完成\n", - "任务 300223.SZ 完成\n", "任务 300222.SZ 完成\n", + "任务 300223.SZ 完成\n", "任务 300224.SZ 完成\n", "任务 300225.SZ 完成\n", "任务 300226.SZ 完成\n", @@ -1811,8 +1811,8 @@ "任务 300254.SZ 完成\n", "任务 300255.SZ 完成\n", "任务 300256.SZ 完成\n", - "任务 300258.SZ 完成\n", "任务 300257.SZ 完成\n", + "任务 300258.SZ 完成\n", "任务 300259.SZ 完成\n", "任务 300260.SZ 完成\n", "任务 300261.SZ 完成\n", @@ -1823,8 +1823,8 @@ "任务 300267.SZ 完成\n", "任务 300268.SZ 完成\n", "任务 300269.SZ 完成\n", - "任务 300271.SZ 完成\n", "任务 300270.SZ 完成\n", + "任务 300271.SZ 完成\n", "任务 300272.SZ 完成\n", "任务 300274.SZ 完成\n", "任务 300275.SZ 完成\n", @@ -1856,8 +1856,8 @@ "任务 300303.SZ 完成\n", "任务 300304.SZ 完成\n", "任务 300305.SZ 完成\n", - "任务 300307.SZ 完成\n", "任务 300306.SZ 完成\n", + "任务 300307.SZ 完成\n", "任务 300308.SZ 完成\n", "任务 300310.SZ 完成\n", "任务 300311.SZ 完成\n", @@ -1887,13 +1887,13 @@ "任务 300339.SZ 完成\n", "任务 300340.SZ 完成\n", "任务 300341.SZ 完成\n", - "任务 300342.SZ 完成\n", - "任务 300343.SZ 完成\n", "任务 300344.SZ 完成\n", + "任务 300343.SZ 完成\n", + "任务 300342.SZ 完成\n", "任务 300345.SZ 完成\n", "任务 300346.SZ 完成\n", - "任务 300347.SZ 完成\n", "任务 300348.SZ 完成\n", + "任务 300347.SZ 完成\n", "任务 300349.SZ 完成\n", "任务 300350.SZ 完成\n", "任务 300351.SZ 完成\n", @@ -1918,9 +1918,9 @@ "任务 300375.SZ 完成\n", "任务 300376.SZ 完成\n", "任务 300377.SZ 完成\n", - "任务 300379.SZ 完成\n", "任务 300378.SZ 完成\n", "任务 300380.SZ 完成\n", + "任务 300379.SZ 完成\n", "任务 300381.SZ 完成\n", "任务 300382.SZ 完成\n", "任务 300383.SZ 完成\n", @@ -1928,48 +1928,48 @@ "任务 300385.SZ 完成\n", "任务 300386.SZ 完成\n", "任务 300387.SZ 完成\n", - "任务 300389.SZ 完成\n", "任务 300388.SZ 完成\n", + "任务 300389.SZ 完成\n", "任务 300390.SZ 完成\n", "任务 300391.SZ 完成\n", "任务 300393.SZ 完成\n", - "任务 300395.SZ 完成\n", "任务 300394.SZ 完成\n", + "任务 300395.SZ 完成\n", "任务 300396.SZ 完成\n", "任务 300397.SZ 完成\n", "任务 300398.SZ 完成\n", "任务 300399.SZ 完成\n", - "任务 300401.SZ 完成\n", "任务 300400.SZ 完成\n", - "任务 300403.SZ 完成\n", + "任务 300401.SZ 完成\n", "任务 300402.SZ 完成\n", + "任务 300403.SZ 完成\n", "任务 300404.SZ 完成\n", - "任务 300405.SZ 完成\n", "任务 300406.SZ 完成\n", - "任务 300408.SZ 完成\n", + "任务 300405.SZ 完成\n", "任务 300407.SZ 完成\n", + "任务 300408.SZ 完成\n", "任务 300409.SZ 完成\n", "任务 300410.SZ 完成\n", "任务 300411.SZ 完成\n", "任务 300412.SZ 完成\n", - "任务 300413.SZ 完成\n", "任务 300414.SZ 完成\n", - "任务 300416.SZ 完成\n", + "任务 300413.SZ 完成\n", "任务 300415.SZ 完成\n", + "任务 300416.SZ 完成\n", "任务 300417.SZ 完成\n", - "任务 300418.SZ 完成\n", - "任务 300419.SZ 完成\n", "任务 300420.SZ 完成\n", + "任务 300419.SZ 完成\n", + "任务 300418.SZ 完成\n", "任务 300421.SZ 完成\n", - "任务 300423.SZ 完成\n", "任务 300422.SZ 完成\n", + "任务 300423.SZ 完成\n", "任务 300424.SZ 完成\n", - "任务 300426.SZ 完成\n", "任务 300425.SZ 完成\n", + "任务 300426.SZ 完成\n", "任务 300427.SZ 完成\n", "任务 300428.SZ 完成\n", - "任务 300429.SZ 完成\n", "任务 300430.SZ 完成\n", + "任务 300429.SZ 完成\n", "任务 300432.SZ 完成\n", "任务 300433.SZ 完成\n", "任务 300434.SZ 完成\n", @@ -2027,8 +2027,8 @@ "任务 300486.SZ 完成\n", "任务 300487.SZ 完成\n", "任务 300488.SZ 完成\n", - "任务 300489.SZ 完成\n", "任务 300490.SZ 完成\n", + "任务 300489.SZ 完成\n", "任务 300491.SZ 完成\n", "任务 300492.SZ 完成\n", "任务 300493.SZ 完成\n", @@ -2052,8 +2052,8 @@ "任务 300512.SZ 完成\n", "任务 300513.SZ 完成\n", "任务 300514.SZ 完成\n", - "任务 300515.SZ 完成\n", "任务 300516.SZ 完成\n", + "任务 300515.SZ 完成\n", "任务 300517.SZ 完成\n", "任务 300518.SZ 完成\n", "任务 300519.SZ 完成\n", @@ -2064,11 +2064,11 @@ "任务 300525.SZ 完成\n", "任务 300527.SZ 完成\n", "任务 300528.SZ 完成\n", - "任务 300529.SZ 完成\n", "任务 300530.SZ 完成\n", + "任务 300529.SZ 完成\n", "任务 300531.SZ 完成\n", - "任务 300532.SZ 完成\n", "任务 300533.SZ 完成\n", + "任务 300532.SZ 完成\n", "任务 300534.SZ 完成\n", "任务 300535.SZ 完成\n", "任务 300536.SZ 完成\n", @@ -2085,8 +2085,8 @@ "任务 300548.SZ 完成\n", "任务 300549.SZ 完成\n", "任务 300550.SZ 完成\n", - "任务 300551.SZ 完成\n", "任务 300552.SZ 完成\n", + "任务 300551.SZ 完成\n", "任务 300553.SZ 完成\n", "任务 300554.SZ 完成\n", "任务 300555.SZ 完成\n", @@ -2302,8 +2302,8 @@ "任务 300775.SZ 完成\n", "任务 300776.SZ 完成\n", "任务 300777.SZ 完成\n", - "任务 300779.SZ 完成\n", "任务 300778.SZ 完成\n", + "任务 300779.SZ 完成\n", "任务 300780.SZ 完成\n", "任务 300781.SZ 完成\n", "任务 300782.SZ 完成\n", @@ -2379,11 +2379,11 @@ "任务 300854.SZ 完成\n", "任务 300855.SZ 完成\n", "任务 300856.SZ 完成\n", - "任务 300857.SZ 完成\n", "任务 300858.SZ 完成\n", + "任务 300857.SZ 完成\n", "任务 300859.SZ 完成\n", - "任务 300861.SZ 完成\n", "任务 300860.SZ 完成\n", + "任务 300861.SZ 完成\n", "任务 300862.SZ 完成\n", "任务 300863.SZ 完成\n", "任务 300864.SZ 完成\n", @@ -2409,8 +2409,8 @@ "任务 300885.SZ 完成\n", "任务 300886.SZ 完成\n", "任务 300887.SZ 完成\n", - "任务 300888.SZ 完成\n", "任务 300889.SZ 完成\n", + "任务 300888.SZ 完成\n", "任务 300890.SZ 完成\n", "任务 300891.SZ 完成\n", "任务 300892.SZ 完成\n", @@ -2461,8 +2461,8 @@ "任务 300940.SZ 完成\n", "任务 300941.SZ 完成\n", "任务 300942.SZ 完成\n", - "任务 300945.SZ 完成\n", "任务 300943.SZ 完成\n", + "任务 300945.SZ 完成\n", "任务 300946.SZ 完成\n", "任务 300947.SZ 完成\n", "任务 300948.SZ 完成\n", @@ -2499,8 +2499,8 @@ "任务 300981.SZ 完成\n", "任务 300982.SZ 完成\n", "任务 300983.SZ 完成\n", - "任务 300984.SZ 完成\n", "任务 300985.SZ 完成\n", + "任务 300984.SZ 完成\n", "任务 300986.SZ 完成\n", "任务 300987.SZ 完成\n", "任务 300988.SZ 完成\n", @@ -2529,14 +2529,14 @@ "任务 301011.SZ 完成\n", "任务 301012.SZ 完成\n", "任务 301013.SZ 完成\n", - "任务 301016.SZ 完成\n", "任务 301015.SZ 完成\n", + "任务 301016.SZ 完成\n", "任务 301017.SZ 完成\n", "任务 301018.SZ 完成\n", "任务 301019.SZ 完成\n", "任务 301020.SZ 完成\n", - "任务 301021.SZ 完成\n", "任务 301022.SZ 完成\n", + "任务 301021.SZ 完成\n", "任务 301023.SZ 完成\n", "任务 301024.SZ 完成\n", "任务 301025.SZ 完成\n", @@ -2572,13 +2572,13 @@ "任务 301058.SZ 完成\n", "任务 301059.SZ 完成\n", "任务 301060.SZ 完成\n", - "任务 301062.SZ 完成\n", "任务 301061.SZ 完成\n", + "任务 301062.SZ 完成\n", "任务 301063.SZ 完成\n", "任务 301065.SZ 完成\n", "任务 301066.SZ 完成\n", - "任务 301068.SZ 完成\n", "任务 301067.SZ 完成\n", + "任务 301068.SZ 完成\n", "任务 301069.SZ 完成\n", "任务 301070.SZ 完成\n", "任务 301071.SZ 完成\n", @@ -2674,18 +2674,18 @@ "任务 301179.SZ 完成\n", "任务 301180.SZ 完成\n", "任务 301181.SZ 完成\n", - "任务 301182.SZ 完成\n", "任务 301183.SZ 完成\n", + "任务 301182.SZ 完成\n", "任务 301185.SZ 完成\n", "任务 301186.SZ 完成\n", + "任务 301187.SZ 完成\n", "任务 301188.SZ 完成\n", "任务 301189.SZ 完成\n", - "任务 301187.SZ 完成\n", "任务 301190.SZ 完成\n", "任务 301191.SZ 完成\n", "任务 301192.SZ 完成\n", - "任务 301195.SZ 完成\n", "任务 301193.SZ 完成\n", + "任务 301195.SZ 完成\n", "任务 301196.SZ 完成\n", "任务 301197.SZ 完成\n", "任务 301198.SZ 完成\n", @@ -2694,16 +2694,16 @@ "任务 301201.SZ 完成\n", "任务 301202.SZ 完成\n", "任务 301203.SZ 完成\n", - "任务 301206.SZ 完成\n", "任务 301205.SZ 完成\n", + "任务 301206.SZ 完成\n", "任务 301207.SZ 完成\n", "任务 301208.SZ 完成\n", "任务 301209.SZ 完成\n", "任务 301210.SZ 完成\n", "任务 301211.SZ 完成\n", "任务 301212.SZ 完成\n", - "任务 301215.SZ 完成\n", "任务 301213.SZ 完成\n", + "任务 301215.SZ 完成\n", "任务 301216.SZ 完成\n", "任务 301217.SZ 完成\n", "任务 301218.SZ 完成\n", @@ -2717,8 +2717,8 @@ "任务 301227.SZ 完成\n", "任务 301228.SZ 完成\n", "任务 301229.SZ 完成\n", - "任务 301231.SZ 完成\n", "任务 301230.SZ 完成\n", + "任务 301231.SZ 完成\n", "任务 301232.SZ 完成\n", "任务 301233.SZ 完成\n", "任务 301234.SZ 完成\n", @@ -2750,18 +2750,18 @@ "任务 301273.SZ 完成\n", "任务 301276.SZ 完成\n", "任务 301277.SZ 完成\n", - "任务 301278.SZ 完成\n", "任务 301279.SZ 完成\n", + "任务 301278.SZ 完成\n", "任务 301280.SZ 完成\n", "任务 301281.SZ 完成\n", "任务 301282.SZ 完成\n", "任务 301283.SZ 完成\n", "任务 301285.SZ 完成\n", - "任务 301286.SZ 完成\n", - "任务 301287.SZ 完成\n", "任务 301288.SZ 完成\n", + "任务 301287.SZ 完成\n", "任务 301289.SZ 完成\n", "任务 301290.SZ 完成\n", + "任务 301286.SZ 完成\n", "任务 301291.SZ 完成\n", "任务 301292.SZ 完成\n", "任务 301293.SZ 完成\n", @@ -2816,8 +2816,8 @@ "任务 301357.SZ 完成\n", "任务 301358.SZ 完成\n", "任务 301359.SZ 完成\n", - "任务 301361.SZ 完成\n", "任务 301360.SZ 完成\n", + "任务 301361.SZ 完成\n", "任务 301362.SZ 完成\n", "任务 301363.SZ 完成\n", "任务 301365.SZ 完成\n", @@ -2918,8 +2918,8 @@ "任务 301587.SZ 完成\n", "任务 301588.SZ 完成\n", "任务 301589.SZ 完成\n", - "任务 301592.SZ 完成\n", "任务 301591.SZ 完成\n", + "任务 301592.SZ 完成\n", "任务 301596.SZ 完成\n", "任务 301598.SZ 完成\n", "任务 301600.SZ 完成\n", @@ -3027,14 +3027,14 @@ "任务 600098.SH 完成\n", "任务 600099.SH 完成\n", "任务 600100.SH 完成\n", - "任务 600101.SH 完成\n", "任务 600103.SH 完成\n", + "任务 600101.SH 完成\n", "任务 600104.SH 完成\n", "任务 600105.SH 完成\n", "任务 600106.SH 完成\n", "任务 600107.SH 完成\n", - "任务 600109.SH 完成\n", "任务 600108.SH 完成\n", + "任务 600109.SH 完成\n", "任务 600110.SH 完成\n", "任务 600111.SH 完成\n", "任务 600113.SH 完成\n", @@ -3046,9 +3046,9 @@ "任务 600119.SH 完成\n", "任务 600120.SH 完成\n", "任务 600121.SH 完成\n", - "任务 600125.SH 完成\n", "任务 600123.SH 完成\n", "任务 600126.SH 完成\n", + "任务 600125.SH 完成\n", "任务 600127.SH 完成\n", "任务 600128.SH 完成\n", "任务 600129.SH 完成\n", @@ -3061,9 +3061,9 @@ "任务 600137.SH 完成\n", "任务 600138.SH 完成\n", "任务 600141.SH 完成\n", + "任务 600149.SH 完成\n", "任务 600143.SH 完成\n", "任务 600148.SH 完成\n", - "任务 600149.SH 完成\n", "任务 600150.SH 完成\n", "任务 600151.SH 完成\n", "任务 600152.SH 完成\n", @@ -3096,8 +3096,8 @@ "任务 600184.SH 完成\n", "任务 600185.SH 完成\n", "任务 600186.SH 完成\n", - "任务 600188.SH 完成\n", "任务 600187.SH 完成\n", + "任务 600188.SH 完成\n", "任务 600189.SH 完成\n", "任务 600190.SH 完成\n", "任务 600191.SH 完成\n", @@ -3117,8 +3117,8 @@ "任务 600208.SH 完成\n", "任务 600210.SH 完成\n", "任务 600211.SH 完成\n", - "任务 600212.SH 完成\n", "任务 600215.SH 完成\n", + "任务 600212.SH 完成\n", "任务 600216.SH 完成\n", "任务 600217.SH 完成\n", "任务 600218.SH 完成\n", @@ -3126,8 +3126,8 @@ "任务 600221.SH 完成\n", "任务 600222.SH 完成\n", "任务 600223.SH 完成\n", - "任务 600226.SH 完成\n", "任务 600225.SH 完成\n", + "任务 600226.SH 完成\n", "任务 600227.SH 完成\n", "任务 600228.SH 完成\n", "任务 600229.SH 完成\n", @@ -3151,8 +3151,8 @@ "任务 600252.SH 完成\n", "任务 600255.SH 完成\n", "任务 600256.SH 完成\n", - "任务 600258.SH 完成\n", "任务 600257.SH 完成\n", + "任务 600258.SH 完成\n", "任务 600259.SH 完成\n", "任务 600261.SH 完成\n", "任务 600262.SH 完成\n", @@ -3182,8 +3182,8 @@ "任务 600298.SH 完成\n", "任务 600299.SH 完成\n", "任务 600300.SH 完成\n", - "任务 600301.SH 完成\n", "任务 600302.SH 完成\n", + "任务 600301.SH 完成\n", "任务 600303.SH 完成\n", "任务 600305.SH 完成\n", "任务 600307.SH 完成\n", @@ -3356,10 +3356,10 @@ "任务 600535.SH 完成\n", "任务 600536.SH 完成\n", "任务 600537.SH 完成\n", - "任务 600538.SH 完成\n", "任务 600539.SH 完成\n", - "任务 600540.SH 完成\n", + "任务 600538.SH 完成\n", "任务 600543.SH 完成\n", + "任务 600540.SH 完成\n", "任务 600545.SH 完成\n", "任务 600546.SH 完成\n", "任务 600547.SH 完成\n", @@ -3401,8 +3401,8 @@ "任务 600589.SH 完成\n", "任务 600590.SH 完成\n", "任务 600592.SH 完成\n", - "任务 600593.SH 完成\n", "任务 600594.SH 完成\n", + "任务 600593.SH 完成\n", "任务 600595.SH 完成\n", "任务 600596.SH 完成\n", "任务 600597.SH 完成\n", @@ -3416,13 +3416,13 @@ "任务 600605.SH 完成\n", "任务 600606.SH 完成\n", "任务 600608.SH 完成\n", - "任务 600610.SH 完成\n", "任务 600609.SH 完成\n", + "任务 600610.SH 完成\n", "任务 600611.SH 完成\n", "任务 600612.SH 完成\n", "任务 600613.SH 完成\n", - "任务 600616.SH 完成\n", "任务 600615.SH 完成\n", + "任务 600616.SH 完成\n", "任务 600618.SH 完成\n", "任务 600617.SH 完成\n", "任务 600619.SH 完成\n", @@ -3451,8 +3451,8 @@ "任务 600649.SH 完成\n", "任务 600650.SH 完成\n", "任务 600651.SH 完成\n", - "任务 600653.SH 完成\n", "任务 600654.SH 完成\n", + "任务 600653.SH 完成\n", "任务 600655.SH 完成\n", "任务 600657.SH 完成\n", "任务 600658.SH 完成\n", @@ -3461,18 +3461,18 @@ "任务 600662.SH 完成\n", "任务 600663.SH 完成\n", "任务 600664.SH 完成\n", - "任务 600665.SH 完成\n", "任务 600666.SH 完成\n", + "任务 600665.SH 完成\n", "任务 600667.SH 完成\n", "任务 600668.SH 完成\n", "任务 600671.SH 完成\n", "任务 600673.SH 完成\n", "任务 600674.SH 完成\n", - "任务 600675.SH 完成\n", "任务 600676.SH 完成\n", + "任务 600675.SH 完成\n", "任务 600678.SH 完成\n", - "任务 600681.SH 完成\n", "任务 600679.SH 完成\n", + "任务 600681.SH 完成\n", "任务 600682.SH 完成\n", "任务 600683.SH 完成\n", "任务 600684.SH 完成\n", @@ -3527,8 +3527,8 @@ "任务 600739.SH 完成\n", "任务 600740.SH 完成\n", "任务 600741.SH 完成\n", - "任务 600742.SH 完成\n", "任务 600743.SH 完成\n", + "任务 600742.SH 完成\n", "任务 600744.SH 完成\n", "任务 600745.SH 完成\n", "任务 600746.SH 完成\n", @@ -3551,8 +3551,8 @@ "任务 600768.SH 完成\n", "任务 600769.SH 完成\n", "任务 600770.SH 完成\n", - "任务 600771.SH 完成\n", "任务 600773.SH 完成\n", + "任务 600771.SH 完成\n", "任务 600774.SH 完成\n", "任务 600775.SH 完成\n", "任务 600776.SH 完成\n", @@ -3577,8 +3577,8 @@ "任务 600798.SH 完成\n", "任务 600800.SH 完成\n", "任务 600801.SH 完成\n", - "任务 600802.SH 完成\n", "任务 600803.SH 完成\n", + "任务 600802.SH 完成\n", "任务 600804.SH 完成\n", "任务 600805.SH 完成\n", "任务 600807.SH 完成\n", @@ -3586,8 +3586,8 @@ "任务 600809.SH 完成\n", "任务 600810.SH 完成\n", "任务 600811.SH 完成\n", - "任务 600812.SH 完成\n", "任务 600814.SH 完成\n", + "任务 600812.SH 完成\n", "任务 600815.SH 完成\n", "任务 600816.SH 完成\n", "任务 600817.SH 完成\n", @@ -3603,8 +3603,8 @@ "任务 600828.SH 完成\n", "任务 600829.SH 完成\n", "任务 600830.SH 完成\n", - "任务 600831.SH 完成\n", "任务 600833.SH 完成\n", + "任务 600831.SH 完成\n", "任务 600834.SH 完成\n", "任务 600835.SH 完成\n", "任务 600837.SH 完成\n", @@ -3616,16 +3616,16 @@ "任务 600845.SH 完成\n", "任务 600846.SH 完成\n", "任务 600847.SH 完成\n", - "任务 600848.SH 完成\n", "任务 600850.SH 完成\n", + "任务 600848.SH 完成\n", "任务 600851.SH 完成\n", "任务 600853.SH 完成\n", "任务 600854.SH 完成\n", "任务 600855.SH 完成\n", "任务 600857.SH 完成\n", "任务 600858.SH 完成\n", - "任务 600859.SH 完成\n", "任务 600860.SH 完成\n", + "任务 600859.SH 完成\n", "任务 600861.SH 完成\n", "任务 600862.SH 完成\n", "任务 600863.SH 完成\n", @@ -3659,8 +3659,8 @@ "任务 600895.SH 完成\n", "任务 600897.SH 完成\n", "任务 600898.SH 完成\n", - "任务 600900.SH 完成\n", "任务 600901.SH 完成\n", + "任务 600900.SH 完成\n", "任务 600903.SH 完成\n", "任务 600905.SH 完成\n", "任务 600906.SH 完成\n", @@ -3708,8 +3708,8 @@ "任务 600984.SH 完成\n", "任务 600985.SH 完成\n", "任务 600986.SH 完成\n", - "任务 600987.SH 完成\n", "任务 600988.SH 完成\n", + "任务 600987.SH 完成\n", "任务 600989.SH 完成\n", "任务 600990.SH 完成\n", "任务 600992.SH 完成\n", @@ -3718,11 +3718,11 @@ "任务 600996.SH 完成\n", "任务 600997.SH 完成\n", "任务 600998.SH 完成\n", - "任务 600999.SH 完成\n", "任务 601000.SH 完成\n", + "任务 600999.SH 完成\n", "任务 601001.SH 完成\n", - "任务 601002.SH 完成\n", "任务 601003.SH 完成\n", + "任务 601002.SH 完成\n", "任务 601005.SH 完成\n", "任务 601006.SH 完成\n", "任务 601007.SH 完成\n", @@ -3813,8 +3813,8 @@ "任务 601319.SH 完成\n", "任务 601326.SH 完成\n", "任务 601328.SH 完成\n", - "任务 601330.SH 完成\n", "任务 601333.SH 完成\n", + "任务 601330.SH 完成\n", "任务 601336.SH 完成\n", "任务 601339.SH 完成\n", "任务 601360.SH 完成\n", @@ -3843,21 +3843,21 @@ "任务 601588.SH 完成\n", "任务 601595.SH 完成\n", "任务 601598.SH 完成\n", - "任务 601599.SH 完成\n", "任务 601600.SH 完成\n", + "任务 601599.SH 完成\n", "任务 601601.SH 完成\n", "任务 601606.SH 完成\n", "任务 601607.SH 完成\n", "任务 601608.SH 完成\n", "任务 601609.SH 完成\n", "任务 601611.SH 完成\n", - "任务 601615.SH 完成\n", "任务 601616.SH 完成\n", + "任务 601615.SH 完成\n", "任务 601618.SH 完成\n", "任务 601619.SH 完成\n", "任务 601628.SH 完成\n", - "任务 601633.SH 完成\n", "任务 601636.SH 完成\n", + "任务 601633.SH 完成\n", "任务 601658.SH 完成\n", "任务 601665.SH 完成\n", "任务 601666.SH 完成\n", @@ -3919,13 +3919,13 @@ "任务 601918.SH 完成\n", "任务 601919.SH 完成\n", "任务 601921.SH 完成\n", - "任务 601929.SH 完成\n", "任务 601928.SH 完成\n", + "任务 601929.SH 完成\n", "任务 601933.SH 完成\n", "任务 601939.SH 完成\n", "任务 601949.SH 完成\n", - "任务 601956.SH 完成\n", "任务 601952.SH 完成\n", + "任务 601956.SH 完成\n", "任务 601958.SH 完成\n", "任务 601963.SH 完成\n", "任务 601965.SH 完成\n", @@ -3944,8 +3944,8 @@ "任务 601997.SH 完成\n", "任务 601998.SH 完成\n", "任务 601999.SH 完成\n", - "任务 603000.SH 完成\n", "任务 603001.SH 完成\n", + "任务 603000.SH 完成\n", "任务 603002.SH 完成\n", "任务 603003.SH 完成\n", "任务 603004.SH 完成\n", @@ -4194,8 +4194,8 @@ "任务 603319.SH 完成\n", "任务 603320.SH 完成\n", "任务 603321.SH 完成\n", - "任务 603323.SH 完成\n", "任务 603322.SH 完成\n", + "任务 603323.SH 完成\n", "任务 603324.SH 完成\n", "任务 603325.SH 完成\n", "任务 603326.SH 完成\n", @@ -4223,8 +4223,8 @@ "任务 603357.SH 完成\n", "任务 603358.SH 完成\n", "任务 603359.SH 完成\n", - "任务 603363.SH 完成\n", "任务 603360.SH 完成\n", + "任务 603363.SH 完成\n", "任务 603365.SH 完成\n", "任务 603366.SH 完成\n", "任务 603367.SH 完成\n", @@ -4243,8 +4243,8 @@ "任务 603387.SH 完成\n", "任务 603388.SH 完成\n", "任务 603389.SH 完成\n", - "任务 603391.SH 完成\n", "任务 603390.SH 完成\n", + "任务 603391.SH 完成\n", "任务 603392.SH 完成\n", "任务 603393.SH 完成\n", "任务 603395.SH 完成\n", @@ -4286,8 +4286,8 @@ "任务 603533.SH 完成\n", "任务 603535.SH 完成\n", "任务 603536.SH 完成\n", - "任务 603551.SH 完成\n", "任务 603538.SH 完成\n", + "任务 603551.SH 完成\n", "任务 603556.SH 完成\n", "任务 603557.SH 完成\n", "任务 603558.SH 完成\n", @@ -4296,8 +4296,8 @@ "任务 603566.SH 完成\n", "任务 603567.SH 完成\n", "任务 603568.SH 完成\n", - "任务 603577.SH 完成\n", "任务 603569.SH 完成\n", + "任务 603577.SH 完成\n", "任务 603578.SH 完成\n", "任务 603579.SH 完成\n", "任务 603580.SH 完成\n", @@ -4313,8 +4313,8 @@ "任务 603598.SH 完成\n", "任务 603599.SH 完成\n", "任务 603600.SH 完成\n", - "任务 603601.SH 完成\n", "任务 603602.SH 完成\n", + "任务 603601.SH 完成\n", "任务 603605.SH 完成\n", "任务 603606.SH 完成\n", "任务 603607.SH 完成\n", @@ -4424,10 +4424,10 @@ "任务 603803.SH 完成\n", "任务 603806.SH 完成\n", "任务 603808.SH 完成\n", - "任务 603810.SH 完成\n", "任务 603809.SH 完成\n", - "任务 603813.SH 完成\n", + "任务 603810.SH 完成\n", "任务 603811.SH 完成\n", + "任务 603813.SH 完成\n", "任务 603815.SH 完成\n", "任务 603816.SH 完成\n", "任务 603817.SH 完成\n", @@ -4450,8 +4450,8 @@ "任务 603858.SH 完成\n", "任务 603859.SH 完成\n", "任务 603860.SH 完成\n", - "任务 603863.SH 完成\n", "任务 603861.SH 完成\n", + "任务 603863.SH 完成\n", "任务 603866.SH 完成\n", "任务 603867.SH 完成\n", "任务 603868.SH 完成\n", @@ -4489,13 +4489,13 @@ "任务 603917.SH 完成\n", "任务 603918.SH 完成\n", "任务 603919.SH 完成\n", - "任务 603920.SH 完成\n", "任务 603922.SH 完成\n", + "任务 603920.SH 完成\n", "任务 603926.SH 完成\n", "任务 603927.SH 完成\n", "任务 603928.SH 完成\n", - "任务 603929.SH 完成\n", "任务 603931.SH 完成\n", + "任务 603929.SH 完成\n", "任务 603933.SH 完成\n", "任务 603936.SH 完成\n", "任务 603937.SH 完成\n", @@ -4583,8 +4583,8 @@ "任务 605162.SH 完成\n", "任务 605166.SH 完成\n", "任务 605167.SH 完成\n", - "任务 605169.SH 完成\n", "任务 605168.SH 完成\n", + "任务 605169.SH 完成\n", "任务 605177.SH 完成\n", "任务 605178.SH 完成\n", "任务 605179.SH 完成\n", @@ -4648,8 +4648,8 @@ "任务 605589.SH 完成\n", "任务 605598.SH 完成\n", "任务 605599.SH 完成\n", - "任务 688002.SH 完成\n", "任务 688001.SH 完成\n", + "任务 688002.SH 完成\n", "任务 688003.SH 完成\n", "任务 688004.SH 完成\n", "任务 688005.SH 完成\n", @@ -4663,8 +4663,8 @@ "任务 688013.SH 完成\n", "任务 688015.SH 完成\n", "任务 688016.SH 完成\n", - "任务 688018.SH 完成\n", "任务 688017.SH 完成\n", + "任务 688018.SH 完成\n", "任务 688019.SH 完成\n", "任务 688020.SH 完成\n", "任务 688021.SH 完成\n", @@ -4675,8 +4675,8 @@ "任务 688027.SH 完成\n", "任务 688028.SH 完成\n", "任务 688029.SH 完成\n", - "任务 688031.SH 完成\n", "任务 688030.SH 完成\n", + "任务 688031.SH 完成\n", "任务 688032.SH 完成\n", "任务 688033.SH 完成\n", "任务 688035.SH 完成\n", @@ -4708,8 +4708,8 @@ "任务 688067.SH 完成\n", "任务 688068.SH 完成\n", "任务 688069.SH 完成\n", - "任务 688071.SH 完成\n", "任务 688070.SH 完成\n", + "任务 688071.SH 完成\n", "任务 688072.SH 完成\n", "任务 688073.SH 完成\n", "任务 688075.SH 完成\n", @@ -4748,13 +4748,13 @@ "任务 688111.SH 完成\n", "任务 688112.SH 完成\n", "任务 688113.SH 完成\n", - "任务 688115.SH 完成\n", "任务 688114.SH 完成\n", + "任务 688115.SH 完成\n", "任务 688116.SH 完成\n", "任务 688117.SH 完成\n", "任务 688118.SH 完成\n", - "任务 688120.SH 完成\n", "任务 688119.SH 完成\n", + "任务 688120.SH 完成\n", "任务 688121.SH 完成\n", "任务 688122.SH 完成\n", "任务 688123.SH 完成\n", @@ -4784,8 +4784,8 @@ "任务 688155.SH 完成\n", "任务 688156.SH 完成\n", "任务 688157.SH 完成\n", - "任务 688159.SH 完成\n", "任务 688158.SH 完成\n", + "任务 688159.SH 完成\n", "任务 688160.SH 完成\n", "任务 688161.SH 完成\n", "任务 688162.SH 完成\n", @@ -4813,9 +4813,9 @@ "任务 688186.SH 完成\n", "任务 688187.SH 完成\n", "任务 688188.SH 完成\n", + "任务 688189.SH 完成\n", "任务 688190.SH 完成\n", "任务 688191.SH 完成\n", - "任务 688189.SH 完成\n", "任务 688192.SH 完成\n", "任务 688193.SH 完成\n", "任务 688195.SH 完成\n", @@ -4823,23 +4823,23 @@ "任务 688197.SH 完成\n", "任务 688198.SH 完成\n", "任务 688199.SH 完成\n", - "任务 688201.SH 完成\n", "任务 688200.SH 完成\n", + "任务 688201.SH 完成\n", "任务 688202.SH 完成\n", "任务 688203.SH 完成\n", "任务 688205.SH 完成\n", - "任务 688207.SH 完成\n", "任务 688206.SH 完成\n", + "任务 688207.SH 完成\n", "任务 688208.SH 完成\n", "任务 688209.SH 完成\n", "任务 688210.SH 完成\n", - "任务 688212.SH 完成\n", "任务 688211.SH 完成\n", + "任务 688212.SH 完成\n", "任务 688213.SH 完成\n", "任务 688215.SH 完成\n", "任务 688216.SH 完成\n", - "任务 688218.SH 完成\n", "任务 688217.SH 完成\n", + "任务 688218.SH 完成\n", "任务 688219.SH 完成\n", "任务 688220.SH 完成\n", "任务 688221.SH 完成\n", @@ -4963,14 +4963,14 @@ "任务 688360.SH 完成\n", "任务 688361.SH 完成\n", "任务 688362.SH 完成\n", - "任务 688365.SH 完成\n", "任务 688363.SH 完成\n", + "任务 688365.SH 完成\n", "任务 688366.SH 完成\n", "任务 688367.SH 完成\n", "任务 688368.SH 完成\n", "任务 688369.SH 完成\n", - "任务 688370.SH 完成\n", "任务 688371.SH 完成\n", + "任务 688370.SH 完成\n", "任务 688372.SH 完成\n", "任务 688373.SH 完成\n", "任务 688375.SH 完成\n", @@ -5004,8 +5004,8 @@ "任务 688411.SH 完成\n", "任务 688416.SH 完成\n", "任务 688418.SH 完成\n", - "任务 688419.SH 完成\n", "任务 688420.SH 完成\n", + "任务 688419.SH 完成\n", "任务 688425.SH 完成\n", "任务 688426.SH 完成\n", "任务 688428.SH 完成\n", @@ -5028,8 +5028,8 @@ "任务 688472.SH 完成\n", "任务 688475.SH 完成\n", "任务 688478.SH 完成\n", - "任务 688480.SH 完成\n", "任务 688479.SH 完成\n", + "任务 688480.SH 完成\n", "任务 688484.SH 完成\n", "任务 688485.SH 完成\n", "任务 688486.SH 完成\n", @@ -5098,35 +5098,35 @@ "任务 688575.SH 完成\n", "任务 688576.SH 完成\n", "任务 688577.SH 完成\n", - "任务 688579.SH 完成\n", "任务 688578.SH 完成\n", + "任务 688579.SH 完成\n", "任务 688580.SH 完成\n", - "任务 688582.SH 完成\n", "任务 688581.SH 完成\n", + "任务 688582.SH 完成\n", "任务 688583.SH 完成\n", "任务 688584.SH 完成\n", "任务 688585.SH 完成\n", - "任务 688588.SH 完成\n", "任务 688586.SH 完成\n", + "任务 688588.SH 完成\n", "任务 688589.SH 完成\n", "任务 688590.SH 完成\n", "任务 688591.SH 完成\n", "任务 688592.SH 完成\n", "任务 688593.SH 完成\n", - "任务 688596.SH 完成\n", "任务 688595.SH 完成\n", + "任务 688596.SH 完成\n", "任务 688597.SH 完成\n", "任务 688598.SH 完成\n", "任务 688599.SH 完成\n", "任务 688600.SH 完成\n", "任务 688601.SH 完成\n", "任务 688602.SH 完成\n", - "任务 688605.SH 完成\n", "任务 688603.SH 完成\n", + "任务 688605.SH 完成\n", "任务 688606.SH 完成\n", "任务 688607.SH 完成\n", - "任务 688608.SH 完成\n", "任务 688609.SH 完成\n", + "任务 688608.SH 完成\n", "任务 688610.SH 完成\n", "任务 688611.SH 完成\n", "任务 688612.SH 完成\n", @@ -5183,13 +5183,13 @@ "任务 688686.SH 完成\n", "任务 688687.SH 完成\n", "任务 688689.SH 完成\n", - "任务 688691.SH 完成\n", "任务 688690.SH 完成\n", + "任务 688691.SH 完成\n", "任务 688692.SH 完成\n", "任务 688693.SH 完成\n", "任务 688695.SH 完成\n", - "任务 688697.SH 完成\n", "任务 688696.SH 完成\n", + "任务 688697.SH 完成\n", "任务 688698.SH 完成\n", "任务 688699.SH 完成\n", "任务 688700.SH 完成\n", @@ -5215,14 +5215,14 @@ "任务 688750.SH 完成\n", "任务 688758.SH 完成\n", "任务 688766.SH 完成\n", - "任务 688767.SH 完成\n", "任务 688768.SH 完成\n", + "任务 688767.SH 完成\n", "任务 688772.SH 完成\n", "任务 688776.SH 完成\n", "任务 688777.SH 完成\n", "任务 688778.SH 完成\n", - "任务 688786.SH 完成\n", "任务 688779.SH 完成\n", + "任务 688786.SH 完成\n", "任务 688787.SH 完成\n", "任务 688788.SH 完成\n", "任务 688789.SH 完成\n", @@ -5231,8 +5231,8 @@ "任务 688799.SH 完成\n", "任务 688800.SH 完成\n", "任务 688819.SH 完成\n", - "任务 830779.BJ 完成\n", "任务 688981.SH 完成\n", + "任务 830779.BJ 完成\n", "任务 830799.BJ 完成\n", "任务 830809.BJ 完成\n", "任务 830832.BJ 完成\n", @@ -5271,8 +5271,8 @@ "任务 832023.BJ 完成\n", "任务 832089.BJ 完成\n", "任务 832110.BJ 完成\n", - "任务 832149.BJ 完成\n", "任务 832145.BJ 完成\n", + "任务 832149.BJ 完成\n", "任务 832171.BJ 完成\n", "任务 832175.BJ 完成\n", "任务 832225.BJ 完成\n", @@ -5285,14 +5285,14 @@ "任务 832566.BJ 完成\n", "任务 832651.BJ 完成\n", "任务 832662.BJ 完成\n", - "任务 832735.BJ 完成\n", "任务 832786.BJ 完成\n", + "任务 832735.BJ 完成\n", "任务 832802.BJ 完成\n", "任务 832876.BJ 完成\n", "任务 832885.BJ 完成\n", + "任务 832982.BJ 完成\n", "任务 832978.BJ 完成\n", "任务 833030.BJ 完成\n", - "任务 832982.BJ 完成\n", "任务 833075.BJ 完成\n", "任务 833171.BJ 完成\n", "任务 833230.BJ 完成\n", @@ -5306,8 +5306,8 @@ "任务 833455.BJ 完成\n", "任务 833509.BJ 完成\n", "任务 833523.BJ 完成\n", - "任务 833575.BJ 完成\n", "任务 833533.BJ 完成\n", + "任务 833575.BJ 完成\n", "任务 833580.BJ 完成\n", "任务 833751.BJ 完成\n", "任务 833781.BJ 完成\n", @@ -5316,8 +5316,8 @@ "任务 833914.BJ 完成\n", "任务 833943.BJ 完成\n", "任务 834014.BJ 完成\n", - "任务 834033.BJ 完成\n", "任务 834021.BJ 完成\n", + "任务 834033.BJ 完成\n", "任务 834058.BJ 完成\n", "任务 834062.BJ 完成\n", "任务 834261.BJ 完成\n", @@ -5411,8 +5411,8 @@ "任务 839792.BJ 完成\n", "任务 839946.BJ 完成\n", "任务 870199.BJ 完成\n", - "任务 870299.BJ 完成\n", "任务 870204.BJ 完成\n", + "任务 870299.BJ 完成\n", "任务 870357.BJ 完成\n", "任务 870436.BJ 完成\n", "任务 870508.BJ 完成\n", @@ -5464,8 +5464,8 @@ "任务 873726.BJ 完成\n", "任务 873806.BJ 完成\n", "任务 873833.BJ 完成\n", - "任务 920008.BJ 完成\n", "任务 920002.BJ 完成\n", + "任务 920008.BJ 完成\n", "任务 920016.BJ 完成\n", "任务 920019.BJ 完成\n", "任务 920060.BJ 完成\n", @@ -5556,8 +5556,8 @@ "任务 000836.SZ 完成\n", "任务 000861.SZ 完成\n", "任务 000866.SZ 完成\n", - "任务 000918.SZ 完成\n", "任务 000916.SZ 完成\n", + "任务 000918.SZ 完成\n", "任务 000939.SZ 完成\n", "任务 000956.SZ 完成\n", "任务 000961.SZ 完成\n", @@ -5607,8 +5607,8 @@ "任务 002621.SZ 完成\n", "任务 002665.SZ 完成\n", "任务 002680.SZ 完成\n", - "任务 002699.SZ 完成\n", "任务 002684.SZ 完成\n", + "任务 002699.SZ 完成\n", "任务 002711.SZ 完成\n", "任务 002740.SZ 完成\n", "任务 002751.SZ 完成\n", @@ -5634,8 +5634,8 @@ "任务 300297.SZ 完成\n", "任务 300309.SZ 完成\n", "任务 300312.SZ 完成\n", - "任务 300325.SZ 完成\n", "任务 300330.SZ 完成\n", + "任务 300325.SZ 完成\n", "任务 300336.SZ 完成\n", "任务 300356.SZ 完成\n", "任务 300362.SZ 完成\n", @@ -5644,8 +5644,8 @@ "任务 300392.SZ 完成\n", "任务 300431.SZ 完成\n", "任务 300495.SZ 完成\n", - "任务 300526.SZ 完成\n", "任务 300742.SZ 完成\n", + "任务 300526.SZ 完成\n", "任务 300799.SZ 完成\n", "任务 600001.SH 完成\n", "任务 600002.SH 完成\n", @@ -5694,8 +5694,8 @@ "任务 600321.SH 完成\n", "任务 600357.SH 完成\n", "任务 600385.SH 完成\n", - "任务 600393.SH 完成\n", "任务 600401.SH 完成\n", + "任务 600393.SH 完成\n", "任务 600432.SH 完成\n", "任务 600466.SH 完成\n", "任务 600472.SH 完成\n", @@ -5717,8 +5717,8 @@ "任务 600652.SH 完成\n", "任务 600656.SH 完成\n", "任务 600659.SH 完成\n", - "任务 600669.SH 完成\n", "任务 600670.SH 完成\n", + "任务 600669.SH 完成\n", "任务 600672.SH 完成\n", "任务 600677.SH 完成\n", "任务 600680.SH 完成\n", @@ -5735,13 +5735,13 @@ "任务 600767.SH 完成\n", "任务 600772.SH 完成\n", "任务 600781.SH 完成\n", - "任务 600786.SH 完成\n", "任务 600788.SH 完成\n", + "任务 600786.SH 完成\n", "任务 600799.SH 完成\n", "任务 600806.SH 完成\n", "任务 600813.SH 完成\n", - "任务 600823.SH 完成\n", "任务 600832.SH 完成\n", + "任务 600823.SH 完成\n", "任务 600836.SH 完成\n", "任务 600840.SH 完成\n", "任务 600842.SH 完成\n", @@ -5755,8 +5755,8 @@ "任务 600899.SH 完成\n", "任务 600978.SH 完成\n", "任务 600991.SH 完成\n", - "任务 601258.SH 完成\n", "任务 601268.SH 完成\n", + "任务 601258.SH 完成\n", "任务 601299.SH 完成\n", "任务 601558.SH 完成\n", "任务 603133.SH 完成\n", @@ -5838,32 +5838,32 @@ "output_type": "stream", "text": [ " ts_code trade_date open high low close pre_close \\\n", - "0 000006.SZ 20260123 383.09 388.66 381.11 387.07 383.49 \n", - "1 000006.SZ 20260122 380.71 388.66 369.58 383.49 383.49 \n", - "2 000006.SZ 20260121 367.60 398.99 363.62 383.49 371.17 \n", - "3 000006.SZ 20260120 363.62 372.76 360.44 371.17 363.62 \n", - "4 000006.SZ 20260119 365.21 365.61 357.66 363.62 366.01 \n", + "0 000002.SZ 20260206 875.81 883.08 868.55 874.00 886.72 \n", + "1 000002.SZ 20260205 883.08 893.98 879.45 886.72 890.35 \n", + "2 000002.SZ 20260204 850.37 893.98 848.56 890.35 854.01 \n", + "3 000002.SZ 20260203 857.64 866.73 848.56 854.01 850.37 \n", + "4 000002.SZ 20260202 854.01 872.18 846.74 850.37 886.72 \n", "... ... ... ... ... ... ... ... \n", - "25546 689009.SH 20260123 57.32 58.43 56.95 57.84 57.23 \n", - "25547 689009.SH 20260122 55.46 57.25 55.45 57.23 55.24 \n", - "25548 689009.SH 20260121 55.17 55.33 54.35 55.24 55.21 \n", - "25549 689009.SH 20260120 56.09 56.61 54.82 55.21 55.92 \n", - "25550 689009.SH 20260119 55.47 56.61 55.47 55.92 55.44 \n", + "25525 689009.SH 20260206 54.12 55.95 53.61 55.01 54.27 \n", + "25526 689009.SH 20260205 51.84 54.74 51.55 54.27 51.84 \n", + "25527 689009.SH 20260204 51.86 52.00 51.13 51.84 51.76 \n", + "25528 689009.SH 20260203 52.28 52.68 50.98 51.76 51.71 \n", + "25529 689009.SH 20260202 53.40 53.45 51.69 51.71 53.47 \n", "\n", - " change pct_chg vol amount \n", - "0 3.58 0.93 396711.76 384193.870 \n", - "1 0.00 0.00 501899.22 476040.543 \n", - "2 12.32 3.32 833403.16 811281.168 \n", - "3 7.55 2.08 383671.44 354803.451 \n", - "4 -2.39 -0.65 221728.94 202431.659 \n", - "... ... ... ... ... \n", - "25546 0.61 1.07 138715.46 776978.933 \n", - "25547 1.99 3.60 175189.21 956362.751 \n", - "25548 0.03 0.05 96771.07 514472.407 \n", - "25549 -0.71 -1.27 108881.37 582275.030 \n", - "25550 0.48 0.87 105369.36 572176.217 \n", + " change pct_chg vol amount \n", + "0 -12.72 -1.43 1625125.89 783147.720 \n", + "1 -3.63 -0.41 2140934.20 1043758.918 \n", + "2 36.34 4.26 3532548.11 1704989.668 \n", + "3 3.64 0.43 1640339.80 771688.823 \n", + "4 -36.35 -4.10 3010157.23 1422202.501 \n", + "... ... ... ... ... \n", + "25525 0.74 1.36 99336.50 529869.684 \n", + "25526 2.43 4.69 141710.45 732921.610 \n", + "25527 0.08 0.15 83203.05 414900.502 \n", + "25528 0.05 0.10 105209.16 526921.888 \n", + "25529 -1.76 -3.29 105949.45 538812.006 \n", "\n", - "[25551 rows x 11 columns]\n" + "[25530 rows x 11 columns]\n" ] } ], diff --git a/main/data/update/update_money_flow.ipynb b/main/data/update/update_money_flow.ipynb index 7514a0c..1876b3a 100644 --- a/main/data/update/update_money_flow.ipynb +++ b/main/data/update/update_money_flow.ipynb @@ -34,17 +34,17 @@ "output_type": "stream", "text": [ "\n", - "Index: 9336127 entries, 0 to 25845\n", + "Index: 9387872 entries, 0 to 25863\n", "Data columns (total 2 columns):\n", " # Column Dtype \n", "--- ------ ----- \n", " 0 ts_code object\n", " 1 trade_date object\n", "dtypes: object(2)\n", - "memory usage: 213.7+ MB\n", + "memory usage: 214.9+ MB\n", "None\n", - "20260116\n", - "start_date: 20260119\n" + "20260130\n", + "start_date: 20260202\n" ] } ], @@ -61,7 +61,7 @@ " max_date = df['trade_date'].max()\n", "\n", "print(max_date)\n", - "trade_cal = pro.trade_cal(exchange='', start_date='20170101', end_date='20260201')\n", + "trade_cal = pro.trade_cal(exchange='', start_date='20170101', end_date='20260310')\n", "trade_cal = trade_cal[trade_cal['is_open'] == 1] # 只保留交易日\n", "trade_dates = trade_cal[trade_cal['cal_date'] > max_date]['cal_date'].tolist()\n", "start_date = min(trade_dates)\n", @@ -84,16 +84,27 @@ "name": "stdout", "output_type": "stream", "text": [ - "任务 20260129 完成\n", - "任务 20260130 完成\n", - "任务 20260128 完成\n", - "任务 20260127 完成\n", - "任务 20260126 完成\n", - "任务 20260123 完成\n", - "任务 20260122 完成\n", - "任务 20260121 完成\n", - "任务 20260120 完成\n", - "任务 20260119 完成\n" + "任务 20260310 完成\n", + "任务 20260309 完成\n", + "任务 20260306 完成\n", + "任务 20260305 完成\n", + "任务 20260304 完成\n", + "任务 20260303 完成\n", + "任务 20260302 完成\n", + "任务 20260227 完成\n", + "任务 20260226 完成\n", + "任务 20260225 完成\n", + "任务 20260224 完成\n", + "任务 20260213 完成\n", + "任务 20260212 完成\n", + "任务 20260211 完成\n", + "任务 20260210 完成\n", + "任务 20260209 完成\n", + "任务 20260206 完成\n", + "任务 20260205 完成\n", + "任务 20260204 完成\n", + "任务 20260203 完成\n", + "任务 20260202 完成\n" ] } ], @@ -183,71 +194,71 @@ "output_type": "stream", "text": [ " ts_code trade_date buy_sm_vol buy_sm_amount sell_sm_vol \\\n", - "0 300284.SZ 20260123 57213 4682.01 45561 \n", - "1 002835.SZ 20260123 10930 1886.39 9809 \n", - "2 603175.SH 20260123 28945 21106.65 29993 \n", - "3 600284.SH 20260123 62561 5324.31 55101 \n", - "4 300855.SZ 20260123 41944 15903.55 33566 \n", + "0 002397.SZ 20260206 143016 6566.04 142640 \n", + "1 603882.SH 20260206 32234 10009.25 31819 \n", + "2 002824.SZ 20260206 58407 13856.33 47164 \n", + "3 603379.SH 20260206 31545 21744.99 30955 \n", + "4 600223.SH 20260206 73778 5582.50 67552 \n", "... ... ... ... ... ... \n", - "25876 600211.SH 20260119 10915 4796.09 12174 \n", - "25877 601229.SH 20260119 225161 21704.91 267726 \n", - "25878 003042.SZ 20260119 17500 2893.60 11703 \n", - "25879 601155.SH 20260119 75731 11076.12 70817 \n", - "25880 600169.SH 20260119 81734 2005.16 84188 \n", + "25871 002774.SZ 20260202 32854 3675.61 20566 \n", + "25872 300188.SZ 20260202 54005 7416.58 48176 \n", + "25873 688173.SH 20260202 64149 10373.20 68049 \n", + "25874 300145.SZ 20260202 132990 6043.37 133529 \n", + "25875 300205.SZ 20260202 8361 364.75 6236 \n", "\n", " sell_sm_amount buy_md_vol buy_md_amount sell_md_vol sell_md_amount \\\n", - "0 3728.28 48486 3966.28 59366 4856.95 \n", - "1 1693.39 6499 1121.44 6017 1038.84 \n", - "2 21840.97 22701 16511.38 23142 16835.79 \n", - "3 4687.48 68181 5800.70 62114 5285.81 \n", - "4 12712.79 35383 13409.44 40111 15213.47 \n", + "0 6550.08 114346 5247.29 121777 5580.76 \n", + "1 9880.13 15560 4828.56 14519 4506.56 \n", + "2 11195.49 27988 6622.95 30015 7118.27 \n", + "3 21323.49 21708 14968.66 21044 14503.09 \n", + "4 5110.61 53914 4075.02 53354 4037.48 \n", "... ... ... ... ... ... \n", - "25876 5348.74 9594 4215.26 8253 3626.54 \n", - "25877 25799.99 204041 19664.19 207361 19990.67 \n", - "25878 1933.74 11780 1946.25 14398 2379.72 \n", - "25879 10351.64 45622 6659.41 46251 6765.59 \n", - "25880 2063.68 129391 3172.21 137053 3360.95 \n", + "25871 2300.99 20761 2320.61 21785 2437.00 \n", + "25872 6623.07 52821 7250.13 53449 7347.52 \n", + "25873 11000.03 35320 5706.28 30270 4895.56 \n", + "25874 6066.65 114646 5208.71 97260 4422.03 \n", + "25875 272.25 9374 408.60 9827 427.93 \n", "\n", " buy_lg_vol buy_lg_amount sell_lg_vol sell_lg_amount buy_elg_vol \\\n", - "0 39133 3201.55 32920 2693.69 6576 \n", - "1 4067 702.11 4633 799.04 241 \n", - "2 11291 8249.67 11377 8302.90 3400 \n", - "3 46517 3960.29 57644 4906.75 23366 \n", - "4 24315 9212.24 24640 9342.34 5111 \n", + "0 85477 3926.44 87204 3989.37 28400 \n", + "1 5474 1697.68 6390 1982.08 721 \n", + "2 11723 2778.17 15330 3630.71 3939 \n", + "3 13069 9000.74 15789 10882.14 7583 \n", + "4 27279 2062.59 22583 1709.48 10118 \n", "... ... ... ... ... ... \n", - "25876 5507 2419.57 5204 2286.10 2 \n", - "25877 134694 12983.30 86737 8363.03 24453 \n", - "25878 4038 668.49 7218 1194.87 0 \n", - "25879 23725 3458.86 23634 3453.46 21891 \n", - "25880 63062 1545.61 49278 1208.05 5904 \n", + "25871 8975 1002.99 18793 2100.36 0 \n", + "25872 31050 4271.36 35903 4923.97 7655 \n", + "25873 11829 1915.52 12687 2050.68 2000 \n", + "25874 81164 3682.66 113414 5149.25 41421 \n", + "25875 6887 302.35 8559 375.51 0 \n", "\n", " buy_elg_amount sell_elg_vol sell_elg_amount net_mf_vol \\\n", - "0 539.18 13561 1110.11 -4914 \n", - "1 41.60 1278 220.26 1923 \n", - "2 2437.55 1825 1325.59 1620 \n", - "3 1991.65 25767 2196.91 46602 \n", - "4 1934.73 8437 3191.36 -19491 \n", + "0 1293.83 19618 913.39 42201 \n", + "1 223.34 1261 390.07 -823 \n", + "2 935.53 9548 2248.51 2997 \n", + "3 5221.72 6117 4227.39 6215 \n", + "4 766.07 21600 1628.62 -9839 \n", "... ... ... ... ... \n", - "25876 0.88 388 170.41 -44 \n", - "25877 2359.23 26525 2557.95 -37774 \n", - "25878 0.00 0 0.00 6587 \n", - "25879 3125.39 26267 3749.10 28653 \n", - "25880 144.65 9571 234.95 -10865 \n", + "25871 0.00 1446 160.86 -20182 \n", + "25872 1053.35 8003 1096.85 -12903 \n", + "25873 319.00 2291 367.73 -5670 \n", + "25874 1881.32 26018 1178.15 -70082 \n", + "25875 0.00 0 0.00 -1678 \n", "\n", " net_mf_amount \n", - "0 -391.89 \n", - "1 333.04 \n", - "2 1372.40 \n", - "3 3982.07 \n", - "4 -7354.89 \n", + "0 1943.09 \n", + "1 -246.33 \n", + "2 705.13 \n", + "3 4367.94 \n", + "4 -741.40 \n", "... ... \n", - "25876 -16.04 \n", - "25877 -3603.98 \n", - "25878 1092.73 \n", - "25879 4152.29 \n", - "25880 -256.23 \n", + "25871 -2251.19 \n", + "25872 -1769.73 \n", + "25873 -918.58 \n", + "25874 -3146.31 \n", + "25875 -68.42 \n", "\n", - "[25881 rows x 20 columns]\n" + "[25876 rows x 20 columns]\n" ] } ], diff --git a/main/data/update/update_stk_limit.ipynb b/main/data/update/update_stk_limit.ipynb index cf540b9..b09e563 100644 --- a/main/data/update/update_stk_limit.ipynb +++ b/main/data/update/update_stk_limit.ipynb @@ -34,23 +34,23 @@ "output_type": "stream", "text": [ " ts_code trade_date\n", - "4959 600211.SH 20260116\n", - "4960 600212.SH 20260116\n", - "4961 600215.SH 20260116\n", - "4949 600197.SH 20260116\n", - "3732 301501.SZ 20260116\n", + "4971 600208.SH 20260130\n", + "4972 600210.SH 20260130\n", + "4973 600211.SH 20260130\n", + "4961 600195.SH 20260130\n", + "7441 920964.BJ 20260130\n", "\n", - "Index: 11701107 entries, 0 to 37139\n", + "Index: 11775527 entries, 0 to 37233\n", "Data columns (total 2 columns):\n", " # Column Dtype \n", "--- ------ ----- \n", " 0 ts_code object\n", " 1 trade_date object\n", "dtypes: object(2)\n", - "memory usage: 267.8+ MB\n", + "memory usage: 269.5+ MB\n", "None\n", - "20260116\n", - "20260119\n" + "20260130\n", + "20260202\n" ] } ], @@ -68,7 +68,7 @@ " max_date = df['trade_date'].max()\n", "\n", "print(max_date)\n", - "trade_cal = pro.trade_cal(exchange='', start_date='20170101', end_date='20260201')\n", + "trade_cal = pro.trade_cal(exchange='', start_date='20170101', end_date='20260310')\n", "trade_cal = trade_cal[trade_cal['is_open'] == 1] # 只保留交易日\n", "trade_dates = trade_cal[trade_cal['cal_date'] > max_date]['cal_date'].tolist()\n", "start_date = min(trade_dates)\n", @@ -91,22 +91,27 @@ "name": "stdout", "output_type": "stream", "text": [ - "任务 20260130 完成\n", - "任务 20260129 完成\n", - "任务 20260128 完成\n", - "任务 20260127 完成\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "任务 20260126 完成\n", - "任务 20260123 完成\n", - "任务 20260122 完成\n", - "任务 20260121 完成\n", - "任务 20260120 完成\n", - "任务 20260119 完成\n" + "任务 20260310 完成\n", + "任务 20260309 完成\n", + "任务 20260306 完成\n", + "任务 20260305 完成\n", + "任务 20260303 完成\n", + "任务 20260304 完成\n", + "任务 20260302 完成\n", + "任务 20260227 完成\n", + "任务 20260226 完成\n", + "任务 20260225 完成\n", + "任务 20260224 完成\n", + "任务 20260213 完成\n", + "任务 20260212 完成\n", + "任务 20260211 完成\n", + "任务 20260210 完成\n", + "任务 20260209 完成\n", + "任务 20260206 完成\n", + "任务 20260205 完成\n", + "任务 20260204 完成\n", + "任务 20260203 完成\n", + "任务 20260202 完成\n" ] } ], @@ -158,71 +163,71 @@ "output_type": "stream", "text": [ "[ trade_date ts_code up_limit down_limit\n", - "0 20260123 000001.SZ 12.18 9.96\n", - "1 20260123 000002.SZ 5.45 4.46\n", - "2 20260123 000004.SZ 12.59 11.39\n", - "3 20260123 000006.SZ 10.62 8.69\n", - "4 20260123 000007.SZ 12.47 10.21\n", + "0 20260206 000001.SZ 12.20 9.98\n", + "1 20260206 000002.SZ 5.37 4.39\n", + "2 20260206 000004.SZ 10.79 9.77\n", + "3 20260206 000006.SZ 9.90 8.10\n", + "4 20260206 000007.SZ 12.31 10.07\n", "... ... ... ... ...\n", - "7435 20260123 920978.BJ 44.56 24.00\n", - "7436 20260123 920981.BJ 45.61 24.57\n", - "7437 20260123 920982.BJ 295.08 158.90\n", - "7438 20260123 920985.BJ 10.20 5.50\n", - "7439 20260123 920992.BJ 24.32 13.10\n", + "7459 20260206 920978.BJ 41.60 22.40\n", + "7460 20260206 920981.BJ 41.63 22.43\n", + "7461 20260206 920982.BJ 298.63 160.81\n", + "7462 20260206 920985.BJ 11.37 6.13\n", + "7463 20260206 920992.BJ 22.32 12.02\n", "\n", - "[7440 rows x 4 columns], trade_date ts_code up_limit down_limit\n", - "0 20260122 000001.SZ 12.18 9.96\n", - "1 20260122 000002.SZ 5.51 4.51\n", - "2 20260122 000004.SZ 11.99 10.85\n", - "3 20260122 000006.SZ 10.62 8.69\n", - "4 20260122 000007.SZ 12.41 10.15\n", + "[7464 rows x 4 columns], trade_date ts_code up_limit down_limit\n", + "0 20260205 000001.SZ 12.07 9.87\n", + "1 20260205 000002.SZ 5.39 4.41\n", + "2 20260205 000004.SZ 11.36 10.28\n", + "3 20260205 000006.SZ 9.97 8.15\n", + "4 20260205 000007.SZ 12.32 10.08\n", "... ... ... ... ...\n", - "7433 20260122 920978.BJ 45.48 24.50\n", - "7434 20260122 920981.BJ 45.61 24.57\n", - "7435 20260122 920982.BJ 301.76 162.50\n", - "7436 20260122 920985.BJ 9.84 5.30\n", - "7437 20260122 920992.BJ 23.95 12.91\n", + "7454 20260205 920978.BJ 41.48 22.34\n", + "7455 20260205 920981.BJ 42.00 22.62\n", + "7456 20260205 920982.BJ 289.43 155.85\n", + "7457 20260205 920985.BJ 12.16 6.56\n", + "7458 20260205 920992.BJ 22.32 12.02\n", "\n", - "[7438 rows x 4 columns], trade_date ts_code up_limit down_limit\n", - "0 20260121 000001.SZ 12.28 10.04\n", - "1 20260121 000002.SZ 5.27 4.31\n", - "2 20260121 000004.SZ 12.02 10.88\n", - "3 20260121 000006.SZ 10.27 8.41\n", - "4 20260121 000007.SZ 12.08 9.88\n", + "[7459 rows x 4 columns], trade_date ts_code up_limit down_limit\n", + "0 20260204 000001.SZ 11.92 9.76\n", + "1 20260204 000002.SZ 5.17 4.23\n", + "2 20260204 000004.SZ 11.96 10.82\n", + "3 20260204 000006.SZ 9.77 7.99\n", + "4 20260204 000007.SZ 12.32 10.08\n", "... ... ... ... ...\n", - "7433 20260121 920978.BJ 45.60 24.56\n", - "7434 20260121 920981.BJ 43.81 23.59\n", - "7435 20260121 920982.BJ 304.34 163.88\n", - "7436 20260121 920985.BJ 9.90 5.34\n", - "7437 20260121 920992.BJ 24.11 12.99\n", + "7453 20260204 920978.BJ 38.15 20.55\n", + "7454 20260204 920981.BJ 43.01 23.17\n", + "7455 20260204 920982.BJ 279.50 150.50\n", + "7456 20260204 920985.BJ 10.66 5.74\n", + "7457 20260204 920992.BJ 22.28 12.00\n", "\n", - "[7438 rows x 4 columns], trade_date ts_code up_limit down_limit\n", - "0 20260120 000001.SZ 12.23 10.01\n", - "1 20260120 000002.SZ 5.20 4.26\n", - "2 20260120 000004.SZ 11.46 10.36\n", - "3 20260120 000006.SZ 10.07 8.24\n", - "4 20260120 000007.SZ 12.49 10.22\n", + "[7458 rows x 4 columns], trade_date ts_code up_limit down_limit\n", + "0 20260203 000001.SZ 11.95 9.77\n", + "1 20260203 000002.SZ 5.15 4.21\n", + "2 20260203 000004.SZ 12.59 11.39\n", + "3 20260203 000006.SZ 9.58 7.84\n", + "4 20260203 000007.SZ 12.09 9.89\n", "... ... ... ... ...\n", - "7431 20260120 920978.BJ 46.41 24.99\n", - "7432 20260120 920981.BJ 44.26 23.84\n", - "7433 20260120 920982.BJ 310.42 167.16\n", - "7434 20260120 920985.BJ 9.97 5.37\n", - "7435 20260120 920992.BJ 24.49 13.19\n", + "7453 20260203 920978.BJ 37.93 20.43\n", + "7454 20260203 920981.BJ 42.52 22.90\n", + "7455 20260203 920982.BJ 279.35 150.43\n", + "7456 20260203 920985.BJ 10.15 5.47\n", + "7457 20260203 920992.BJ 21.95 11.83\n", "\n", - "[7436 rows x 4 columns], trade_date ts_code up_limit down_limit\n", - "0 20260119 000001.SZ 12.31 10.07\n", - "1 20260119 000002.SZ 5.20 4.26\n", - "2 20260119 000004.SZ 11.70 10.58\n", - "3 20260119 000006.SZ 10.13 8.29\n", - "4 20260119 000007.SZ 12.43 10.17\n", + "[7458 rows x 4 columns], trade_date ts_code up_limit down_limit\n", + "0 20260202 000001.SZ 11.91 9.75\n", + "1 20260202 000002.SZ 5.37 4.39\n", + "2 20260202 000004.SZ 13.25 11.99\n", + "3 20260202 000006.SZ 9.86 8.06\n", + "4 20260202 000007.SZ 11.97 9.79\n", "... ... ... ... ...\n", - "7429 20260119 920978.BJ 46.26 24.92\n", - "7430 20260119 920981.BJ 45.51 24.51\n", - "7431 20260119 920982.BJ 305.50 164.50\n", - "7432 20260119 920985.BJ 9.88 5.32\n", - "7433 20260119 920992.BJ 24.28 13.08\n", + "7450 20260202 920978.BJ 40.36 21.74\n", + "7451 20260202 920981.BJ 45.50 24.50\n", + "7452 20260202 920982.BJ 287.80 154.98\n", + "7453 20260202 920985.BJ 10.33 5.57\n", + "7454 20260202 920992.BJ 22.63 12.19\n", "\n", - "[7434 rows x 4 columns]]\n" + "[7455 rows x 4 columns]]\n" ] } ], diff --git a/main/train/Classify2_load_model.ipynb b/main/train/Classify2_load_model.ipynb index b466a91..8594e83 100644 --- a/main/train/Classify2_load_model.ipynb +++ b/main/train/Classify2_load_model.ipynb @@ -78,7 +78,7 @@ "cyq perf\n", "left merge on ['ts_code', 'trade_date']\n", "\n", - "RangeIndex: 9359748 entries, 0 to 9359747\n", + "RangeIndex: 9410807 entries, 0 to 9410806\n", "Data columns (total 33 columns):\n", " # Column Dtype \n", "--- ------ ----- \n", @@ -116,7 +116,7 @@ " 31 weight_avg float64 \n", " 32 winner_rate float64 \n", "dtypes: bool(1), datetime64[ns](1), float64(30), object(1)\n", - "memory usage: 2.2+ GB\n", + "memory usage: 2.3+ GB\n", "None\n" ] } @@ -600,7 +600,7 @@ "Calculating cs_rank_size...\n", "Finished cs_rank_size.\n", "\n", - "RangeIndex: 5042085 entries, 0 to 5042084\n", + "RangeIndex: 5072276 entries, 0 to 5072275\n", "Columns: 181 entries, ts_code to cs_rank_size\n", "dtypes: bool(10), datetime64[ns](1), float64(165), int64(3), object(2)\n", "memory usage: 6.5+ GB\n", @@ -1409,7 +1409,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "MAD Filtering: 100%|██████████| 131/131 [00:13<00:00, 9.39it/s]\n" + "MAD Filtering: 100%|██████████| 131/131 [00:13<00:00, 10.05it/s]\n" ] }, { @@ -1424,7 +1424,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "MAD Filtering: 100%|██████████| 131/131 [00:15<00:00, 8.45it/s]\n" + "MAD Filtering: 100%|██████████| 131/131 [00:16<00:00, 8.05it/s]\n" ] }, { @@ -1464,13 +1464,13 @@ "截面 MAD 去极值处理完成。\n", "feature_columns: ['vol', 'pct_chg', 'turnover_rate', 'volume_ratio', 'winner_rate', 'undist_profit_ps', 'ocfps', 'AR', 'BR', 'AR_BR', 'cashflow_to_ev_factor', 'book_to_price_ratio', 'turnover_rate_mean_5', 'variance_20', 'bbi_ratio_factor', 'daily_deviation', 'lg_elg_net_buy_vol', 'flow_lg_elg_intensity', 'sm_net_buy_vol', 'total_buy_vol', 'lg_elg_buy_prop', 'flow_struct_buy_change', 'lg_elg_net_buy_vol_change', 'flow_lg_elg_accel', 'chip_concentration_range', 'chip_skewness', 'floating_chip_proxy', 'cost_support_15pct_change', 'cat_winner_price_zone', 'flow_chip_consistency', 'profit_taking_vs_absorb', 'cat_is_positive', 'upside_vol', 'downside_vol', 'vol_ratio', 'return_skew', 'return_kurtosis', 'volume_change_rate', 'cat_volume_breakout', 'turnover_deviation', 'cat_turnover_spike', 'avg_volume_ratio', 'cat_volume_ratio_breakout', 'vol_spike', 'vol_std_5', 'atr_14', 'atr_6', 'obv', 'maobv_6', 'rsi_3', 'return_5', 'return_20', 'std_return_5', 'std_return_90', 'std_return_90_2', 'act_factor1', 'act_factor2', 'act_factor3', 'act_factor4', 'rank_act_factor1', 'rank_act_factor2', 'rank_act_factor3', 'cov', 'delta_cov', 'alpha_22_improved', 'alpha_003', 'alpha_007', 'alpha_013', 'vol_break', 'weight_roc5', 'smallcap_concentration', 'cost_stability', 'high_cost_break_days', 'liquidity_risk', 'turnover_std', 'mv_volatility', 'volume_growth', 'mv_growth', 'momentum_factor', 'resonance_factor', 'log_close', 'cat_vol_spike', 'up', 'down', 'obv_maobv_6', 'std_return_5_over_std_return_90', 'std_return_90_minus_std_return_90_2', 'cat_af2', 'cat_af3', 'cat_af4', 'act_factor5', 'act_factor6', 'active_buy_volume_large', 'active_buy_volume_big', 'active_buy_volume_small', 'buy_lg_vol_minus_sell_lg_vol', 'buy_elg_vol_minus_sell_elg_vol', 'ctrl_strength', 'low_cost_dev', 'asymmetry', 'lock_factor', 'cat_vol_break', 'cost_atr_adj', 'cat_golden_resonance', 'mv_turnover_ratio', 'mv_adjusted_volume', 'mv_weighted_turnover', 'nonlinear_mv_volume', 'mv_volume_ratio', 'mv_momentum', 'lg_flow_mom_corr_20_60', 'lg_flow_accel', 'profit_pressure', 'underwater_resistance', 'cost_conc_std_20', 'profit_decay_20', 'vol_amp_loss_20', 'vol_drop_profit_cnt_5', 'lg_flow_vol_interact_20', 'cost_break_confirm_cnt_5', 'atr_norm_channel_pos_14', 'turnover_diff_skew_20', 'lg_sm_flow_diverge_20', 'pullback_strong_20_20', 'vol_wgt_hist_pos_20', 'vol_adj_roc_20', 'cs_rank_net_lg_flow_val', 'cs_rank_elg_buy_ratio', 'cs_rank_rel_profit_margin', 'cs_rank_cost_breadth', 'cs_rank_dist_to_upper_cost', 'cs_rank_winner_rate', 'cs_rank_intraday_range', 'cs_rank_close_pos_in_range', 'cs_rank_pos_in_hist_range', 'cs_rank_vol_x_profit_margin', 'cs_rank_lg_flow_price_concordance', 'cs_rank_turnover_per_winner', 'cs_rank_volume_ratio', 'cs_rank_elg_buy_sell_sm_ratio', 'cs_rank_cost_dist_vol_ratio', 'cs_rank_size', 'cat_up_limit', 'industry_obv', 'industry_return_5', 'industry_return_20', 'industry__ema_5', 'industry__ema_13', 'industry__ema_20', 'industry__ema_60', 'industry_act_factor1', 'industry_act_factor2', 'industry_act_factor3', 'industry_act_factor4', 'industry_act_factor5', 'industry_act_factor6', 'industry_rank_act_factor1', 'industry_rank_act_factor2', 'industry_rank_act_factor3', 'industry_return_5_percentile', 'industry_return_20_percentile', '000852.SH_MACD', '000905.SH_MACD', '399006.SZ_MACD', '000852.SH_MACD_hist', '000905.SH_MACD_hist', '399006.SZ_MACD_hist', '000852.SH_RSI', '000905.SH_RSI', '399006.SZ_RSI', '000852.SH_Signal_line', '000905.SH_Signal_line', '399006.SZ_Signal_line', '000852.SH_amount_change_rate', '000905.SH_amount_change_rate', '399006.SZ_amount_change_rate', '000852.SH_amount_mean', '000905.SH_amount_mean', '399006.SZ_amount_mean', '000852.SH_daily_return', '000905.SH_daily_return', '399006.SZ_daily_return', '000852.SH_up_ratio_20d', '000905.SH_up_ratio_20d', '399006.SZ_up_ratio_20d', '000852.SH_volatility', '000905.SH_volatility', '399006.SZ_volatility', '000852.SH_volume_change_rate', '000905.SH_volume_change_rate', '399006.SZ_volume_change_rate']\n", "df最小日期: 2019-01-02\n", - "df最大日期: 2026-01-23\n", - "2055951\n", + "df最大日期: 2026-02-06\n", + "2055944\n", "train_data最小日期: 2020-01-02\n", "train_data最大日期: 2022-12-30\n", - "2267560\n", + "2297633\n", "test_data最小日期: 2023-01-03\n", - "test_data最大日期: 2026-01-23\n", + "test_data最大日期: 2026-02-06\n", " ts_code trade_date log_circ_mv\n", "0 000001.SZ 2019-01-02 16.574219\n", "1 000001.SZ 2019-01-03 16.583965\n", @@ -1754,7 +1754,7 @@ { "data": { "text/plain": [ - "" + "" ] }, "execution_count": 19, @@ -1841,7 +1841,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "5584 2055951\n", + "5584 2055944\n", " ts_code trade_date turnover_rate\n", "0 000001.SZ 2023-01-03 1.1307\n", "1 000001.SZ 2023-01-04 1.1284\n", @@ -1849,13 +1849,13 @@ "3 000001.SZ 2023-01-06 0.6162\n", "4 000001.SZ 2023-01-09 0.5450\n", "... ... ... ...\n", - "2267555 605599.SH 2026-01-19 0.6158\n", - "2267556 605599.SH 2026-01-20 0.9493\n", - "2267557 605599.SH 2026-01-21 1.1732\n", - "2267558 605599.SH 2026-01-22 0.8848\n", - "2267559 605599.SH 2026-01-23 0.9550\n", + "2297628 605599.SH 2026-02-02 2.6968\n", + "2297629 605599.SH 2026-02-03 1.6084\n", + "2297630 605599.SH 2026-02-04 3.9328\n", + "2297631 605599.SH 2026-02-05 3.0072\n", + "2297632 605599.SH 2026-02-06 3.1129\n", "\n", - "[2267560 rows x 3 columns]\n" + "[2297633 rows x 3 columns]\n" ] } ], diff --git a/predictions_test.tsv b/predictions_test.tsv index bc77797..3e6413b 100644 --- a/predictions_test.tsv +++ b/predictions_test.tsv @@ -1483,3 +1483,23 @@ trade_date,score,ts_code 2026-01-22,0.5392295112943043,002193.SZ 2026-01-23,0.4433520823626358,001211.SZ 2026-01-23,0.5104712391758388,002193.SZ +2026-01-26,0.44845793700606645,600768.SH +2026-01-26,0.5184014597753998,002193.SZ +2026-01-27,0.38801810040527523,002719.SZ +2026-01-27,0.4660343777911184,002193.SZ +2026-01-28,0.3752951609014855,002963.SZ +2026-01-28,0.3844631540327193,002193.SZ +2026-01-29,0.3957310272373612,002188.SZ +2026-01-29,0.4154973074156361,002193.SZ +2026-01-30,0.4406255680708698,002193.SZ +2026-01-30,0.6387329035097701,600768.SH +2026-02-02,0.46452469502542476,600543.SH +2026-02-02,0.48096075649083675,002719.SZ +2026-02-03,0.4682296506349894,002719.SZ +2026-02-03,0.6074115272186936,002193.SZ +2026-02-04,0.441433034204454,600847.SH +2026-02-04,0.6491590676980965,002193.SZ +2026-02-05,0.43576482005305384,002719.SZ +2026-02-05,0.6383257473564533,002193.SZ +2026-02-06,0.45969830258066396,600493.SH +2026-02-06,0.6311025962732058,002193.SZ diff --git a/qmt/qmt_engine.py b/qmt/qmt_engine.py index fd9cb4e..6ef1737 100644 --- a/qmt/qmt_engine.py +++ b/qmt/qmt_engine.py @@ -209,39 +209,41 @@ class AutoReconnectScheduler: time.sleep(60) def _scheduled_reconnect(self): - """执行定时重连任务""" - self.logger.info(f"执行定时重连任务,时间: {self.reconnect_time}") + """执行定时重连任务(强制重连模式)""" + self.logger.info(f"[AutoReconnectScheduler] 执行定时重连任务,时间: {self.reconnect_time}") - # 1. 检测当前连接状态 - statuses = self.manager.get_all_status() - connected_count = sum(1 for s in statuses if s.is_connected) - self.logger.info(f"当前连接状态: {connected_count}/{len(statuses)} 个终端在线") + # 设置重连中标志位,通知主循环暂停健康检查重连 + self.manager.is_scheduled_reconnecting = True - # 2. 如果有连接,先断开 - if connected_count > 0: - self.logger.info("正在断开所有终端连接...") + try: + # 强制断开所有终端连接(无论当前是否在线) + self.logger.info("[AutoReconnectScheduler] 正在断开所有终端连接...") for unit in self.manager.units.values(): try: if unit.xt_trader: unit.cleanup() + self.logger.info(f"[AutoReconnectScheduler] 已断开终端 {unit.alias} 的连接") except Exception as e: - self.logger.warning(f"断开终端 {unit.alias} 失败: {e}") + self.logger.warning(f"[AutoReconnectScheduler] 断开终端 {unit.alias} 失败: {e}") - # 3. 等待几秒后重新连接 - self.logger.info("等待 3 秒后重新连接...") - time.sleep(3) + # 等待几秒后重新连接(固定等待时间) + self.logger.info("[AutoReconnectScheduler] 等待 3 秒后重新连接...") + time.sleep(3) - # 4. 重新连接所有终端 - self.logger.info("正在重新连接所有终端...") - success_count = 0 - for unit in self.manager.units.values(): - if unit.connect(): - success_count += 1 - self.logger.info(f"终端 {unit.alias} 重连成功") - else: - self.logger.warning(f"终端 {unit.alias} 重连失败") + # 重新连接所有终端 + self.logger.info("[AutoReconnectScheduler] 正在重新连接所有终端...") + success_count = 0 + for unit in self.manager.units.values(): + if unit.connect(): + success_count += 1 + self.logger.info(f"[AutoReconnectScheduler] 终端 {unit.alias} 重连成功") + else: + self.logger.warning(f"[AutoReconnectScheduler] 终端 {unit.alias} 重连失败") - self.logger.info(f"定时重连完成: {success_count}/{len(self.manager.units)} 个终端重连成功") + self.logger.info(f"[AutoReconnectScheduler] 定时重连完成: {success_count}/{len(self.manager.units)} 个终端重连成功") + finally: + # 确保无论成功与否都重置标志位 + self.manager.is_scheduled_reconnecting = False def start(self): """启动定时任务""" @@ -351,11 +353,11 @@ class TradingUnit: try: logging.getLogger("QMT_Engine").info(f"正在销毁终端 {self.alias} 的旧资源...") self.xt_trader.stop() - self.xt_trader = None # 显式置空 + self.xt_trader = None # 显式置空 self.callback = None - time.sleep(1.5) # 给 C++ 引擎留出释放 down_queue 锁的时间 - except: - pass + time.sleep(1.5) # 给 C++ 引擎留出释放 down_queue 锁的时间 + except Exception as e: + logging.getLogger("QMT_Engine").warning(f"销毁终端 {self.alias} 资源时出现异常: {e}") def connect(self): """连接 QMT 终端""" @@ -401,6 +403,7 @@ class MultiEngineManager: self.config = {} self.is_running = True self.start_time = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S') + self.is_scheduled_reconnecting = False # 定时重连调度器正在执行标志 self._initialized = True def initialize(self, config_file='config.json'): @@ -467,8 +470,12 @@ class MultiEngineManager: if not is_unit_alive: # 避让 QMT 夜间重启高峰 (21:32 - 21:50) if not ('213200' <= curr_hms <= '215000'): - self.logger.warning(f"🚫 终端 {unit.alias} 物理连接丢失,执行重连...") - unit.connect() + # 检查是否正在执行定时重连调度 + if self.is_scheduled_reconnecting: + self.logger.info(f"⏳ 定时重连调度器正在执行,跳过健康检查重连...") + else: + self.logger.warning(f"🚫 终端 {unit.alias} 物理连接丢失,执行重连...") + unit.connect() else: self.logger.info(f"⏳ 处于 QMT 重启时段 ({curr_hms}),跳过重连操作...")