mns-scheduler 1.1.2.5__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.
- mns_scheduler/db/__init__.py +0 -3
- mns_scheduler/db/col_move_service.py +1 -1
- mns_scheduler/db/real_time_task_check.py +1 -1
- mns_scheduler/k_line/clean/week_month/sub_new_week_month_k_line_service.py +4 -1
- mns_scheduler/k_line/test/k_line_info_clean_his_data.py +1 -1
- mns_scheduler/trade/auto_login/__init__.py +7 -0
- mns_scheduler/trade/auto_login/trader_auto_service.py +30 -0
- mns_scheduler/trade/task/__init__.py +7 -0
- mns_scheduler/trade/task/trader_task_service.py +48 -0
- mns_scheduler/zt/zt_pool/ths_zt_pool_sync_api.py +18 -15
- mns_scheduler/zz_task/data_sync_task.py +9 -0
- {mns_scheduler-1.1.2.5.dist-info → mns_scheduler-1.1.2.7.dist-info}/METADATA +1 -1
- {mns_scheduler-1.1.2.5.dist-info → mns_scheduler-1.1.2.7.dist-info}/RECORD +15 -11
- {mns_scheduler-1.1.2.5.dist-info → mns_scheduler-1.1.2.7.dist-info}/WHEEL +1 -1
- {mns_scheduler-1.1.2.5.dist-info → mns_scheduler-1.1.2.7.dist-info}/top_level.txt +0 -0
mns_scheduler/db/__init__.py
CHANGED
|
@@ -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.
|
|
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)
|
|
@@ -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
|
-
|
|
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)
|
|
@@ -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,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 = '
|
|
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
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
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
|
#
|
|
@@ -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=
|
|
42
|
-
mns_scheduler/db/col_move_service.py,sha256
|
|
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=
|
|
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
|
|
@@ -65,14 +65,14 @@ mns_scheduler/k_line/clean/daily/daily_k_line_clean_common_service.py,sha256=j00
|
|
|
65
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
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=
|
|
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=
|
|
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=
|
|
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=
|
|
131
|
-
mns_scheduler-1.1.2.
|
|
132
|
-
mns_scheduler-1.1.2.
|
|
133
|
-
mns_scheduler-1.1.2.
|
|
134
|
-
mns_scheduler-1.1.2.
|
|
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,,
|
|
File without changes
|