mns-scheduler 1.0.7.6__py3-none-any.whl → 1.0.7.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/open/__init__.py +7 -0
- mns_scheduler/open/sync_one_day_open_data_to_db_service.py +86 -0
- mns_scheduler/zt/connected_boards/__init__.py +8 -0
- mns_scheduler/zt/export/__init__.py +8 -0
- mns_scheduler/zt/{export_open_data_to_excel.py → export/export_kcx_high_chg_open_data_to_excel.py} +2 -0
- mns_scheduler/zt/high_chg/__init__.py +7 -0
- mns_scheduler/zt/high_chg/sync_high_chg_pool_service.py +283 -0
- mns_scheduler/zt/high_chg/sync_high_chg_real_time_quotes_service.py +141 -0
- mns_scheduler/zt/open_data/__init__.py +8 -0
- mns_scheduler/zt/{realtime_quotes_now_zt_kc_sync.py → open_data/kcx_high_chg_open_data_sync.py} +9 -142
- mns_scheduler/zt/script/__init__.py +7 -0
- mns_scheduler/zt/script/kcx_high_chg_open_his_data_handle.py +113 -0
- mns_scheduler/zt/script/sync_high_chg_pool_his_data.py +39 -0
- mns_scheduler/zt/zt_pool/__init__.py +8 -0
- mns_scheduler/zz_task/data_sync_task.py +14 -9
- {mns_scheduler-1.0.7.6.dist-info → mns_scheduler-1.0.7.7.dist-info}/METADATA +1 -1
- {mns_scheduler-1.0.7.6.dist-info → mns_scheduler-1.0.7.7.dist-info}/RECORD +21 -10
- mns_scheduler/zt/today_high_chg_pool_sync_api.py +0 -481
- /mns_scheduler/zt/{zt_five_boards_sync_api.py → connected_boards/zt_five_boards_sync_api.py} +0 -0
- /mns_scheduler/zt/{zt_pool_sync_api.py → zt_pool/zt_pool_sync_api.py} +0 -0
- {mns_scheduler-1.0.7.6.dist-info → mns_scheduler-1.0.7.7.dist-info}/WHEEL +0 -0
- {mns_scheduler-1.0.7.6.dist-info → mns_scheduler-1.0.7.7.dist-info}/top_level.txt +0 -0
mns_scheduler/zt/{realtime_quotes_now_zt_kc_sync.py → open_data/kcx_high_chg_open_data_sync.py}
RENAMED
|
@@ -18,9 +18,10 @@ from datetime import time
|
|
|
18
18
|
from mns_common.db.MongodbUtil import MongodbUtil
|
|
19
19
|
import mns_common.utils.data_frame_util as data_frame_util
|
|
20
20
|
import mns_common.component.k_line.common.k_line_common_service_api as k_line_common_service_api
|
|
21
|
+
import mns_common.constant.db_name_constant as db_name_constant
|
|
22
|
+
import mns_common.utils.db_util as db_util
|
|
21
23
|
|
|
22
24
|
mongodb_util = MongodbUtil('27017')
|
|
23
|
-
mongodb_util_21019 = MongodbUtil('27019')
|
|
24
25
|
|
|
25
26
|
realtime_quotes_now_zt_new_kc_open_field = ['_id',
|
|
26
27
|
'symbol',
|
|
@@ -77,34 +78,16 @@ def fix_industry_data(real_time_quotes_now):
|
|
|
77
78
|
return real_time_quotes_now_result
|
|
78
79
|
|
|
79
80
|
|
|
80
|
-
def get_db(str_day):
|
|
81
|
-
trade_date_list = mongodb_util.find_query_data('trade_date_list', query={"_id": str_day, 'tag': False})
|
|
82
|
-
tag = trade_date_list.shape[0] > 0
|
|
83
|
-
if tag:
|
|
84
|
-
return mongodb_util
|
|
85
|
-
else:
|
|
86
|
-
return mongodb_util_21019
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
def create_db_index(db):
|
|
90
|
-
db.create_index('realtime_quotes_now_zt_new_kc', [("str_day", 1)])
|
|
91
|
-
db.create_index('realtime_quotes_now_zt_new_kc', [("symbol", 1)])
|
|
92
|
-
db.create_index('realtime_quotes_now_zt_new_kc', [("number", 1)])
|
|
93
|
-
db.create_index('realtime_quotes_now_zt_new_kc', [("symbol", 1), ("number", 1)])
|
|
94
|
-
db.create_index('realtime_quotes_now_zt_new_kc', [("str_now_date", 1)])
|
|
95
|
-
|
|
96
|
-
|
|
97
81
|
def sync_all_kc_zt_data(str_day, symbols):
|
|
98
|
-
create_db_index(mongodb_util)
|
|
99
82
|
if symbols is None:
|
|
100
83
|
query_daily = {'date': date_handle_util.no_slash_date(str_day),
|
|
101
|
-
"chg": {"$gte":
|
|
84
|
+
"chg": {"$gte": common_service_fun_api.ZT_CHG}}
|
|
102
85
|
else:
|
|
103
86
|
query_daily = {'date': date_handle_util.no_slash_date(str_day),
|
|
104
87
|
'symbol': {"$in": symbols},
|
|
105
|
-
"chg": {"$gte":
|
|
88
|
+
"chg": {"$gte": common_service_fun_api.ZT_CHG}}
|
|
106
89
|
|
|
107
|
-
kc_stock_qfq_daily = mongodb_util.find_query_data(
|
|
90
|
+
kc_stock_qfq_daily = mongodb_util.find_query_data(db_name_constant.STOCK_QFQ_DAILY, query_daily)
|
|
108
91
|
if data_frame_util.is_empty(kc_stock_qfq_daily):
|
|
109
92
|
logger.error("无k线数据:{}", symbols)
|
|
110
93
|
return
|
|
@@ -165,7 +148,7 @@ def sync_all_kc_zt_data(str_day, symbols):
|
|
|
165
148
|
logger.info("同步高涨幅开盘日期和代码:{},{}", str_day, kc_one.symbol)
|
|
166
149
|
|
|
167
150
|
query_real_time = {'symbol': kc_one.symbol}
|
|
168
|
-
db = get_db(str_day)
|
|
151
|
+
db = db_util.get_db(str_day)
|
|
169
152
|
realtime_quotes_now_kc = db.find_query_data(db_name, query_real_time)
|
|
170
153
|
realtime_quotes_now_kc = common_service_fun_api.exclude_new_stock(realtime_quotes_now_kc)
|
|
171
154
|
if realtime_quotes_now_kc.shape[0] == 0:
|
|
@@ -173,12 +156,11 @@ def sync_all_kc_zt_data(str_day, symbols):
|
|
|
173
156
|
continue
|
|
174
157
|
# 同步当天高涨幅集合竞价数据
|
|
175
158
|
one_symbol_day_open_data(realtime_quotes_now_kc, kc_one, str_day)
|
|
176
|
-
# # 同步高涨幅整天交易数据
|
|
177
|
-
one_symbol_day_data(str_day, kc_one, realtime_quotes_now_kc)
|
|
178
159
|
except BaseException as e:
|
|
179
160
|
logger.error("出现异常:{},{},{}", e, str_day, kc_one.symbol)
|
|
180
161
|
|
|
181
162
|
|
|
163
|
+
# k c x 高涨幅当天开盘数据
|
|
182
164
|
def one_symbol_day_open_data(realtime_quotes_now_kc, kc_one, str_day):
|
|
183
165
|
realtime_quotes_now_kc = realtime_quotes_now_kc.sort_values(by=['_id'], ascending=True)
|
|
184
166
|
realtime_quotes_now_kc = realtime_quotes_now_kc.loc[realtime_quotes_now_kc['str_now_date'] >= str_day + " 09:26:00"]
|
|
@@ -228,23 +210,10 @@ def one_symbol_day_open_data(realtime_quotes_now_kc, kc_one, str_day):
|
|
|
228
210
|
|
|
229
211
|
realtime_quotes_now_zt_new_kc_open_copy['deal_days'] = deal_days
|
|
230
212
|
|
|
231
|
-
mongodb_util.save_mongo(realtime_quotes_now_zt_new_kc_open_copy,
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
# 同步当前day整天数据
|
|
235
|
-
def one_symbol_day_data(str_day, kc_one, realtime_quotes_now_kc):
|
|
236
|
-
realtime_quotes_now_kc.loc[
|
|
237
|
-
realtime_quotes_now_kc['symbol'] == kc_one.symbol, 'industry'] = kc_one.industry
|
|
238
|
-
|
|
239
|
-
realtime_quotes_now_kc['str_day'] = str_day
|
|
240
|
-
|
|
241
|
-
query_remove = {"str_day": str_day, "symbol": kc_one.symbol}
|
|
242
|
-
|
|
243
|
-
success02 = mongodb_util.remove_data(query_remove, 'realtime_quotes_now_zt_new_kc').acknowledged
|
|
244
|
-
if success02:
|
|
245
|
-
mongodb_util.insert_mongo(realtime_quotes_now_kc, 'realtime_quotes_now_zt_new_kc')
|
|
213
|
+
mongodb_util.save_mongo(realtime_quotes_now_zt_new_kc_open_copy, db_name_constant.KCX_HIGH_CHG_OPEN_DATA)
|
|
246
214
|
|
|
247
215
|
|
|
216
|
+
# 初始化数据
|
|
248
217
|
def handle_init_real_time_quotes_data(real_time_quotes_now, str_now_date, number):
|
|
249
218
|
# exclude b symbol
|
|
250
219
|
real_time_quotes_now = common_service_fun_api.exclude_b_symbol(real_time_quotes_now.copy())
|
|
@@ -259,105 +228,3 @@ def handle_init_real_time_quotes_data(real_time_quotes_now, str_now_date, number
|
|
|
259
228
|
real_time_quotes_now['str_now_date'] = str_now_date
|
|
260
229
|
real_time_quotes_now['number'] = number
|
|
261
230
|
return real_time_quotes_now
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
# 同步当天所有开盘数据
|
|
265
|
-
def sync_one_day_open_data(str_day):
|
|
266
|
-
realtime_quotes_db_name = 'realtime_quotes_now_' + str_day
|
|
267
|
-
|
|
268
|
-
number = realtime_quotes_now_min_number_sync(realtime_quotes_db_name, 'number', str_day, "000001")
|
|
269
|
-
|
|
270
|
-
query = {"number": number}
|
|
271
|
-
db = get_db(str_day)
|
|
272
|
-
realtime_quotes_now_list = db.find_query_data(realtime_quotes_db_name, query)
|
|
273
|
-
|
|
274
|
-
realtime_quotes_now_one = realtime_quotes_now_list.iloc[0]
|
|
275
|
-
str_now_date = realtime_quotes_now_one['_id']
|
|
276
|
-
str_now_date = str_now_date[7:26]
|
|
277
|
-
|
|
278
|
-
now_date = date_handle_util.str_to_date(str_now_date, "%Y-%m-%d %H:%M:%S")
|
|
279
|
-
now_date_time = now_date.time()
|
|
280
|
-
|
|
281
|
-
target_time_09_31 = time(9, 31)
|
|
282
|
-
if now_date_time >= target_time_09_31:
|
|
283
|
-
return
|
|
284
|
-
|
|
285
|
-
realtime_quotes_now_list['str_day'] = str_day
|
|
286
|
-
|
|
287
|
-
realtime_quotes_now_list = handle_init_real_time_quotes_data(
|
|
288
|
-
realtime_quotes_now_list.copy(),
|
|
289
|
-
str_now_date, number)
|
|
290
|
-
|
|
291
|
-
mongodb_util.insert_mongo(realtime_quotes_now_list, 'realtime_quotes_now_open')
|
|
292
|
-
|
|
293
|
-
logger.info("同步str_day:{}开盘数据", str_day)
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
def realtime_quotes_now_min_number_sync(db_name, field, str_day, symbol):
|
|
297
|
-
db = get_db(str_day)
|
|
298
|
-
query = {'symbol': symbol}
|
|
299
|
-
df = db.ascend_query(query, db_name, field, 1)
|
|
300
|
-
if df is None or df.shape[0] == 0:
|
|
301
|
-
return 1
|
|
302
|
-
else:
|
|
303
|
-
return list(df[field])[0]
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
def realtime_quotes_now_zt_new_kc_open_sync():
|
|
307
|
-
realtime_quotes_now_zt_new_kc_open = mongodb_util.find_all_data('realtime_quotes_now_zt_new_kc_open')
|
|
308
|
-
realtime_quotes_now_zt_new_kc_open = realtime_quotes_now_zt_new_kc_open[realtime_quotes_now_zt_new_kc_open_field]
|
|
309
|
-
realtime_quotes_now_zt_new_kc_open = realtime_quotes_now_zt_new_kc_open.sort_values(by=['str_day'], ascending=False)
|
|
310
|
-
|
|
311
|
-
mongodb_util.insert_mongo(realtime_quotes_now_zt_new_kc_open, 'realtime_quotes_now_zt_new_kc_open_copy')
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
# query = {'$and': [{"_id": {'$lte': str_end}}, {"_id": {'$gte': '2022-04-25'}}]}
|
|
315
|
-
def sync_all_high_chg_data(str_end):
|
|
316
|
-
query = {'$and': [{"_id": {'$lte': str_end}}, {"_id": {'$gte': '2024-03-01'}}]}
|
|
317
|
-
trade_date_list = mongodb_util.find_query_data('trade_date_list', query)
|
|
318
|
-
trade_date_list = trade_date_list.sort_values(by=['trade_date'], ascending=False)
|
|
319
|
-
for date_one in trade_date_list.itertuples():
|
|
320
|
-
try:
|
|
321
|
-
str_day = date_one.trade_date
|
|
322
|
-
sync_all_kc_zt_data(str_day, None)
|
|
323
|
-
except BaseException as e:
|
|
324
|
-
logger.error("发生异常:{},{}", str_day, e)
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
def fix_miss_data(str_end):
|
|
328
|
-
query = {'$and': [{"_id": {'$lte': str_end}}, {"_id": {'$gte': '2023-12-05'}}]}
|
|
329
|
-
trade_date_list = mongodb_util.find_query_data('trade_date_list', query)
|
|
330
|
-
trade_date_list = trade_date_list.sort_values(by=['trade_date'], ascending=False)
|
|
331
|
-
for date_one in trade_date_list.itertuples():
|
|
332
|
-
try:
|
|
333
|
-
str_day = date_one.trade_date
|
|
334
|
-
query = {"str_day": str_day, "miss_out": True}
|
|
335
|
-
stock_high_chg_pool_df = mongodb_util.find_query_data('stock_high_chg_pool', query)
|
|
336
|
-
if data_frame_util.is_empty(stock_high_chg_pool_df):
|
|
337
|
-
continue
|
|
338
|
-
miss_symbol_list = list(stock_high_chg_pool_df['symbol'])
|
|
339
|
-
sync_all_kc_zt_data(str_day, miss_symbol_list)
|
|
340
|
-
except BaseException as e:
|
|
341
|
-
logger.error("发生异常:{},{}", str_day, e)
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
if __name__ == '__main__':
|
|
345
|
-
sync_all_kc_zt_data('2024-05-17', None)
|
|
346
|
-
# sync_all_kc_zt_data('2023-08-16')
|
|
347
|
-
# sync_all_kc_zt_data('2023-07-07')
|
|
348
|
-
# realtime_quotes_now_zt_new_kc_open_sync()
|
|
349
|
-
# hui_ce_all('2023-06-16')
|
|
350
|
-
# fix_diff_day()
|
|
351
|
-
# sync_all_kc_zt_data('2023-06-30')
|
|
352
|
-
|
|
353
|
-
# sync_all_kc_zt_data('2023-07-05')
|
|
354
|
-
# sync_one_day_open_data('2023-07-05')
|
|
355
|
-
# sync_all_kc_zt_data('2023-06-30')
|
|
356
|
-
# sync_one_day_open_data('2023-05-31')
|
|
357
|
-
# hui_ce_all('2023-03-16')
|
|
358
|
-
# sync_all_kc_zt_data('2023-06-28')
|
|
359
|
-
# sync_all_kc_zt_data('2023-05-12')
|
|
360
|
-
# sync_all_kc_zt_data('2023-05-15')
|
|
361
|
-
# sync_all_kc_zt_data('2023-05-16')
|
|
362
|
-
# sync_all_kc_zt_data('2023-05-17')
|
|
363
|
-
# sync_all_kc_zt_data('2023-05-10')
|
|
@@ -0,0 +1,113 @@
|
|
|
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_scheduler.zt.open_data.kcx_high_chg_open_data_sync as kcx_high_chg_open_data_sync
|
|
9
|
+
from loguru import logger
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
from mns_common.db.MongodbUtil import MongodbUtil
|
|
13
|
+
import mns_common.utils.data_frame_util as data_frame_util
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
mongodb_util = MongodbUtil('27017')
|
|
17
|
+
mongodb_util_21019 = MongodbUtil('27019')
|
|
18
|
+
realtime_quotes_now_zt_new_kc_open_field = ['_id',
|
|
19
|
+
'symbol',
|
|
20
|
+
'name',
|
|
21
|
+
'chg',
|
|
22
|
+
'quantity_ratio',
|
|
23
|
+
'amount_level',
|
|
24
|
+
'real_exchange',
|
|
25
|
+
'sum_main_inflow_disk',
|
|
26
|
+
'disk_diff_amount',
|
|
27
|
+
'flow_mv_level',
|
|
28
|
+
'total_mv_level',
|
|
29
|
+
'today_chg',
|
|
30
|
+
'industry',
|
|
31
|
+
'first_sw_industry',
|
|
32
|
+
'second_sw_industry',
|
|
33
|
+
'third_sw_industry',
|
|
34
|
+
'ths_concept_name',
|
|
35
|
+
'ths_concept_code',
|
|
36
|
+
'em_industry',
|
|
37
|
+
'disk_ratio',
|
|
38
|
+
'company_type',
|
|
39
|
+
'reference_main_inflow',
|
|
40
|
+
'main_inflow_multiple', 'super_main_inflow_multiple',
|
|
41
|
+
'disk_diff_amount_exchange', 'exchange', 'amount', 'today_main_net_inflow',
|
|
42
|
+
'today_main_net_inflow_ratio', 'super_large_order_net_inflow',
|
|
43
|
+
'super_large_order_net_inflow_ratio', 'large_order_net_inflow',
|
|
44
|
+
'large_order_net_inflow_ratio', 'now_price',
|
|
45
|
+
'high', 'low', 'open', 'yesterday_price',
|
|
46
|
+
'volume', 'total_mv', 'flow_mv',
|
|
47
|
+
'outer_disk', 'inner_disk',
|
|
48
|
+
'classification', 'str_now_date', 'number', 'str_day',
|
|
49
|
+
'yesterday_high_chg',
|
|
50
|
+
'ths_concept_sync_day', 'mv_circulation_ratio',
|
|
51
|
+
'large_inflow_multiple', 'real_main_inflow_multiple',
|
|
52
|
+
'max_real_main_inflow_multiple', 'list_date',
|
|
53
|
+
'real_super_main_inflow_multiple', 'real_flow_mv',
|
|
54
|
+
'real_disk_diff_amount_exchange', 'no_open_data']
|
|
55
|
+
# kcx 高涨幅开盘数据同步
|
|
56
|
+
def realtime_quotes_now_zt_new_kc_open_sync():
|
|
57
|
+
realtime_quotes_now_zt_new_kc_open = mongodb_util.find_all_data('realtime_quotes_now_zt_new_kc_open')
|
|
58
|
+
realtime_quotes_now_zt_new_kc_open = realtime_quotes_now_zt_new_kc_open[realtime_quotes_now_zt_new_kc_open_field]
|
|
59
|
+
realtime_quotes_now_zt_new_kc_open = realtime_quotes_now_zt_new_kc_open.sort_values(by=['str_day'], ascending=False)
|
|
60
|
+
|
|
61
|
+
mongodb_util.insert_mongo(realtime_quotes_now_zt_new_kc_open, 'realtime_quotes_now_zt_new_kc_open_copy')
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
# query = {'$and': [{"_id": {'$lte': str_end}}, {"_id": {'$gte': '2022-04-25'}}]}
|
|
65
|
+
def sync_all_high_chg_data(str_end):
|
|
66
|
+
query = {'$and': [{"_id": {'$lte': str_end}}, {"_id": {'$gte': '2024-03-01'}}]}
|
|
67
|
+
trade_date_list = mongodb_util.find_query_data('trade_date_list', query)
|
|
68
|
+
trade_date_list = trade_date_list.sort_values(by=['trade_date'], ascending=False)
|
|
69
|
+
for date_one in trade_date_list.itertuples():
|
|
70
|
+
try:
|
|
71
|
+
str_day = date_one.trade_date
|
|
72
|
+
kcx_high_chg_open_data_sync.sync_all_kc_zt_data(str_day, None)
|
|
73
|
+
except BaseException as e:
|
|
74
|
+
logger.error("发生异常:{},{}", str_day, e)
|
|
75
|
+
|
|
76
|
+
|
|
77
|
+
def fix_miss_data(str_end):
|
|
78
|
+
query = {'$and': [{"_id": {'$lte': str_end}}, {"_id": {'$gte': '2023-12-05'}}]}
|
|
79
|
+
trade_date_list = mongodb_util.find_query_data('trade_date_list', query)
|
|
80
|
+
trade_date_list = trade_date_list.sort_values(by=['trade_date'], ascending=False)
|
|
81
|
+
for date_one in trade_date_list.itertuples():
|
|
82
|
+
try:
|
|
83
|
+
str_day = date_one.trade_date
|
|
84
|
+
query = {"str_day": str_day, "miss_out": True}
|
|
85
|
+
stock_high_chg_pool_df = mongodb_util.find_query_data('stock_high_chg_pool', query)
|
|
86
|
+
if data_frame_util.is_empty(stock_high_chg_pool_df):
|
|
87
|
+
continue
|
|
88
|
+
miss_symbol_list = list(stock_high_chg_pool_df['symbol'])
|
|
89
|
+
kcx_high_chg_open_data_sync.sync_all_kc_zt_data(str_day, miss_symbol_list)
|
|
90
|
+
except BaseException as e:
|
|
91
|
+
logger.error("发生异常:{},{}", str_day, e)
|
|
92
|
+
|
|
93
|
+
|
|
94
|
+
if __name__ == '__main__':
|
|
95
|
+
kcx_high_chg_open_data_sync.sync_all_kc_zt_data('2024-06-04', None)
|
|
96
|
+
# sync_all_kc_zt_data('2023-08-16')
|
|
97
|
+
# sync_all_kc_zt_data('2023-07-07')
|
|
98
|
+
# realtime_quotes_now_zt_new_kc_open_sync()
|
|
99
|
+
# hui_ce_all('2023-06-16')
|
|
100
|
+
# fix_diff_day()
|
|
101
|
+
# sync_all_kc_zt_data('2023-06-30')
|
|
102
|
+
|
|
103
|
+
# sync_all_kc_zt_data('2023-07-05')
|
|
104
|
+
# sync_one_day_open_data('2023-07-05')
|
|
105
|
+
# sync_all_kc_zt_data('2023-06-30')
|
|
106
|
+
# sync_one_day_open_data('2023-05-31')
|
|
107
|
+
# hui_ce_all('2023-03-16')
|
|
108
|
+
# sync_all_kc_zt_data('2023-06-28')
|
|
109
|
+
# sync_all_kc_zt_data('2023-05-12')
|
|
110
|
+
# sync_all_kc_zt_data('2023-05-15')
|
|
111
|
+
# sync_all_kc_zt_data('2023-05-16')
|
|
112
|
+
# sync_all_kc_zt_data('2023-05-17')
|
|
113
|
+
# sync_all_kc_zt_data('2023-05-10')
|
|
@@ -0,0 +1,39 @@
|
|
|
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.date_handle_util as date_handle_util
|
|
9
|
+
from mns_common.db.MongodbUtil import MongodbUtil
|
|
10
|
+
import mns_scheduler.zt.high_chg.sync_high_chg_pool_service as sync_high_chg_pool_service
|
|
11
|
+
from loguru import logger
|
|
12
|
+
import mns_common.component.trade_date.trade_date_common_service_api as trade_date_common_service_api
|
|
13
|
+
|
|
14
|
+
mongodb_util = MongodbUtil('27017')
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
def sync_his_zt_pool_data(begin_day, end_day):
|
|
18
|
+
sync_date = date_handle_util.add_date_day(date_handle_util.no_slash_date(begin_day), 0)
|
|
19
|
+
|
|
20
|
+
end_date = date_handle_util.add_date_day(date_handle_util.no_slash_date(end_day), 0)
|
|
21
|
+
|
|
22
|
+
str_now_day = begin_day
|
|
23
|
+
|
|
24
|
+
while sync_date <= end_date:
|
|
25
|
+
try:
|
|
26
|
+
is_trade_day = trade_date_common_service_api.is_trade_day(str_now_day)
|
|
27
|
+
if is_trade_day:
|
|
28
|
+
sync_high_chg_pool_service.sync_stock_high_chg_pool_list(str_now_day)
|
|
29
|
+
logger.error("同步高涨幅列表完成:{}", str_now_day)
|
|
30
|
+
sync_date = date_handle_util.add_date_day(date_handle_util.no_slash_date(str_now_day), 1)
|
|
31
|
+
str_now_day = sync_date.strftime('%Y-%m-%d')
|
|
32
|
+
except Exception as e:
|
|
33
|
+
sync_date = date_handle_util.add_date_day(date_handle_util.no_slash_date(str_now_day), 1)
|
|
34
|
+
str_now_day = sync_date.strftime('%Y-%m-%d')
|
|
35
|
+
logger.error("更新高涨幅数据异常:{},{}", str_now_day, e)
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
if __name__ == '__main__':
|
|
39
|
+
sync_his_zt_pool_data('2019-11-29', "2024-06-04")
|
|
@@ -19,11 +19,10 @@ import mns_common.utils.ip_util as ip_util
|
|
|
19
19
|
import mns_scheduler.db.col_move_service as col_move_service
|
|
20
20
|
import mns_scheduler.db.db_status as db_status_api
|
|
21
21
|
import mns_scheduler.big_deal.ths_big_deal_sync as ths_big_deal_sync_api
|
|
22
|
-
import mns_scheduler.zt.
|
|
23
|
-
import mns_scheduler.zt.
|
|
24
|
-
import mns_scheduler.zt.zt_five_boards_sync_api as zt_five_boards_sync_api
|
|
25
|
-
import mns_scheduler.zt.zt_pool_sync_api as zt_pool_sync_api
|
|
26
|
-
import mns_scheduler.zt.today_high_chg_pool_sync_api as today_high_chg_pool_sync_api
|
|
22
|
+
import mns_scheduler.zt.open_data.kcx_high_chg_open_data_sync as kcx_high_chg_open_data_sync
|
|
23
|
+
import mns_scheduler.zt.export.export_kcx_high_chg_open_data_to_excel as export_kcx_high_chg_open_data_to_excel
|
|
24
|
+
import mns_scheduler.zt.connected_boards.zt_five_boards_sync_api as zt_five_boards_sync_api
|
|
25
|
+
import mns_scheduler.zt.zt_pool.zt_pool_sync_api as zt_pool_sync_api
|
|
27
26
|
import mns_scheduler.k_line.clean.k_line_info_clean_task as k_line_info_clean_service
|
|
28
27
|
import mns_scheduler.concept.clean.ths_concept_clean_api as ths_concept_choose_api
|
|
29
28
|
import mns_common.api.em.east_money_stock_gdfx_free_top_10_api as east_money_stock_gdfx_free_top_10_api
|
|
@@ -42,6 +41,9 @@ import mns_scheduler.trade.sync_position_api as sync_position_api
|
|
|
42
41
|
import mns_scheduler.concept.clean.kpl_concept_clean_api as kpl_concept_clean_api
|
|
43
42
|
import mns_scheduler.company_info.de_list_stock_service as de_list_stock_service
|
|
44
43
|
import mns_scheduler.irm.stock_irm_cninfo_service as stock_irm_cninfo_service
|
|
44
|
+
import mns_scheduler.open.sync_one_day_open_data_to_db_service as sync_one_day_open_data_to_db_service
|
|
45
|
+
import mns_scheduler.zt.high_chg.sync_high_chg_pool_service as sync_high_chg_pool_service
|
|
46
|
+
import mns_scheduler.zt.high_chg.sync_high_chg_real_time_quotes_service as sync_high_chg_real_time_quotes_service
|
|
45
47
|
|
|
46
48
|
|
|
47
49
|
# 同步交易日期任务完成
|
|
@@ -130,11 +132,11 @@ def realtime_quotes_now_zt_kc_data_sync():
|
|
|
130
132
|
str_day = now_date.strftime('%Y-%m-%d')
|
|
131
133
|
if trade_date_common_service_api.is_trade_day(str_day):
|
|
132
134
|
# 同步当日kcx 高涨幅 当天交易数据和开盘数据
|
|
133
|
-
|
|
135
|
+
kcx_high_chg_open_data_sync.sync_all_kc_zt_data(str_day, None)
|
|
134
136
|
# 同步当日开盘数据
|
|
135
|
-
|
|
137
|
+
sync_one_day_open_data_to_db_service.sync_one_day_open_data(str_day)
|
|
136
138
|
# 涨停数据同步到excel
|
|
137
|
-
|
|
139
|
+
export_kcx_high_chg_open_data_to_excel.export_kc_zt_data(str_day)
|
|
138
140
|
|
|
139
141
|
|
|
140
142
|
# 同步涨停池
|
|
@@ -153,7 +155,10 @@ def sync_toady_stock_zt_pool():
|
|
|
153
155
|
logger.info('同步今天涨幅大于9.5的symbol')
|
|
154
156
|
now_date = datetime.now()
|
|
155
157
|
str_day = now_date.strftime('%Y-%m-%d')
|
|
156
|
-
|
|
158
|
+
# 同步高涨幅实时行情
|
|
159
|
+
sync_high_chg_real_time_quotes_service.sync_high_chg_real_time_quotes(str_day)
|
|
160
|
+
# 同步高涨幅列表
|
|
161
|
+
sync_high_chg_pool_service.sync_stock_high_chg_pool_list(str_day)
|
|
157
162
|
|
|
158
163
|
|
|
159
164
|
# 计算下一个交易日k线数据
|
|
@@ -73,6 +73,8 @@ mns_scheduler/kpl/selection/total/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3Zi
|
|
|
73
73
|
mns_scheduler/kpl/selection/total/sync_kpl_best_total_sync_api.py,sha256=WRK-Pu0-7ub9q1n5TK406_sAGQwOEUl2CZLu9suo70k,10461
|
|
74
74
|
mns_scheduler/lhb/__init__.py,sha256=wEg73KlZo-dU0yKGwpA1C2y6LZm4IBb94tNda1tqLeg,163
|
|
75
75
|
mns_scheduler/lhb/stock_lhb_sync_service.py,sha256=NIW0jX23N1dCEdsrKwt7MyzXSfhU7vXNpIO04dUSZwc,641
|
|
76
|
+
mns_scheduler/open/__init__.py,sha256=wEg73KlZo-dU0yKGwpA1C2y6LZm4IBb94tNda1tqLeg,163
|
|
77
|
+
mns_scheduler/open/sync_one_day_open_data_to_db_service.py,sha256=4JAVQPcg8su86Bt18r7qTAToIwFeyUi8YodtqCtGbwo,3203
|
|
76
78
|
mns_scheduler/real_time/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
|
|
77
79
|
mns_scheduler/real_time/realtime_quotes_now_create_db_index.py,sha256=qQCjcsG3WYgn3zemS45Ms0AHtbkCwlSVPPCntxVvK8Q,1066
|
|
78
80
|
mns_scheduler/real_time/realtime_quotes_now_sync.py,sha256=eIPOADC4tnugM78DF_yp1R5nP55HoJoV8B0GcvYlEys,9621
|
|
@@ -86,15 +88,24 @@ mns_scheduler/trade/sync_position_api.py,sha256=HmREr4H-PqlOdlNx3_SN6vRaRnhlaLCI
|
|
|
86
88
|
mns_scheduler/zb/__init__.py,sha256=Tyvi_iQlv3jz59EdH67Mycnt9CSixcWPQoJwu55bOq0,165
|
|
87
89
|
mns_scheduler/zb/stock_zb_pool_sync.py,sha256=ky3CNDzpjB6C_frCf4YGNXdidnUo-uUUKsJpY62P4Bk,1936
|
|
88
90
|
mns_scheduler/zt/__init__.py,sha256=Rzolrn2R5RZIj-eOmu9KcL6oZBY9Wjz_uBFXPlzirQc,1641
|
|
89
|
-
mns_scheduler/zt/
|
|
90
|
-
mns_scheduler/zt/
|
|
91
|
-
mns_scheduler/zt/
|
|
92
|
-
mns_scheduler/zt/
|
|
93
|
-
mns_scheduler/zt/
|
|
91
|
+
mns_scheduler/zt/connected_boards/__init__.py,sha256=Tyvi_iQlv3jz59EdH67Mycnt9CSixcWPQoJwu55bOq0,165
|
|
92
|
+
mns_scheduler/zt/connected_boards/zt_five_boards_sync_api.py,sha256=HfjPHKD99fU9c37kSenEX2_qNvFAjQGgy8ERuacSxwk,10916
|
|
93
|
+
mns_scheduler/zt/export/__init__.py,sha256=Tyvi_iQlv3jz59EdH67Mycnt9CSixcWPQoJwu55bOq0,165
|
|
94
|
+
mns_scheduler/zt/export/export_kcx_high_chg_open_data_to_excel.py,sha256=9LK1s2BCzsXLMAYMmiMAZsmz8iha88JVcp6SKqIW37s,4063
|
|
95
|
+
mns_scheduler/zt/high_chg/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
|
|
96
|
+
mns_scheduler/zt/high_chg/sync_high_chg_pool_service.py,sha256=cu-S-JlRanJKyAUhIkMin_mdX2oKoB-mHN246FVYRjU,12525
|
|
97
|
+
mns_scheduler/zt/high_chg/sync_high_chg_real_time_quotes_service.py,sha256=HtQGijcRGuDyHylchXE-Wqo_buT2NrxExCz-dnIDQVY,6280
|
|
98
|
+
mns_scheduler/zt/open_data/__init__.py,sha256=Tyvi_iQlv3jz59EdH67Mycnt9CSixcWPQoJwu55bOq0,165
|
|
99
|
+
mns_scheduler/zt/open_data/kcx_high_chg_open_data_sync.py,sha256=Em_UyMG-sEobSi6fe83KiMQHfCV9ak817fhOmb9oXNU,12175
|
|
100
|
+
mns_scheduler/zt/script/__init__.py,sha256=wEg73KlZo-dU0yKGwpA1C2y6LZm4IBb94tNda1tqLeg,163
|
|
101
|
+
mns_scheduler/zt/script/kcx_high_chg_open_his_data_handle.py,sha256=qSlcd4dq1A9MjV-5ikyrtGEzxOwXKpWCD9FSzGpatTo,6118
|
|
102
|
+
mns_scheduler/zt/script/sync_high_chg_pool_his_data.py,sha256=MEF-ir051W_LhOSdh_YjNc9vyXI4HclVo_Vp5CcZHiE,1652
|
|
103
|
+
mns_scheduler/zt/zt_pool/__init__.py,sha256=Tyvi_iQlv3jz59EdH67Mycnt9CSixcWPQoJwu55bOq0,165
|
|
104
|
+
mns_scheduler/zt/zt_pool/zt_pool_sync_api.py,sha256=RrVAbU1u-HTqXF9BSwNlzIxMHrUgjNaLpDKFgXC1XuY,7604
|
|
94
105
|
mns_scheduler/zz_task/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
|
|
95
|
-
mns_scheduler/zz_task/data_sync_task.py,sha256=
|
|
106
|
+
mns_scheduler/zz_task/data_sync_task.py,sha256=eNFYHRp8WTRy471vicBU9Dvv_-vhR4WNwhttUr_ynwU,17361
|
|
96
107
|
mns_scheduler/zz_task/sync_realtime_quotes_task.py,sha256=DN3bq2XCDZC-PHlbD2NTog48bR44EruIEc2QVGKg7Tk,932
|
|
97
|
-
mns_scheduler-1.0.7.
|
|
98
|
-
mns_scheduler-1.0.7.
|
|
99
|
-
mns_scheduler-1.0.7.
|
|
100
|
-
mns_scheduler-1.0.7.
|
|
108
|
+
mns_scheduler-1.0.7.7.dist-info/METADATA,sha256=JiZqcHuuaGRfonPwiw5vfx-BECtwcagOcK3xwA9QnwQ,64
|
|
109
|
+
mns_scheduler-1.0.7.7.dist-info/WHEEL,sha256=oiQVh_5PnQM0E3gPdiz09WCNmwiHDMaGer_elqB3coM,92
|
|
110
|
+
mns_scheduler-1.0.7.7.dist-info/top_level.txt,sha256=PXQDFBGR1pWmsUbH5yiLAh71P5HZODTRED0zJ8CCgOc,14
|
|
111
|
+
mns_scheduler-1.0.7.7.dist-info/RECORD,,
|