mns-scheduler 1.1.3.0__py3-none-any.whl → 1.1.3.5__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/company_info/remark/__init__.py +7 -0
- mns_scheduler/company_info/remark/company_remark_info_sync.py +46 -0
- mns_scheduler/self_choose/__init__.py +7 -0
- mns_scheduler/self_choose/ths_self_choose_service.py +74 -0
- mns_scheduler/zz_task/data_sync_task.py +18 -1
- {mns_scheduler-1.1.3.0.dist-info → mns_scheduler-1.1.3.5.dist-info}/METADATA +1 -1
- {mns_scheduler-1.1.3.0.dist-info → mns_scheduler-1.1.3.5.dist-info}/RECORD +9 -5
- {mns_scheduler-1.1.3.0.dist-info → mns_scheduler-1.1.3.5.dist-info}/WHEEL +0 -0
- {mns_scheduler-1.1.3.0.dist-info → mns_scheduler-1.1.3.5.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,46 @@
|
|
|
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.api.ths.concept.web.ths_company_info_web as ths_company_info_web
|
|
9
|
+
import mns_common.api.em.east_money_stock_v2_api as east_money_stock_v2_api
|
|
10
|
+
from mns_common.db.MongodbUtil import MongodbUtil
|
|
11
|
+
import mns_common.utils.data_frame_util as data_frame_util
|
|
12
|
+
import mns_common.constant.db_name_constant as db_name_constant
|
|
13
|
+
import mns_common.component.company.company_common_service_api as company_common_service_api
|
|
14
|
+
import mns_common.component.common_service_fun_api as common_service_fun_api
|
|
15
|
+
from loguru import logger
|
|
16
|
+
|
|
17
|
+
mongodb_util = MongodbUtil('27017')
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
def sync_company_remark_info():
|
|
21
|
+
east_money_stock_info = east_money_stock_v2_api.get_all_real_time_quotes()
|
|
22
|
+
de_listed_stock_list = company_common_service_api.get_de_list_company()
|
|
23
|
+
east_money_stock_info = east_money_stock_info.loc[~(
|
|
24
|
+
east_money_stock_info['symbol'].isin(de_listed_stock_list))]
|
|
25
|
+
east_money_stock_info = common_service_fun_api.exclude_ts_symbol(east_money_stock_info)
|
|
26
|
+
east_money_stock_info = east_money_stock_info.loc[~((east_money_stock_info['industry'] == '-')
|
|
27
|
+
& (east_money_stock_info['now_price'] == 0))]
|
|
28
|
+
|
|
29
|
+
for stock_one in east_money_stock_info.itertuples():
|
|
30
|
+
try:
|
|
31
|
+
company_remark_info = ths_company_info_web.get_company_info(stock_one.symbol)
|
|
32
|
+
company_remark_info['_id'] = stock_one.symbol
|
|
33
|
+
company_remark_info['symbol'] = stock_one.symbol
|
|
34
|
+
company_remark_info['remark'] = ''
|
|
35
|
+
exist_company_remark_df = mongodb_util.find_query_data(db_name_constant.COMPANY_REMARK_INFO,
|
|
36
|
+
query={"symbol": stock_one.symbol})
|
|
37
|
+
if data_frame_util.is_not_empty(exist_company_remark_df):
|
|
38
|
+
company_remark_info['remark'] = list(exist_company_remark_df['remark'])[0]
|
|
39
|
+
mongodb_util.save_mongo(company_remark_info, db_name_constant.COMPANY_REMARK_INFO)
|
|
40
|
+
except BaseException as e:
|
|
41
|
+
|
|
42
|
+
logger.error("同步公司备注信息发生异常:{},{}", stock_one.symbol, e)
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
if __name__ == '__main__':
|
|
46
|
+
sync_company_remark_info()
|
|
@@ -0,0 +1,74 @@
|
|
|
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.api.ths.self_choose.ths_self_choose_api as ths_self_choose_api
|
|
9
|
+
import mns_common.constant.db_name_constant as db_name_constant
|
|
10
|
+
from mns_common.db.MongodbUtil import MongodbUtil
|
|
11
|
+
import mns_common.api.ths.zt.ths_stock_zt_pool_api as ths_stock_zt_pool_api
|
|
12
|
+
import mns_common.component.common_service_fun_api as common_service_fun_api
|
|
13
|
+
|
|
14
|
+
mongodb_util = MongodbUtil('27017')
|
|
15
|
+
|
|
16
|
+
# 固定的选择
|
|
17
|
+
fixed_optional_list = ['USDCNH', 'XAUUSD',
|
|
18
|
+
'881279',
|
|
19
|
+
'886054', '881153', '881157', '881155',
|
|
20
|
+
'885736', '881124', '886078',
|
|
21
|
+
'881145', '886073', '881160', '885730',
|
|
22
|
+
'886076', '883418', '881169', '885530',
|
|
23
|
+
'CN0Y',
|
|
24
|
+
'1B0888',
|
|
25
|
+
'1A0001',
|
|
26
|
+
'399001',
|
|
27
|
+
'399006',
|
|
28
|
+
'1B0688',
|
|
29
|
+
'899050',
|
|
30
|
+
'HSI',
|
|
31
|
+
'HS2083',
|
|
32
|
+
]
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
def add_fixed_optional():
|
|
36
|
+
query = {"type": "ths_cookie"}
|
|
37
|
+
stock_account_info = mongodb_util.find_query_data(db_name_constant.STOCK_ACCOUNT_INFO, query)
|
|
38
|
+
ths_cookie = list(stock_account_info['cookie'])[0]
|
|
39
|
+
for symbol in fixed_optional_list:
|
|
40
|
+
ths_self_choose_api.add_stock_to_account(symbol, ths_cookie)
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
def delete_all_self_choose_stocks():
|
|
44
|
+
query = {"type": "ths_cookie"}
|
|
45
|
+
stock_account_info = mongodb_util.find_query_data(db_name_constant.STOCK_ACCOUNT_INFO, query)
|
|
46
|
+
ths_cookie = list(stock_account_info['cookie'])[0]
|
|
47
|
+
all_self_choose_stock_list = ths_self_choose_api.get_all_self_choose_stock_list(ths_cookie)
|
|
48
|
+
for stock_one in all_self_choose_stock_list.itertuples():
|
|
49
|
+
symbol = stock_one.code
|
|
50
|
+
ths_self_choose_api.del_stock_from_account(symbol, ths_cookie)
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
# 添加连板到自选
|
|
54
|
+
def add_continue_boards_zt_stocks():
|
|
55
|
+
query = {"type": "ths_cookie"}
|
|
56
|
+
stock_account_info = mongodb_util.find_query_data(db_name_constant.STOCK_ACCOUNT_INFO, query)
|
|
57
|
+
ths_cookie = list(stock_account_info['cookie'])[0]
|
|
58
|
+
ths_stock_zt_pool_df = ths_stock_zt_pool_api.get_zt_reason(None)
|
|
59
|
+
ths_stock_zt_pool_df = ths_stock_zt_pool_df.loc[ths_stock_zt_pool_df['connected_boards_numbers'] > 1]
|
|
60
|
+
ths_stock_zt_pool_df = common_service_fun_api.exclude_st_symbol(ths_stock_zt_pool_df)
|
|
61
|
+
ths_stock_zt_pool_df = ths_stock_zt_pool_df.sort_values(by=['connected_boards_numbers'], ascending=False)
|
|
62
|
+
for stock_one in ths_stock_zt_pool_df.itertuples():
|
|
63
|
+
ths_self_choose_api.add_stock_to_account(stock_one.symbol, ths_cookie)
|
|
64
|
+
|
|
65
|
+
|
|
66
|
+
# 自选股操作 删除当天自选股 增加新的连板股票 添加固定选择自选
|
|
67
|
+
def self_choose_stock_handle():
|
|
68
|
+
delete_all_self_choose_stocks()
|
|
69
|
+
add_continue_boards_zt_stocks()
|
|
70
|
+
add_fixed_optional()
|
|
71
|
+
|
|
72
|
+
|
|
73
|
+
if __name__ == '__main__':
|
|
74
|
+
self_choose_stock_handle()
|
|
@@ -5,7 +5,7 @@ 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
|
-
|
|
8
|
+
import mns_scheduler.self_choose.ths_self_choose_service as ths_self_choose_service
|
|
9
9
|
import mns_scheduler.risk.major_violations.register_and_investigate_stock_sync_api \
|
|
10
10
|
as register_and_investigate_stock_sync_api
|
|
11
11
|
from loguru import logger
|
|
@@ -50,6 +50,7 @@ import mns_scheduler.company_info.clean.company_info_clean_api as company_info_c
|
|
|
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
52
|
import mns_scheduler.trade.task.trader_task_service as trader_task_service
|
|
53
|
+
import mns_scheduler.company_info.remark.company_remark_info_sync as company_remark_info_sync
|
|
53
54
|
|
|
54
55
|
|
|
55
56
|
# 同步交易日期任务完成
|
|
@@ -351,9 +352,21 @@ def real_time_task_check_status():
|
|
|
351
352
|
|
|
352
353
|
# 打开交易客户端
|
|
353
354
|
def trader_client_auto_login():
|
|
355
|
+
logger.info('打开交易客户端')
|
|
354
356
|
trader_task_service.open_trader_terminal()
|
|
355
357
|
|
|
356
358
|
|
|
359
|
+
# 同步公司备注信息
|
|
360
|
+
def sync_company_remark_info():
|
|
361
|
+
logger.info('同步公司备注信息')
|
|
362
|
+
company_remark_info_sync.sync_company_remark_info()
|
|
363
|
+
|
|
364
|
+
|
|
365
|
+
# 自选股操作任务
|
|
366
|
+
def self_choose_stock_task():
|
|
367
|
+
ths_self_choose_service.self_choose_stock_handle()
|
|
368
|
+
|
|
369
|
+
|
|
357
370
|
# # 定义BlockingScheduler
|
|
358
371
|
blockingScheduler = BlockingScheduler()
|
|
359
372
|
# sync_trade_date 同步交易日期
|
|
@@ -437,6 +450,10 @@ blockingScheduler.add_job(real_time_task_check_status, 'interval', seconds=59, m
|
|
|
437
450
|
|
|
438
451
|
# 打开交易客户端
|
|
439
452
|
blockingScheduler.add_job(trader_client_auto_login, 'cron', hour='08,12', minute='30')
|
|
453
|
+
# 同步公司备注信息
|
|
454
|
+
blockingScheduler.add_job(sync_company_remark_info, 'cron', hour='22', minute='30')
|
|
455
|
+
# 自选股操作
|
|
456
|
+
blockingScheduler.add_job(self_choose_stock_task, 'cron', hour='17', minute='30')
|
|
440
457
|
|
|
441
458
|
print('定时任务启动成功')
|
|
442
459
|
blockingScheduler.start()
|
|
@@ -22,6 +22,8 @@ mns_scheduler/company_info/constant/__init__.py,sha256=wEg73KlZo-dU0yKGwpA1C2y6L
|
|
|
22
22
|
mns_scheduler/company_info/constant/company_constant_data.py,sha256=XIM81fA4PNalVJNBYXiMddkcW012fFtofoPGYy2VtD0,16001
|
|
23
23
|
mns_scheduler/company_info/de_list_stock/__init__.py,sha256=wEg73KlZo-dU0yKGwpA1C2y6LZm4IBb94tNda1tqLeg,163
|
|
24
24
|
mns_scheduler/company_info/de_list_stock/de_list_stock_service.py,sha256=GCp6hlvO-SuH1oIpEsYZwEnGUOa6fXb2D7CqAUYXKQA,1993
|
|
25
|
+
mns_scheduler/company_info/remark/__init__.py,sha256=wEg73KlZo-dU0yKGwpA1C2y6LZm4IBb94tNda1tqLeg,163
|
|
26
|
+
mns_scheduler/company_info/remark/company_remark_info_sync.py,sha256=hzQ8uBK4-odbk3fA4M4IYbx1yLe34eHE7eH1ltPRtrU,2354
|
|
25
27
|
mns_scheduler/concept/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
|
|
26
28
|
mns_scheduler/concept/clean/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
|
|
27
29
|
mns_scheduler/concept/clean/kpl_concept_clean_api.py,sha256=xxIIgrXLI6xLf10t4unJa7aMB_QeKeki1HJVeXsntkY,4512
|
|
@@ -105,6 +107,8 @@ mns_scheduler/risk/test/__init__.py,sha256=wEg73KlZo-dU0yKGwpA1C2y6LZm4IBb94tNda
|
|
|
105
107
|
mns_scheduler/risk/test/fix_blask_list.py,sha256=jjLhhIWH1L4CgNp2jQ_HAHbC3wVgeX1TzhqC--_D2MI,1249
|
|
106
108
|
mns_scheduler/risk/transactions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
107
109
|
mns_scheduler/risk/transactions/transactions_check_api.py,sha256=_VOiUyIPyTGbcrbuxzJnp1KiLdKBJsRS584f-jqHXA0,6682
|
|
110
|
+
mns_scheduler/self_choose/__init__.py,sha256=wEg73KlZo-dU0yKGwpA1C2y6LZm4IBb94tNda1tqLeg,163
|
|
111
|
+
mns_scheduler/self_choose/ths_self_choose_service.py,sha256=RjkEYVyVSUNyXYy6PdlZkGFbZs_RDGy9JfpxVWAkX40,3124
|
|
108
112
|
mns_scheduler/trade/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
|
|
109
113
|
mns_scheduler/trade/auto_ipo_buy_api.py,sha256=jVe5ZiXwzkDy_j_4X4rUamSzJpmzhV16lNKwbeWgpQw,386
|
|
110
114
|
mns_scheduler/trade/auto_sell_service_api.py,sha256=b-4xmW6W6cd6dMuLPD7ZJu3tUtchMcUG-p7wOMm_RRY,4640
|
|
@@ -133,8 +137,8 @@ mns_scheduler/zt/zt_pool/__init__.py,sha256=Tyvi_iQlv3jz59EdH67Mycnt9CSixcWPQoJw
|
|
|
133
137
|
mns_scheduler/zt/zt_pool/em_zt_pool_sync_api.py,sha256=x3-NCugHoY5IuX2s1UOUMl8DZsi9nrtMbEGzxWqJj3c,7642
|
|
134
138
|
mns_scheduler/zt/zt_pool/ths_zt_pool_sync_api.py,sha256=0juoFzZ4zAxhbsyitQ5FQrEeUu7CWCxmMEypBVKriH4,10353
|
|
135
139
|
mns_scheduler/zz_task/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
|
|
136
|
-
mns_scheduler/zz_task/data_sync_task.py,sha256=
|
|
137
|
-
mns_scheduler-1.1.3.
|
|
138
|
-
mns_scheduler-1.1.3.
|
|
139
|
-
mns_scheduler-1.1.3.
|
|
140
|
-
mns_scheduler-1.1.3.
|
|
140
|
+
mns_scheduler/zz_task/data_sync_task.py,sha256=EexJz4F5WtyZ5N7qG3U6IzHHQwnvN-EqQEUxcTyRRyk,19069
|
|
141
|
+
mns_scheduler-1.1.3.5.dist-info/METADATA,sha256=bqk-GV6V2fKaOKyqldLPy9qEt5rnBFsNRo0z4xUAJXU,64
|
|
142
|
+
mns_scheduler-1.1.3.5.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
|
|
143
|
+
mns_scheduler-1.1.3.5.dist-info/top_level.txt,sha256=PXQDFBGR1pWmsUbH5yiLAh71P5HZODTRED0zJ8CCgOc,14
|
|
144
|
+
mns_scheduler-1.1.3.5.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|