mns-scheduler 1.0.4.3__py3-none-any.whl → 1.0.4.6__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/company_constant_data.py +30 -41
- mns_scheduler/company_info/company_info_sync_api.py +2 -2
- mns_scheduler/concept/clean/kpl_concept_clean_api.py +80 -0
- mns_scheduler/concept/clean/ths_concept_clean_api.py +3 -3
- mns_scheduler/k_line/sync/daily_week_month_line_sync.py +3 -3
- mns_scheduler/zt/realtime_quotes_now_zt_kc_sync.py +1 -1
- mns_scheduler/zt/zt_pool_sync_api.py +5 -2
- mns_scheduler/zz_task/data_sync_task.py +7 -4
- {mns_scheduler-1.0.4.3.dist-info → mns_scheduler-1.0.4.6.dist-info}/METADATA +1 -1
- {mns_scheduler-1.0.4.3.dist-info → mns_scheduler-1.0.4.6.dist-info}/RECORD +12 -11
- {mns_scheduler-1.0.4.3.dist-info → mns_scheduler-1.0.4.6.dist-info}/WHEEL +0 -0
- {mns_scheduler-1.0.4.3.dist-info → mns_scheduler-1.0.4.6.dist-info}/top_level.txt +0 -0
|
@@ -7,6 +7,7 @@ project_path = file_path[0:end]
|
|
|
7
7
|
sys.path.append(project_path)
|
|
8
8
|
import pandas as pd
|
|
9
9
|
from mns_common.db.MongodbUtil import MongodbUtil
|
|
10
|
+
import mns_common.utils.data_frame_util as data_frame_util
|
|
10
11
|
|
|
11
12
|
mongodb_util = MongodbUtil('27017')
|
|
12
13
|
|
|
@@ -108,10 +109,32 @@ fix_symbol_list = [
|
|
|
108
109
|
'600338',
|
|
109
110
|
'000032',
|
|
110
111
|
'300042',
|
|
111
|
-
'300295'
|
|
112
|
+
'300295',
|
|
113
|
+
'300483'
|
|
112
114
|
]
|
|
113
115
|
|
|
114
116
|
|
|
117
|
+
def get_fix_symbol_industry():
|
|
118
|
+
return pd.DataFrame([['688480', '赛恩斯', '760103', '环境治理'],
|
|
119
|
+
['000032', '深桑达A', '730200', '通信网络设备及器件'],
|
|
120
|
+
['688480', '赛恩斯', '640704', '自动化设备'],
|
|
121
|
+
['603260', '合盛硅业', '220316', '有机硅'],
|
|
122
|
+
['300559', '佳发教育', '461102', '培训教育'],
|
|
123
|
+
['300836', '佰奥智能', '640701', '机器人'],
|
|
124
|
+
['300293', '蓝英装备', '640701', '机器人'],
|
|
125
|
+
['688630', '芯碁微装', '270108', '半导体设备'],
|
|
126
|
+
['001309', '德明利', '270108', '半导体设备'],
|
|
127
|
+
['600338', '西藏珠峰', '240603', '锂'],
|
|
128
|
+
['300042', '朗科科技', '270108', '半导体设备'],
|
|
129
|
+
['688507', '索辰科技', '710402', '横向通用软件'],
|
|
130
|
+
['301387', '光大同创', '270504', '消费电子零部件及组装'],
|
|
131
|
+
['300295', '三六五网', '430300', '物业管理'],
|
|
132
|
+
['300947', '德必集团', '430300', '物业管理'],
|
|
133
|
+
['300483', '首华燃气', '410301', '燃气Ⅲ'],
|
|
134
|
+
],
|
|
135
|
+
columns=['symbol', 'name', 'new_industry_code', 'new_industry'])
|
|
136
|
+
|
|
137
|
+
|
|
115
138
|
def get_industry_final_fix_df():
|
|
116
139
|
return pd.DataFrame([
|
|
117
140
|
# 汽车
|
|
@@ -374,51 +397,17 @@ def fix_industry_data(industry_id, company_info):
|
|
|
374
397
|
|
|
375
398
|
|
|
376
399
|
def fix_symbol_industry(company_info, symbol):
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
if
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
if symbol == '301112':
|
|
383
|
-
company_info = fix_industry_data('640209', company_info)
|
|
384
|
-
|
|
385
|
-
if symbol == '603260':
|
|
386
|
-
company_info = fix_industry_data('220316', company_info)
|
|
387
|
-
|
|
388
|
-
if symbol == '300559':
|
|
389
|
-
company_info = fix_industry_data('461102', company_info)
|
|
390
|
-
|
|
391
|
-
if symbol == '300836':
|
|
392
|
-
company_info = fix_industry_data('640701', company_info)
|
|
393
|
-
|
|
394
|
-
if symbol == '300293':
|
|
395
|
-
company_info = fix_industry_data('640701', company_info)
|
|
396
|
-
if symbol == '688630':
|
|
397
|
-
company_info = fix_industry_data('270108', company_info)
|
|
398
|
-
|
|
399
|
-
if symbol == '001309':
|
|
400
|
-
company_info = fix_industry_data('270108', company_info)
|
|
401
|
-
|
|
402
|
-
if symbol == '600338':
|
|
403
|
-
company_info = fix_industry_data('240603', company_info)
|
|
404
|
-
|
|
405
|
-
if symbol == '300042':
|
|
406
|
-
company_info = fix_industry_data('270100', company_info)
|
|
407
|
-
|
|
408
|
-
if symbol == '688507':
|
|
409
|
-
company_info = fix_industry_data('710402', company_info)
|
|
410
|
-
|
|
411
|
-
if symbol == '301387':
|
|
412
|
-
company_info = fix_industry_data('270504', company_info)
|
|
413
|
-
# 修改到房地产行业
|
|
414
|
-
if symbol == '300295':
|
|
415
|
-
company_info = fix_industry_data('430301', company_info)
|
|
400
|
+
fix_symbol_df = get_fix_symbol_industry()
|
|
401
|
+
fix_symbol_df_one = fix_symbol_df.loc[fix_symbol_df['symbol'] == symbol]
|
|
402
|
+
if data_frame_util.is_not_empty(fix_symbol_df_one):
|
|
403
|
+
new_industry_code = list(fix_symbol_df_one['new_industry_code'])[0]
|
|
404
|
+
company_info = fix_industry_data(new_industry_code, company_info)
|
|
416
405
|
|
|
417
406
|
return company_info
|
|
418
407
|
|
|
419
408
|
|
|
420
409
|
def fix_one_symbol():
|
|
421
|
-
symbol = '
|
|
410
|
+
symbol = '300483'
|
|
422
411
|
company_info = mongodb_util.find_query_data('company_info', query={'_id': symbol})
|
|
423
412
|
company_info = fix_symbol_industry(company_info, symbol)
|
|
424
413
|
company_info['industry'] = company_info['second_sw_industry']
|
|
@@ -470,6 +470,6 @@ if __name__ == '__main__':
|
|
|
470
470
|
# 300293
|
|
471
471
|
# sync_company_base_info(None)
|
|
472
472
|
# new_company_info_update()
|
|
473
|
-
sync_company_base_info(
|
|
474
|
-
fix_company_industry(
|
|
473
|
+
sync_company_base_info(['300483'])
|
|
474
|
+
fix_company_industry('300483')
|
|
475
475
|
# group_by_industry()
|
|
@@ -0,0 +1,80 @@
|
|
|
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
|
+
from mns_common.db.MongodbUtil import MongodbUtil
|
|
9
|
+
import mns_common.constant.db_name_constant as db_name_constant
|
|
10
|
+
from loguru import logger
|
|
11
|
+
import mns_common.component.company.company_common_service_api as company_common_service_api
|
|
12
|
+
|
|
13
|
+
mongodb_util = MongodbUtil('27017')
|
|
14
|
+
import pandas as pd
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
# 开盘啦
|
|
18
|
+
def update_kpl_concept_info():
|
|
19
|
+
query = {}
|
|
20
|
+
kpl_best_choose_index_df = mongodb_util.find_query_data(db_name_constant.KPL_BEST_CHOOSE_INDEX, query)
|
|
21
|
+
for kpl_concept_one in kpl_best_choose_index_df.itertuples():
|
|
22
|
+
try:
|
|
23
|
+
query_detail = {"plate_code": kpl_concept_one.plate_code}
|
|
24
|
+
kpl_best_choose_index_detail_df = mongodb_util.find_query_data(
|
|
25
|
+
db_name_constant.KPL_BEST_CHOOSE_INDEX_DETAIL,
|
|
26
|
+
query_detail)
|
|
27
|
+
concept_count = kpl_best_choose_index_detail_df.shape[0]
|
|
28
|
+
kpl_best_choose_index_one_df = kpl_best_choose_index_df.loc[
|
|
29
|
+
kpl_best_choose_index_df['plate_code'] == kpl_concept_one.plate_code]
|
|
30
|
+
kpl_best_choose_index_one_df['concept_count'] = concept_count
|
|
31
|
+
|
|
32
|
+
kpl_best_choose_index_detail_df = kpl_best_choose_index_detail_df.reset_index(drop=True)
|
|
33
|
+
|
|
34
|
+
if 'industry' in kpl_best_choose_index_detail_df.columns:
|
|
35
|
+
del kpl_best_choose_index_detail_df['industry']
|
|
36
|
+
|
|
37
|
+
company_info_df = company_common_service_api.get_company_info_industry()
|
|
38
|
+
company_info_df = company_info_df[['_id', 'industry']]
|
|
39
|
+
company_info_df = company_info_df.loc[
|
|
40
|
+
company_info_df['_id'].isin(list(kpl_best_choose_index_detail_df['symbol']))]
|
|
41
|
+
company_info_df = company_info_df.set_index(['_id'], drop=True)
|
|
42
|
+
|
|
43
|
+
kpl_best_choose_index_detail_df = kpl_best_choose_index_detail_df.set_index(['symbol'], drop=False)
|
|
44
|
+
kpl_best_choose_index_detail_df = pd.merge(kpl_best_choose_index_detail_df, company_info_df,
|
|
45
|
+
how='outer',
|
|
46
|
+
left_index=True, right_index=True)
|
|
47
|
+
kpl_best_choose_index_detail_df.dropna(subset=['industry'], axis=0, inplace=True)
|
|
48
|
+
|
|
49
|
+
grouped = kpl_best_choose_index_detail_df.groupby('industry')
|
|
50
|
+
result_list = grouped.size()
|
|
51
|
+
ths_concept_group = pd.DataFrame(result_list, columns=['number'])
|
|
52
|
+
ths_concept_group['industry'] = ths_concept_group.index
|
|
53
|
+
ths_concept_group = ths_concept_group.sort_values(by=['number'], ascending=False)
|
|
54
|
+
if ths_concept_group.shape[0] >= 2:
|
|
55
|
+
first_relevance_industry = list(ths_concept_group.iloc[0:1]['industry'])[0]
|
|
56
|
+
first_relevance_industry_number = list(ths_concept_group.iloc[0:1]['number'])[0]
|
|
57
|
+
second_relevance_industry = list(ths_concept_group.iloc[1:2]['industry'])[0]
|
|
58
|
+
second_relevance_industry_number = list(ths_concept_group.iloc[1:2]['number'])[0]
|
|
59
|
+
else:
|
|
60
|
+
first_relevance_industry = list(ths_concept_group.iloc[0:1]['industry'])[0]
|
|
61
|
+
first_relevance_industry_number = list(ths_concept_group.iloc[0:1]['number'])[0]
|
|
62
|
+
second_relevance_industry = '无'
|
|
63
|
+
second_relevance_industry_number = 0
|
|
64
|
+
kpl_best_choose_index_one_df['first_relevance_industry'] = first_relevance_industry
|
|
65
|
+
kpl_best_choose_index_one_df['second_relevance_industry'] = second_relevance_industry
|
|
66
|
+
kpl_best_choose_index_one_df['first_relevance_industry_number'] = first_relevance_industry_number
|
|
67
|
+
kpl_best_choose_index_one_df['second_relevance_industry_number'] = second_relevance_industry_number
|
|
68
|
+
|
|
69
|
+
kpl_best_choose_index_detail_df['first_relevance_industry'] = first_relevance_industry
|
|
70
|
+
kpl_best_choose_index_detail_df['second_relevance_industry'] = second_relevance_industry
|
|
71
|
+
|
|
72
|
+
mongodb_util.save_mongo(kpl_best_choose_index_one_df, db_name_constant.KPL_BEST_CHOOSE_INDEX)
|
|
73
|
+
mongodb_util.save_mongo(kpl_best_choose_index_detail_df, db_name_constant.KPL_BEST_CHOOSE_INDEX_DETAIL)
|
|
74
|
+
|
|
75
|
+
except Exception as e:
|
|
76
|
+
logger.error("更新开盘啦概念异常:{},{}", e, kpl_concept_one.plate_name)
|
|
77
|
+
|
|
78
|
+
|
|
79
|
+
if __name__ == '__main__':
|
|
80
|
+
update_kpl_concept_info()
|
|
@@ -16,8 +16,8 @@ import mns_common.constant.db_name_constant as db_name_constant
|
|
|
16
16
|
mongodb_util = MongodbUtil('27017')
|
|
17
17
|
|
|
18
18
|
|
|
19
|
-
#
|
|
20
|
-
def
|
|
19
|
+
# 统计概念股票数量和行业分组信息
|
|
20
|
+
def update_ths_concept_info():
|
|
21
21
|
ths_concept_list = mongodb_util.find_all_data(db_name_constant.THS_CONCEPT_LIST)
|
|
22
22
|
for ths_concept_one in ths_concept_list.itertuples():
|
|
23
23
|
try:
|
|
@@ -108,6 +108,6 @@ def update_null_name():
|
|
|
108
108
|
|
|
109
109
|
if __name__ == '__main__':
|
|
110
110
|
logger.info("开始")
|
|
111
|
-
|
|
111
|
+
update_ths_concept_info()
|
|
112
112
|
logger.info("结束")
|
|
113
113
|
update_null_name()
|
|
@@ -105,9 +105,9 @@ def create_db_index(db_name):
|
|
|
105
105
|
|
|
106
106
|
|
|
107
107
|
if __name__ == '__main__':
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
sync_all_daily_data('monthly', 'qfq', 'stock_qfq_monthly', None, None)
|
|
108
|
+
sync_all_daily_data('daily', 'qfq', 'stock_qfq_daily', None, None)
|
|
109
|
+
sync_all_daily_data('weekly', 'qfq', 'stock_qfq_weekly', None, None)
|
|
110
|
+
# sync_all_daily_data('monthly', 'qfq', 'stock_qfq_monthly', None, None)
|
|
111
111
|
|
|
112
112
|
# sync_all_daily_data('monthly', '1990-12-19', 'qfq', 'stock_qfq_monthly', None, None)
|
|
113
113
|
# sync_all_daily_data('daily', '1990-12-19', 'qfq', 'stock_qfq_daily', '2023-10-31', None)
|
|
@@ -337,7 +337,7 @@ def fix_miss_data(str_end):
|
|
|
337
337
|
|
|
338
338
|
|
|
339
339
|
if __name__ == '__main__':
|
|
340
|
-
|
|
340
|
+
sync_all_kc_zt_data('2024-05-10', None)
|
|
341
341
|
# sync_all_kc_zt_data('2023-08-16')
|
|
342
342
|
# sync_all_kc_zt_data('2023-07-07')
|
|
343
343
|
# realtime_quotes_now_zt_new_kc_open_sync()
|
|
@@ -63,8 +63,8 @@ def save_zt_info(str_day):
|
|
|
63
63
|
for stock_one in stock_em_zt_pool_df_data.itertuples():
|
|
64
64
|
try:
|
|
65
65
|
stock_em_zt_pool_df_data = ths_concept_common_service_api.set_last_ths_concept(stock_one.symbol,
|
|
66
|
-
|
|
67
|
-
|
|
66
|
+
stock_em_zt_pool_df_data,
|
|
67
|
+
str_day)
|
|
68
68
|
ths_zt_pool_one_df = ths_zt_pool_df_data.loc[ths_zt_pool_df_data['symbol'] == stock_one.symbol]
|
|
69
69
|
if data_frame_util.is_empty(ths_zt_pool_one_df):
|
|
70
70
|
continue
|
|
@@ -126,6 +126,9 @@ def save_zt_info(str_day):
|
|
|
126
126
|
mongodb_util.save_mongo(stock_em_zt_pool_df_data, 'stock_zt_pool')
|
|
127
127
|
return stock_em_zt_pool_df_data
|
|
128
128
|
|
|
129
|
+
|
|
130
|
+
if __name__ == '__main__':
|
|
131
|
+
save_zt_info('2024-05-07')
|
|
129
132
|
# from datetime import datetime
|
|
130
133
|
#
|
|
131
134
|
# if __name__ == '__main__':
|
|
@@ -38,6 +38,7 @@ import mns_scheduler.trade.auto_ipo_buy_api as auto_ipo_buy_api
|
|
|
38
38
|
import mns_scheduler.kpl.selection.index.sync_best_choose_his_index as sync_best_choose_his_index
|
|
39
39
|
import mns_scheduler.concept.ths.common.ths_concept_update_common_api as ths_concept_update_common_api
|
|
40
40
|
import mns_scheduler.trade.sync_position_api as sync_position_api
|
|
41
|
+
import mns_scheduler.concept.clean.kpl_concept_clean_api as kpl_concept_clean_api
|
|
41
42
|
|
|
42
43
|
|
|
43
44
|
# 同步交易日期任务完成
|
|
@@ -211,12 +212,14 @@ def sync_stock_gdfx_free_top_10_one_day():
|
|
|
211
212
|
east_money_stock_gdfx_free_top_10_api.sync_stock_gdfx_free_top_10_one_day(str_day)
|
|
212
213
|
|
|
213
214
|
|
|
214
|
-
#
|
|
215
|
-
def
|
|
215
|
+
# 更新概念信息
|
|
216
|
+
def concept_info_clean():
|
|
216
217
|
# 更新空概念名称
|
|
217
218
|
ths_concept_choose_api.update_null_name()
|
|
218
219
|
# 更新概念包含个数
|
|
219
|
-
ths_concept_choose_api.
|
|
220
|
+
ths_concept_choose_api.update_ths_concept_info()
|
|
221
|
+
# 开盘啦概念信息更新
|
|
222
|
+
kpl_concept_clean_api.update_kpl_concept_info()
|
|
220
223
|
|
|
221
224
|
|
|
222
225
|
# 同步概念下所有股票组成 by 概念指数
|
|
@@ -347,7 +350,7 @@ blockingScheduler.add_job(sync_today_trade_k_line_info, 'cron', hour='08', minut
|
|
|
347
350
|
blockingScheduler.add_job(sync_stock_gdfx_free_top_10_one_day, 'cron', hour='08,22', minute='23')
|
|
348
351
|
|
|
349
352
|
# 更新同花顺概念信息
|
|
350
|
-
blockingScheduler.add_job(
|
|
353
|
+
blockingScheduler.add_job(concept_info_clean, 'cron', hour='9,12,20', minute='24')
|
|
351
354
|
|
|
352
355
|
# 更新概念指数下所有股票组成 by 概念代码
|
|
353
356
|
blockingScheduler.add_job(update_one_concept_all_symbol_detail, 'cron', hour='08,18,12', minute='30')
|
|
@@ -11,11 +11,12 @@ mns_scheduler/backup/wen_cai/wen_cai_concept_sync.py,sha256=boKtgOIXIsRny5n1keZm
|
|
|
11
11
|
mns_scheduler/big_deal/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
|
|
12
12
|
mns_scheduler/big_deal/ths_big_deal_sync.py,sha256=wezGJWFRnKYBaPP9PVXLqMbHENOXgvJtw3HSGCSlX5c,4555
|
|
13
13
|
mns_scheduler/company_info/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
|
|
14
|
-
mns_scheduler/company_info/company_constant_data.py,sha256=
|
|
15
|
-
mns_scheduler/company_info/company_info_sync_api.py,sha256=
|
|
14
|
+
mns_scheduler/company_info/company_constant_data.py,sha256=PkV8i2Wx18lSuAj_UuUw_QzhYrRhTE4x3Cft7-P-Ghs,15735
|
|
15
|
+
mns_scheduler/company_info/company_info_sync_api.py,sha256=kL0QETih5lfczZ2WB9Iopmy4RjpvWY5NKPNVUZ5dq-s,20342
|
|
16
16
|
mns_scheduler/concept/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
|
|
17
17
|
mns_scheduler/concept/clean/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
|
|
18
|
-
mns_scheduler/concept/clean/
|
|
18
|
+
mns_scheduler/concept/clean/kpl_concept_clean_api.py,sha256=xxIIgrXLI6xLf10t4unJa7aMB_QeKeki1HJVeXsntkY,4512
|
|
19
|
+
mns_scheduler/concept/clean/ths_concept_clean_api.py,sha256=XjmlLlzJ6kLDAXyaQwZJ1maYJpjE7P3DO7S1ieHOHRo,5907
|
|
19
20
|
mns_scheduler/concept/ths/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
|
|
20
21
|
mns_scheduler/concept/ths/common/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
|
|
21
22
|
mns_scheduler/concept/ths/common/ths_concept_sync_common_api.py,sha256=8KOz1AlUFmo0hdlkOuc5rDLKIeYkRK3-ooA5Z_wJX10,6724
|
|
@@ -37,7 +38,7 @@ mns_scheduler/k_line/clean/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlI
|
|
|
37
38
|
mns_scheduler/k_line/clean/k_line_info_clean_impl.py,sha256=3NPu-bkBw5ARW2yoMAmf_-au6vxQdSjzGlT-l4dqV4w,21833
|
|
38
39
|
mns_scheduler/k_line/clean/k_line_info_clean_service.py,sha256=zsb6HmyD4eqN7b135S4UgFR8U1vBLwqEZA1kIc8RuQ0,7988
|
|
39
40
|
mns_scheduler/k_line/sync/__init__.py,sha256=ffZXFCLFdIwOsbxnw__u1MbQYh9yz7Bs8UMP6VF0X2M,161
|
|
40
|
-
mns_scheduler/k_line/sync/daily_week_month_line_sync.py,sha256=
|
|
41
|
+
mns_scheduler/k_line/sync/daily_week_month_line_sync.py,sha256=MsBY-GtDXu9Eyd2nYanvSsLSTFnXIUq0BlQG4ptknqQ,5652
|
|
41
42
|
mns_scheduler/kpl/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
|
|
42
43
|
mns_scheduler/kpl/selection/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
|
|
43
44
|
mns_scheduler/kpl/selection/index/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
|
|
@@ -58,14 +59,14 @@ mns_scheduler/zb/__init__.py,sha256=Tyvi_iQlv3jz59EdH67Mycnt9CSixcWPQoJwu55bOq0,
|
|
|
58
59
|
mns_scheduler/zb/stock_zb_pool_sync.py,sha256=ky3CNDzpjB6C_frCf4YGNXdidnUo-uUUKsJpY62P4Bk,1936
|
|
59
60
|
mns_scheduler/zt/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
|
|
60
61
|
mns_scheduler/zt/export_open_data_to_excel.py,sha256=haOSmh-aXnScp58u0mLE_QvcWIIuRfwxgmyF-XQMk_U,4015
|
|
61
|
-
mns_scheduler/zt/realtime_quotes_now_zt_kc_sync.py,sha256=
|
|
62
|
+
mns_scheduler/zt/realtime_quotes_now_zt_kc_sync.py,sha256=KlrCDx6zTzMNRPzI9-EHTbFFLbe690JOiJK_dFQrlVQ,17272
|
|
62
63
|
mns_scheduler/zt/today_high_chg_pool_sync_api.py,sha256=G6FXMH7HnvhyMFoE-RszggkByEp4bThyebt_9KiSX7c,21283
|
|
63
64
|
mns_scheduler/zt/zt_five_boards_sync_api.py,sha256=HfjPHKD99fU9c37kSenEX2_qNvFAjQGgy8ERuacSxwk,10916
|
|
64
|
-
mns_scheduler/zt/zt_pool_sync_api.py,sha256=
|
|
65
|
+
mns_scheduler/zt/zt_pool_sync_api.py,sha256=RrVAbU1u-HTqXF9BSwNlzIxMHrUgjNaLpDKFgXC1XuY,7604
|
|
65
66
|
mns_scheduler/zz_task/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
|
|
66
|
-
mns_scheduler/zz_task/data_sync_task.py,sha256=
|
|
67
|
+
mns_scheduler/zz_task/data_sync_task.py,sha256=kS8HR6OZcsre3MWOyHFKEqG-S2v3SKUeezDLh5pCn5w,15670
|
|
67
68
|
mns_scheduler/zz_task/sync_realtime_quotes_task.py,sha256=DN3bq2XCDZC-PHlbD2NTog48bR44EruIEc2QVGKg7Tk,932
|
|
68
|
-
mns_scheduler-1.0.4.
|
|
69
|
-
mns_scheduler-1.0.4.
|
|
70
|
-
mns_scheduler-1.0.4.
|
|
71
|
-
mns_scheduler-1.0.4.
|
|
69
|
+
mns_scheduler-1.0.4.6.dist-info/METADATA,sha256=sJ-dI0AER3Y4Kch_aBT5k0KOC7wkNdGImv0cx3Rc7eg,64
|
|
70
|
+
mns_scheduler-1.0.4.6.dist-info/WHEEL,sha256=oiQVh_5PnQM0E3gPdiz09WCNmwiHDMaGer_elqB3coM,92
|
|
71
|
+
mns_scheduler-1.0.4.6.dist-info/top_level.txt,sha256=PXQDFBGR1pWmsUbH5yiLAh71P5HZODTRED0zJ8CCgOc,14
|
|
72
|
+
mns_scheduler-1.0.4.6.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|