mns-scheduler 1.1.2.4__py3-none-any.whl → 1.1.2.7__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of mns-scheduler might be problematic. Click here for more details.

@@ -5,6 +5,3 @@ file_path = os.path.abspath(__file__)
5
5
  end = file_path.index('mns') + 17
6
6
  project_path = file_path[0:end]
7
7
  sys.path.append(project_path)
8
- import os
9
-
10
- os.system("exit")
@@ -112,4 +112,4 @@ if __name__ == '__main__':
112
112
  # sync_col_move('2024-05-28')
113
113
  # sync_col_move('2024-05-30')
114
114
  # sync_col_move('2024-05-31')
115
- sync_col_move('2024-06-21')
115
+ sync_col_move('2024-07-02')
@@ -53,7 +53,7 @@ def run_check_real_time_data_sync_status():
53
53
  return False
54
54
  flag = check_max_number()
55
55
  if bool(1 - flag):
56
- all_cmd_processes = cmd_util.get_cmd_processes()
56
+ all_cmd_processes = cmd_util.get_all_process()
57
57
  if data_frame_util.is_empty(all_cmd_processes):
58
58
  return None
59
59
  all_cmd_processes_real_time_task = get_real_time_quotes_task(all_cmd_processes)
@@ -18,7 +18,7 @@ NORMAL_DAILY_K_LINE_NUMBER = 60
18
18
 
19
19
 
20
20
  def handle_day_line(k_line_info, str_day, symbol, deal_days):
21
- sub_stock_new_max_deal_days = stock_type_classify_param['sub_stock_new_max_deal_days']
21
+ sub_stock_new_max_deal_days = stock_type_classify_param['sub_new_stock_max_deal_days']
22
22
  if deal_days > sub_stock_new_max_deal_days:
23
23
  return handle_day_line_normal(k_line_info, str_day, symbol, deal_days)
24
24
 
@@ -14,7 +14,7 @@ mongodb_util = MongodbUtil('27017')
14
14
 
15
15
  # 处理月线 周线 todo 暂时简单计算周线之和
16
16
  def handle_month_week_line(k_line_info, str_day, symbol, deal_days):
17
- sub_stock_new_max_deal_days = stock_type_classify_param['sub_stock_new_max_deal_days']
17
+ sub_stock_new_max_deal_days = stock_type_classify_param['sub_new_stock_max_deal_days']
18
18
  if deal_days > sub_stock_new_max_deal_days:
19
19
  k_line_info = handle_month_line(k_line_info, str_day, symbol)
20
20
  k_line_info = handle_week_line(k_line_info, str_day, symbol)
@@ -33,7 +33,10 @@ def handle_month_line(k_line_info, stock_qfq_daily, deal_days):
33
33
  k_line_info['month01'] = month_01
34
34
  k_line_info['month02'] = month_02
35
35
  k_line_info['month01_date'] = list(stock_qfq_daily_month_01.iloc[0:1]['date'])[0]
36
- k_line_info['month02_date'] = list(stock_qfq_daily_month_02.iloc[0:1]['date'])[0]
36
+ if k_line_length != MAX_TRADE_DAYS_PER_MONTH:
37
+ k_line_info['month02_date'] = list(stock_qfq_daily_month_02.iloc[0:1]['date'])[0]
38
+ else:
39
+ k_line_info['month02_date'] = ''
37
40
  elif deal_days > MAX_TRADE_DAYS_PER_MONTH * 2:
38
41
  stock_qfq_daily_month_01 = stock_qfq_daily.iloc[0:MAX_TRADE_DAYS_PER_MONTH]
39
42
  month_01 = round(sum(stock_qfq_daily_month_01['chg']), 2)
@@ -26,5 +26,5 @@ def clean_history_data():
26
26
 
27
27
  if __name__ == '__main__':
28
28
  # 001389 001359
29
- k_line_info_clean_task.sync_k_line_info('2024-07-03', ['603227'])
29
+ k_line_info_clean_task.sync_k_line_info('2024-07-12', ['300784'])
30
30
  # clean_history_data()
@@ -0,0 +1,7 @@
1
+ import sys
2
+ import os
3
+
4
+ file_path = os.path.abspath(__file__)
5
+ end = file_path.index('mns') + 17
6
+ project_path = file_path[0:end]
7
+ sys.path.append(project_path)
@@ -0,0 +1,30 @@
1
+ import sys
2
+ import os
3
+
4
+ file_path = os.path.abspath(__file__)
5
+ end = file_path.index('mns') + 16
6
+ project_path = file_path[0:end]
7
+ sys.path.append(project_path)
8
+ import mns_common.component.deal.deal_service_api as deal_service_api
9
+ from mns_common.component.deal.terminal_enum import TerminalEnum
10
+ import time
11
+
12
+
13
+ # qmt 自动登录
14
+ def qmt_auto_login():
15
+ deal_service_api.auto_login(TerminalEnum.QMT.terminal_code)
16
+
17
+
18
+ # 同花顺自动登陆
19
+ def ths_auto_login():
20
+ deal_service_api.auto_login(TerminalEnum.EASY_TRADER.terminal_code)
21
+
22
+
23
+ def auto_login():
24
+ qmt_auto_login()
25
+ time.sleep(5)
26
+ ths_auto_login()
27
+
28
+
29
+ if __name__ == '__main__':
30
+ auto_login()
@@ -0,0 +1,7 @@
1
+ import sys
2
+ import os
3
+
4
+ file_path = os.path.abspath(__file__)
5
+ end = file_path.index('mns') + 17
6
+ project_path = file_path[0:end]
7
+ sys.path.append(project_path)
@@ -0,0 +1,48 @@
1
+ import sys
2
+ import os
3
+
4
+ file_path = os.path.abspath(__file__)
5
+ end = file_path.index('mns') + 16
6
+ project_path = file_path[0:end]
7
+ sys.path.append(project_path)
8
+ import mns_common.utils.cmd_util as cmd_util
9
+ import time
10
+ import mns_scheduler.trade.auto_login.trader_auto_service as trader_auto_service
11
+ import mns_common.utils.data_frame_util as data_frame_util
12
+ from loguru import logger
13
+
14
+ # 交易任务
15
+ TRADER_SERVER_PATH = 'H:\\mns-trader.bat'
16
+ # 实时行情同步任务 python名称
17
+ TRADER_SERVER_NAME = "mns_trader"
18
+
19
+
20
+ # 打开交易客户端
21
+ def open_trader_terminal():
22
+ # 打开任务进程
23
+ cmd_util.open_bat_file(TRADER_SERVER_PATH)
24
+ # 自动登陆
25
+ trader_auto_service.auto_login()
26
+ time.sleep(5)
27
+ # 需先打开同花顺终端在开始交易服务
28
+ kill_server()
29
+ time.sleep(5)
30
+ # 打开任务进程
31
+ cmd_util.open_bat_file(TRADER_SERVER_PATH)
32
+
33
+
34
+ def kill_server():
35
+ all_cmd_processes = cmd_util.get_all_process()
36
+ all_cmd_processes_trader = all_cmd_processes.loc[
37
+ (all_cmd_processes['total_info'].str.contains(TRADER_SERVER_NAME, case=False, na=False))]
38
+ if data_frame_util.is_not_empty(all_cmd_processes_trader):
39
+ for processes_one in all_cmd_processes_trader.itertuples():
40
+ try:
41
+ process_pid = processes_one.process_pid
42
+ cmd_util.kill_process_by_pid(process_pid)
43
+ except BaseException as e:
44
+ logger.error("杀死进程异常:{}", e)
45
+
46
+
47
+ if __name__ == '__main__':
48
+ open_trader_terminal()
@@ -17,6 +17,7 @@ import mns_common.api.akshare.k_line_api as k_line_api
17
17
  import mns_common.utils.date_handle_util as date_handle_util
18
18
  from mns_common.db.MongodbUtil import MongodbUtil
19
19
  import mns_common.constant.db_name_constant as db_name_constant
20
+ import time
20
21
 
21
22
  mongodb_util = MongodbUtil('27017')
22
23
 
@@ -226,20 +227,22 @@ def save_ths_zt_pool(ths_zt_pool_df, str_day):
226
227
 
227
228
 
228
229
  if __name__ == '__main__':
229
- trade_date = '2024-06-21'
230
+ trade_date = '2015-05-28'
230
231
  zt_df = ths_zt_pool(trade_date, None)
231
232
  save_ths_zt_pool(zt_df, trade_date)
232
- # while True:
233
- # query = {"$and": [{'_id': {"$gte": '2013-07-04'}}, {'_id': {"$lte": '2019-07-04'}}]}
234
- #
235
- # trade_date_list = mongodb_util.find_query_data('trade_date_list', query)
236
- # trade_date_list = trade_date_list.sort_values(by=['trade_date'], ascending=False)
237
- # for trade_one in trade_date_list.itertuples():
238
- # try:
239
- # trade_date = trade_one.trade_date
240
- # zt_df = ths_zt_pool(trade_date, None)
241
- # # zt_df = mongodb_util.find_query_data(db_name_constant.THS_ZT_POOL, query={"str_day": trade_date})
242
- # save_ths_zt_pool(zt_df, trade_date)
243
- # logger.info("同步到日期:{}", trade_date)
244
- # except BaseException as e:
245
- # logger.warning("同步涨停到日期:{},{}", trade_one.trade_date, e)
233
+ while True:
234
+ query = {"$and": [{'_id': {"$gte": '2013-07-04'}}, {'_id': {"$lte": '2015-05-05'}}]}
235
+
236
+ trade_date_list = mongodb_util.find_query_data('trade_date_list', query)
237
+ trade_date_list = trade_date_list.sort_values(by=['trade_date'], ascending=False)
238
+ for trade_one in trade_date_list.itertuples():
239
+ try:
240
+ trade_date = trade_one.trade_date
241
+ zt_df = ths_zt_pool(trade_date, None)
242
+
243
+ # zt_df = mongodb_util.find_query_data(db_name_constant.THS_ZT_POOL, query={"str_day": trade_date})
244
+ save_ths_zt_pool(zt_df, trade_date)
245
+ logger.info("同步到日期:{}", trade_date)
246
+ time.sleep(2)
247
+ except BaseException as e:
248
+ logger.warning("同步涨停到日期:{},{}", trade_one.trade_date, e)
@@ -49,6 +49,7 @@ import mns_scheduler.concept.ths.sync_new_index.sync_ths_concept_new_index_api a
49
49
  import mns_scheduler.company_info.clean.company_info_clean_api as company_info_clean_api
50
50
  import mns_scheduler.zt.zt_pool.ths_zt_pool_sync_api as ths_zt_pool_sync_api
51
51
  import mns_scheduler.db.real_time_task_check as real_time_task_check_api
52
+ import mns_scheduler.trade.task.trader_task_service as trader_task_service
52
53
 
53
54
 
54
55
  # 同步交易日期任务完成
@@ -348,6 +349,11 @@ def real_time_task_check_status():
348
349
  real_time_task_check_api.run_check_real_time_data_sync_status()
349
350
 
350
351
 
352
+ # 打开交易客户端
353
+ def trader_client_auto_login():
354
+ trader_task_service.open_trader_terminal()
355
+
356
+
351
357
  # # 定义BlockingScheduler
352
358
  blockingScheduler = BlockingScheduler()
353
359
  # sync_trade_date 同步交易日期
@@ -429,6 +435,9 @@ blockingScheduler.add_job(sync_all_interactive_questions, 'cron', hour='08,12,17
429
435
  # 实时数据状态同步check
430
436
  blockingScheduler.add_job(real_time_task_check_status, 'interval', seconds=59, max_instances=4)
431
437
 
438
+ # 打开交易客户端
439
+ blockingScheduler.add_job(trader_client_auto_login, 'cron', hour='09,12', minute='05')
440
+
432
441
  print('定时任务启动成功')
433
442
  blockingScheduler.start()
434
443
  #
@@ -1,4 +1,4 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: mns-scheduler
3
- Version: 1.1.2.4
3
+ Version: 1.1.2.7
4
4
 
@@ -38,10 +38,10 @@ mns_scheduler/concept/ths/sync_new_index/sync_ths_concept_new_index_api.py,sha25
38
38
  mns_scheduler/concept/ths/update_concept_info/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
39
39
  mns_scheduler/concept/ths/update_concept_info/sync_one_concept_all_symbols_api.py,sha256=wlsr70rcS-uAH6b8NXPbA-wG37saeIQ0FIg8vSSTXQA,1920
40
40
  mns_scheduler/concept/ths/update_concept_info/sync_one_symbol_all_concepts_api.py,sha256=HVqDSBruORebtiliKps2swJo_GNg_8mqT0r9cZX6sj8,8839
41
- mns_scheduler/db/__init__.py,sha256=1dpcEuWKyblKcpyOss0Iyy_ZS4ZJsh8x8GoMAv3TiS8,193
42
- mns_scheduler/db/col_move_service.py,sha256=VSGJROyErfytjGzSlhyTdH6z3ayHG5nFfJk8qjdpJhE,4057
41
+ mns_scheduler/db/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
42
+ mns_scheduler/db/col_move_service.py,sha256=-d3JUCjWyaGKBhyUSkqwpCgZtHkIy1JOasgpxmH74zg,4057
43
43
  mns_scheduler/db/db_status.py,sha256=e5eW5ZSm5J7tHvmxxhFmFdbZb2_oB_SAcdcFqc4KDmw,733
44
- mns_scheduler/db/real_time_task_check.py,sha256=qiOMgcCCBmaPllux-RaianKf_w2Xw2TgrVtj25wzixs,3169
44
+ mns_scheduler/db/real_time_task_check.py,sha256=R8-ZmS7wzC_zZPGgDwv6kx2v25hBrYOTvXlU3cP2BVQ,3167
45
45
  mns_scheduler/dt/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
46
46
  mns_scheduler/dt/stock_dt_pool_sync.py,sha256=5ivRUOnFtOapZniwTbujf1lVq3y4btm2Cmd5R6JJAVo,3466
47
47
  mns_scheduler/finance/__init__.py,sha256=wEg73KlZo-dU0yKGwpA1C2y6LZm4IBb94tNda1tqLeg,163
@@ -62,17 +62,17 @@ mns_scheduler/k_line/clean/k_line_info_clean_impl.py,sha256=2GgRc9Nb9wXMueoZhl9e
62
62
  mns_scheduler/k_line/clean/k_line_info_clean_task.py,sha256=ey6xTXAxxXh8_8cPzsWmUtVmG8Sd7jXFbpRpTrFrLDo,7622
63
63
  mns_scheduler/k_line/clean/daily/__init__.py,sha256=wEg73KlZo-dU0yKGwpA1C2y6LZm4IBb94tNda1tqLeg,163
64
64
  mns_scheduler/k_line/clean/daily/daily_k_line_clean_common_service.py,sha256=j00d0LFZIjl5iabYnDOvU-aGRHgUI8mVaH__RmR0ZM8,18385
65
- mns_scheduler/k_line/clean/daily/daily_k_line_service.py,sha256=GOXtxZp6HVmqXQOpAsbiEx1lNo2z5p_zMwBqG42hzpQ,6654
65
+ mns_scheduler/k_line/clean/daily/daily_k_line_service.py,sha256=BOzE5smjgJyUPdNvV4CUmN2phHT1VCtusosq7uhrGCw,6654
66
66
  mns_scheduler/k_line/clean/week_month/__init__.py,sha256=wEg73KlZo-dU0yKGwpA1C2y6LZm4IBb94tNda1tqLeg,163
67
- mns_scheduler/k_line/clean/week_month/normal_week_month_k_line_service.py,sha256=8IDPddhbaV7n1m56ZlR--iJ1cvIhbv_iNCkq5eXNSOE,4862
68
- mns_scheduler/k_line/clean/week_month/sub_new_week_month_k_line_service.py,sha256=0XyurQkxG6kRxuqmQ-8z58Htma-uCGmSeYG39CfY0zI,5398
67
+ mns_scheduler/k_line/clean/week_month/normal_week_month_k_line_service.py,sha256=4qInTtReDd77Jzb7ngme8yXHRd6INSbSCq84lhS3ScI,4862
68
+ mns_scheduler/k_line/clean/week_month/sub_new_week_month_k_line_service.py,sha256=BS5wouEZhz4WfqubDgjO2CcfmYonCFqRl1BOPnVN3r8,5518
69
69
  mns_scheduler/k_line/hot_stocks/__init__.py,sha256=wEg73KlZo-dU0yKGwpA1C2y6LZm4IBb94tNda1tqLeg,163
70
70
  mns_scheduler/k_line/hot_stocks/recent_hot_stocks_clean_service.py,sha256=whm-pYhAd_7OKurIw2cteBwWse5vVXS88lcrTbbcSaE,2628
71
71
  mns_scheduler/k_line/sync/__init__.py,sha256=ffZXFCLFdIwOsbxnw__u1MbQYh9yz7Bs8UMP6VF0X2M,161
72
72
  mns_scheduler/k_line/sync/bfq_k_line_sync.py,sha256=i2NNdp4uVa-kiqQvOaY6odd8-DmQtlejeMXeVklKOIs,4067
73
73
  mns_scheduler/k_line/sync/daily_week_month_line_sync.py,sha256=SHAvMkDW-2TKEC4wWkMdiOQWa4Ktc0Umm59OlceK1dg,5795
74
74
  mns_scheduler/k_line/test/__init__.py,sha256=wEg73KlZo-dU0yKGwpA1C2y6LZm4IBb94tNda1tqLeg,163
75
- mns_scheduler/k_line/test/k_line_info_clean_his_data.py,sha256=r0Bkf9BdDHWOraXoaKQ-LdkLWxtxnMck5Vu-Uetcpvc,1173
75
+ mns_scheduler/k_line/test/k_line_info_clean_his_data.py,sha256=2s0UW2dHGS_k25Rl9CeB7XZtbYRxWaHSp9Se5Okk7EI,1173
76
76
  mns_scheduler/kpl/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
77
77
  mns_scheduler/kpl/selection/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
78
78
  mns_scheduler/kpl/selection/index/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
@@ -107,6 +107,10 @@ mns_scheduler/trade/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhU
107
107
  mns_scheduler/trade/auto_ipo_buy_api.py,sha256=jVe5ZiXwzkDy_j_4X4rUamSzJpmzhV16lNKwbeWgpQw,386
108
108
  mns_scheduler/trade/auto_sell_service_api.py,sha256=b-4xmW6W6cd6dMuLPD7ZJu3tUtchMcUG-p7wOMm_RRY,4640
109
109
  mns_scheduler/trade/sync_position_api.py,sha256=deeOySGWsUbTiM2S0bb5wCSjtC59gdmwwjVZsCf3Wn4,2748
110
+ mns_scheduler/trade/auto_login/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
111
+ mns_scheduler/trade/auto_login/trader_auto_service.py,sha256=S2J36VrFcV8ZTQ2eeR_1c23d4eHe810kCyOINk6b6o8,686
112
+ mns_scheduler/trade/task/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
113
+ mns_scheduler/trade/task/trader_task_service.py,sha256=xBqByakfCO2ruWXuWWsRPJtZ_oCLXLgaOHDiLdD4SVw,1560
110
114
  mns_scheduler/zb/__init__.py,sha256=Tyvi_iQlv3jz59EdH67Mycnt9CSixcWPQoJwu55bOq0,165
111
115
  mns_scheduler/zb/stock_zb_pool_sync.py,sha256=ky3CNDzpjB6C_frCf4YGNXdidnUo-uUUKsJpY62P4Bk,1936
112
116
  mns_scheduler/zt/__init__.py,sha256=Rzolrn2R5RZIj-eOmu9KcL6oZBY9Wjz_uBFXPlzirQc,1641
@@ -125,10 +129,10 @@ mns_scheduler/zt/script/sync_high_chg_pool_his_data.py,sha256=OXyJqhPIbXkECXzGr0
125
129
  mns_scheduler/zt/script/sync_now_higt_chg_zt.py,sha256=bhoIGDWTI3w0YKVfIAVNHWpUrYqJYDMGPt-1i3d_Zmw,1850
126
130
  mns_scheduler/zt/zt_pool/__init__.py,sha256=Tyvi_iQlv3jz59EdH67Mycnt9CSixcWPQoJwu55bOq0,165
127
131
  mns_scheduler/zt/zt_pool/em_zt_pool_sync_api.py,sha256=wUtc9kL6ICyz8Os1ix_o-ZERdt6A7owxKyTS25j7UIM,7642
128
- mns_scheduler/zt/zt_pool/ths_zt_pool_sync_api.py,sha256=Xx_R_WujCtV_p4k1eKaYPshQVpErtegub2OyIOBxzUw,10338
132
+ mns_scheduler/zt/zt_pool/ths_zt_pool_sync_api.py,sha256=0juoFzZ4zAxhbsyitQ5FQrEeUu7CWCxmMEypBVKriH4,10353
129
133
  mns_scheduler/zz_task/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
130
- mns_scheduler/zz_task/data_sync_task.py,sha256=bILPyMR0LEtCxdjEonplUOnGCYHhI65pFrzQWdf8WqI,18050
131
- mns_scheduler-1.1.2.4.dist-info/METADATA,sha256=n0rrqsIoSg0mpiptjAKTG1HQwAeTAwxnmdjXfGboE_U,64
132
- mns_scheduler-1.1.2.4.dist-info/WHEEL,sha256=oiQVh_5PnQM0E3gPdiz09WCNmwiHDMaGer_elqB3coM,92
133
- mns_scheduler-1.1.2.4.dist-info/top_level.txt,sha256=PXQDFBGR1pWmsUbH5yiLAh71P5HZODTRED0zJ8CCgOc,14
134
- mns_scheduler-1.1.2.4.dist-info/RECORD,,
134
+ mns_scheduler/zz_task/data_sync_task.py,sha256=ciJkI3inI_SJ6s5Tlm3Zv8o59eoPKhUgnZfRW6xCmjg,18351
135
+ mns_scheduler-1.1.2.7.dist-info/METADATA,sha256=CsKtE1LfmZlu_h8Zeq_JQjjFHol4rWni6UhFQSeWFwQ,64
136
+ mns_scheduler-1.1.2.7.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
137
+ mns_scheduler-1.1.2.7.dist-info/top_level.txt,sha256=PXQDFBGR1pWmsUbH5yiLAh71P5HZODTRED0zJ8CCgOc,14
138
+ mns_scheduler-1.1.2.7.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: bdist_wheel (0.42.0)
2
+ Generator: bdist_wheel (0.43.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5