mns-scheduler 1.3.5.0__py3-none-any.whl → 1.4.3.0__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.

Files changed (32) hide show
  1. mns_scheduler/company_info/base/sync_company_base_info_api.py +148 -65
  2. mns_scheduler/company_info/base/sync_company_hold_info_api.py +2 -5
  3. mns_scheduler/company_info/base/sync_company_product_area_industry.py +161 -0
  4. mns_scheduler/company_info/clean/company_info_clean_api.py +1 -1
  5. mns_scheduler/company_info/constant/company_constant_data.py +3 -0
  6. mns_scheduler/company_info/em_stock_info/sync_em_stock_info_sync.py +33 -30
  7. mns_scheduler/{debt → finance/em}/__init__.py +1 -1
  8. mns_scheduler/finance/{em_financial_asset_liability_sync_service_api.py → em/em_financial_asset_liability_sync_service_api.py} +1 -1
  9. mns_scheduler/finance/{em_financial_profit_sync_service_api.py → em/em_financial_profit_sync_service_api.py} +5 -3
  10. mns_scheduler/finance/{sync_financial_report_service_api.py → sync_financial_report_service_task.py} +75 -22
  11. mns_scheduler/finance/xue_qiu/__init__.py +7 -0
  12. mns_scheduler/finance/xue_qiu/down_load_xueqiu_report_api.py +77 -0
  13. mns_scheduler/finance/xue_qiu/sync_xue_qiu_fiance_data.py +161 -0
  14. mns_scheduler/irm/stock_irm_cninfo_service.py +3 -2
  15. mns_scheduler/k_line/clean/k_line_info_clean_task.py +7 -2
  16. mns_scheduler/k_line/sync_status/__init__.py +7 -0
  17. mns_scheduler/k_line/sync_status/k_line_sync_status_check.py +54 -0
  18. mns_scheduler/kpl/selection/symbol/sync_kpl_concept_symbol_choose_reason_api.py +7 -1
  19. mns_scheduler/risk/compliance/undisclosed_annual_report_api.py +1 -1
  20. mns_scheduler/risk/transactions/transactions_check_api.py +1 -1
  21. mns_scheduler/self_choose/ths_self_choose_service.py +21 -13
  22. mns_scheduler/trade/sync_position_api.py +38 -5
  23. mns_scheduler/zt/zt_pool/em_zt_pool_sync_api.py +36 -17
  24. mns_scheduler/zt/zt_pool/update_null_zt_reason_api.py +23 -12
  25. mns_scheduler/zz_task/compensation/compensate_task_one_day.py +2 -2
  26. mns_scheduler/zz_task/data_sync_task.py +27 -7
  27. {mns_scheduler-1.3.5.0.dist-info → mns_scheduler-1.4.3.0.dist-info}/METADATA +1 -1
  28. {mns_scheduler-1.3.5.0.dist-info → mns_scheduler-1.4.3.0.dist-info}/RECORD +31 -26
  29. mns_scheduler/debt/kzz_bond_info_sync.py +0 -33
  30. /mns_scheduler/finance/{finance_common_api.py → em/finance_common_api.py} +0 -0
  31. {mns_scheduler-1.3.5.0.dist-info → mns_scheduler-1.4.3.0.dist-info}/WHEEL +0 -0
  32. {mns_scheduler-1.3.5.0.dist-info → mns_scheduler-1.4.3.0.dist-info}/top_level.txt +0 -0
@@ -9,16 +9,16 @@ import mns_common.component.deal.deal_service_api as deal_service_api
9
9
  import pandas as pd
10
10
  import mns_common.utils.data_frame_util as data_frame_util
11
11
  import mns_common.constant.db_name_constant as db_name_constant
12
- import datetime
13
-
12
+ from datetime import datetime
13
+ from mns_common.component.deal.terminal_enum import TerminalEnum
14
14
  from mns_common.db.MongodbUtil import MongodbUtil
15
15
 
16
16
  mongodb_util = MongodbUtil('27017')
17
17
 
18
18
 
19
19
  # 同步持仓
20
- def sync_position():
21
- now_date = datetime.datetime.now()
20
+ def sync_position_ths():
21
+ now_date = datetime.now()
22
22
  str_day = now_date.strftime('%Y-%m-%d')
23
23
  query_exist = {'str_day': str_day}
24
24
  if mongodb_util.exist_data_query(db_name_constant.POSITION_STOCK, query_exist):
@@ -52,5 +52,38 @@ def sync_position():
52
52
  mongodb_util.save_mongo(position_df, db_name_constant.POSITION_STOCK)
53
53
 
54
54
 
55
+ def sync_position_qmt():
56
+ now_date = datetime.now()
57
+ str_day = now_date.strftime('%Y-%m-%d')
58
+ query_exist = {'str_day': str_day}
59
+ # if mongodb_util.exist_data_query(db_name_constant.POSITION_STOCK, query_exist):
60
+ # return None
61
+ position_list = deal_service_api.get_position(TerminalEnum.QMT.terminal_code)
62
+ if len(position_list) == 0:
63
+ return None
64
+ position_df = pd.DataFrame(position_list)
65
+ position_df = position_df.rename(columns={
66
+ "stock_code": "symbol",
67
+ "avg_price": "cost_price",
68
+ "profit_loss": "floating_profit_loss",
69
+ "market_value": "flow_mv",
70
+ "can_use_volume": "available_position",
71
+ "frozen_volume": "frozen_position",
72
+ })
73
+
74
+ position_df['cost_price'] = round(position_df['cost_price'], 2)
75
+ position_df['open_price'] = round(position_df['open_price'], 2)
76
+
77
+ position_df['open_position'] = position_df['available_position'] + position_df['frozen_position'] + position_df[
78
+ 'on_road_volume']
79
+
80
+ position_df['symbol'] = position_df['symbol'].str.slice(0, 6)
81
+
82
+ position_df["_id"] = position_df['symbol'] + '-' + str_day
83
+ position_df["str_day"] = str_day
84
+ position_df["valid"] = True
85
+ mongodb_util.save_mongo(position_df, db_name_constant.POSITION_STOCK)
86
+
87
+
55
88
  if __name__ == '__main__':
56
- sync_position()
89
+ sync_position_qmt()
@@ -18,8 +18,8 @@ import mns_common.api.ths.zt.ths_stock_zt_pool_v2_api as ths_stock_zt_pool_v2_ap
18
18
  import mns_common.component.zt.zt_common_service_api as zt_common_service_api
19
19
  import mns_common.component.em.em_real_time_quotes_api as em_real_time_quotes_api
20
20
  from datetime import datetime
21
- import mns_common.api.ths.company.ths_company_info_api as ths_company_info_api
22
- import mns_common.component.cookie.cookie_info_service as cookie_info_service
21
+ import mns_common.api.ths.zt.ths_stock_zt_pool_api as ths_stock_zt_pool_api
22
+ import mns_common.constant.db_name_constant as db_name_constant
23
23
 
24
24
  '''
25
25
  东方财富涨停池
@@ -44,7 +44,7 @@ ZT_FIELD = ['_id', 'symbol', 'name', 'now_price', 'chg', 'first_closure_time',
44
44
  'list_date',
45
45
  'exchange', 'flow_mv', 'total_mv',
46
46
  'classification', 'flow_mv_sp', 'total_mv_sp', 'flow_mv_level',
47
- 'amount_level', 'new_stock', 'list_date_01', 'index', 'str_day', 'main_line']
47
+ 'amount_level', 'new_stock', 'list_date_01', 'index', 'str_day', 'main_line', 'sub_main_line']
48
48
 
49
49
 
50
50
  def save_zt_info(str_day):
@@ -66,6 +66,7 @@ def save_zt_info(str_day):
66
66
  stock_em_zt_pool_df_data = company_common_service_api.amendment_industry(stock_em_zt_pool_df_data.copy())
67
67
  # 主线标记 复盘用
68
68
  stock_em_zt_pool_df_data['main_line'] = '无'
69
+ stock_em_zt_pool_df_data['sub_main_line'] = '无'
69
70
  # 上个交易交易日涨停股票
70
71
  last_trade_day_zt_df = zt_common_service_api.get_last_trade_day_zt(str_day)
71
72
 
@@ -75,12 +76,16 @@ def save_zt_info(str_day):
75
76
 
76
77
  # del stock_em_zt_pool_df_data['ths_concept_name']
77
78
  # del stock_em_zt_pool_df_data['ths_concept_code']
79
+
80
+ today_main_line_df = mongodb_util.find_query_data(db_name_constant.MAIN_LINE_DETAIL, {'str_day': str_day})
81
+
78
82
  for stock_one in stock_em_zt_pool_df_data.itertuples():
79
83
  try:
80
84
 
81
85
  # 设置连板数目
82
86
  stock_em_zt_pool_df_data = set_connected_boards_numbers(stock_em_zt_pool_df_data.copy(),
83
- stock_one.symbol, last_trade_day_zt_df.copy())
87
+ stock_one.symbol,
88
+ last_trade_day_zt_df.copy())
84
89
 
85
90
  ths_zt_pool_one_df = ths_zt_pool_df_data.loc[ths_zt_pool_df_data['symbol'] == stock_one.symbol]
86
91
  if data_frame_util.is_empty(ths_zt_pool_one_df):
@@ -95,11 +100,26 @@ def save_zt_info(str_day):
95
100
  stock_em_zt_pool_df_data.loc[
96
101
  stock_em_zt_pool_df_data['symbol'] == stock_one.symbol, 'first_closure_time'] = first_closure_time
97
102
 
98
- zt_analysis = ths_company_info_api.get_company_hot_info(stock_one.symbol,
99
- cookie_info_service.get_ths_cookie())
103
+ # 涨停分析
104
+ zt_result_dict = ths_stock_zt_pool_api.zt_analyse_reason(stock_one.symbol)
105
+ zt_analysis = zt_result_dict['zt_analyse_detail']
106
+ zt_reason = zt_result_dict['zt_reason']
107
+
108
+ stock_em_zt_pool_df_data.loc[
109
+ stock_em_zt_pool_df_data['symbol'] == stock_one.symbol, 'zt_reason'] = zt_reason
110
+
100
111
  stock_em_zt_pool_df_data.loc[
101
112
  stock_em_zt_pool_df_data['symbol'] == stock_one.symbol, 'zt_analysis'] = zt_analysis
102
113
 
114
+ today_main_line_one_df = today_main_line_df.loc[today_main_line_df['symbol'] == stock_one.symbol]
115
+ if data_frame_util.is_not_empty(today_main_line_one_df):
116
+ stock_em_zt_pool_df_data.loc[
117
+ stock_em_zt_pool_df_data['symbol'] == stock_one.symbol, 'main_line'] = \
118
+ list(today_main_line_one_df['main_line'])[0]
119
+
120
+ stock_em_zt_pool_df_data.loc[
121
+ stock_em_zt_pool_df_data['symbol'] == stock_one.symbol, 'sub_main_line'] = \
122
+ list(today_main_line_one_df['sub_main_line'])[0]
103
123
  except BaseException as e:
104
124
  stock_em_zt_pool_df_data['zt_reason'] = '0'
105
125
  logger.error("出现异常:{}", e)
@@ -138,14 +158,6 @@ def save_zt_info(str_day):
138
158
  exist_zt_pool_today = mongodb_util.find_query_data('stock_zt_pool', {'str_day': str_day})
139
159
  if data_frame_util.is_empty(exist_zt_pool_today):
140
160
  mongodb_util.save_mongo(stock_em_zt_pool_df_data, 'stock_zt_pool')
141
- else:
142
- exist_zt_pool_today_not_nan = exist_zt_pool_today.loc[exist_zt_pool_today['zt_reason'] != '0']
143
-
144
- stock_em_zt_pool_df_data = stock_em_zt_pool_df_data.loc[:, ~stock_em_zt_pool_df_data.columns.duplicated()]
145
- stock_em_zt_pool_df_data_new = stock_em_zt_pool_df_data.loc[~(
146
- stock_em_zt_pool_df_data['symbol'].isin(exist_zt_pool_today_not_nan['symbol']))]
147
- if data_frame_util.is_not_empty(stock_em_zt_pool_df_data_new):
148
- mongodb_util.save_mongo(stock_em_zt_pool_df_data_new, 'stock_zt_pool')
149
161
  return stock_em_zt_pool_df_data
150
162
 
151
163
 
@@ -161,8 +173,13 @@ def set_connected_boards_numbers(stock_em_zt_pool_df_data, symbol, last_trade_da
161
173
  stock_em_zt_pool_df_data.loc[stock_em_zt_pool_df_data['symbol'] == symbol, 'connected_boards_numbers'] = \
162
174
  list(connected_boards_df_one['connected_boards_numbers'])[0]
163
175
 
164
- stock_em_zt_pool_df_data.loc[stock_em_zt_pool_df_data['symbol'] == symbol, 'main_line'] = \
165
- list(connected_boards_df_one['main_line'])[0]
176
+ if 'main_line' in connected_boards_df_one.columns:
177
+ stock_em_zt_pool_df_data.loc[stock_em_zt_pool_df_data['symbol'] == symbol, 'main_line'] = \
178
+ list(connected_boards_df_one['main_line'])[0]
179
+
180
+ if 'sub_main_line' in connected_boards_df_one.columns:
181
+ stock_em_zt_pool_df_data.loc[stock_em_zt_pool_df_data['symbol'] == symbol, 'sub_main_line'] = \
182
+ list(connected_boards_df_one['sub_main_line'])[0]
166
183
 
167
184
  return stock_em_zt_pool_df_data
168
185
 
@@ -172,6 +189,8 @@ def sync_miss_zt_data(stock_em_zt_pool_df_data, str_day):
172
189
  now_day = now_date.strftime('%Y-%m-%d')
173
190
  if now_day == str_day:
174
191
  real_time_quotes_all_stocks_df = em_real_time_quotes_api.get_real_time_quotes_now(None, None)
192
+ if data_frame_util.is_empty(real_time_quotes_all_stocks_df):
193
+ return stock_em_zt_pool_df_data
175
194
  real_time_quotes_all_stocks_df = real_time_quotes_all_stocks_df.loc[
176
195
  (real_time_quotes_all_stocks_df['wei_bi'] == 100) & (real_time_quotes_all_stocks_df['chg'] >= 9)]
177
196
  miss_zt_data_df_copy = real_time_quotes_all_stocks_df.loc[~(
@@ -222,7 +241,7 @@ def sync_miss_zt_data(stock_em_zt_pool_df_data, str_day):
222
241
 
223
242
 
224
243
  if __name__ == '__main__':
225
- save_zt_info('2025-05-14')
244
+ save_zt_info('2025-11-14')
226
245
  # from datetime import datetime
227
246
  #
228
247
  # if __name__ == '__main__':
@@ -14,9 +14,15 @@ from loguru import logger
14
14
 
15
15
 
16
16
  def update_null_zt_reason(str_day):
17
- query = {"str_day": str_day, "$or": [{"zt_reason": "0", },
17
+ query = {"str_day": str_day, "$or": [{"zt_reason": "0"},
18
18
  {"zt_reason": ""},
19
- {"zt_reason": float('nan')}]}
19
+ {"zt_reason": float('nan')},
20
+
21
+ {"zt_analysis": "0"},
22
+ {"zt_analysis": ""},
23
+ {"zt_analysis": float('nan')},
24
+
25
+ ]}
20
26
  stock_zt_pool_df_null_zt_reason = mongodb_util.find_query_data('stock_zt_pool', query)
21
27
  if data_frame_util.is_empty(stock_zt_pool_df_null_zt_reason):
22
28
  return None
@@ -24,24 +30,29 @@ def update_null_zt_reason(str_day):
24
30
  repeat_number = 0
25
31
  # 循环10次
26
32
  while len(no_reason_list) > 0 and repeat_number < 10:
27
- ths_zt_pool_df_data = ths_stock_zt_pool_api.get_zt_reason(str_day)
33
+
28
34
  for stock_zt_one in stock_zt_pool_df_null_zt_reason.itertuples():
29
35
  try:
30
- ths_pool_zt_reason_one_df = ths_zt_pool_df_data.loc[
31
- ths_zt_pool_df_data['symbol'] == stock_zt_one.symbol]
32
- if data_frame_util.is_not_empty(ths_pool_zt_reason_one_df):
33
- stock_zt_pool_df_one_df = stock_zt_pool_df_null_zt_reason.loc[
34
- stock_zt_pool_df_null_zt_reason['symbol'] == stock_zt_one.symbol]
35
- stock_zt_pool_df_one_df['zt_reason'] = list(ths_pool_zt_reason_one_df['zt_reason'])[0]
36
- mongodb_util.save_mongo(stock_zt_pool_df_one_df, 'stock_zt_pool')
36
+ # 涨停原因
37
+ stock_zt_pool_df_one_df = stock_zt_pool_df_null_zt_reason.loc[
38
+ stock_zt_pool_df_null_zt_reason['symbol'] == stock_zt_one.symbol]
39
+ # 涨停分析
40
+ zt_result_dict = ths_stock_zt_pool_api.zt_analyse_reason(stock_zt_one.symbol)
41
+ zt_analysis = zt_result_dict['zt_analyse_detail']
42
+ zt_reason = zt_result_dict['zt_reason']
43
+
44
+ stock_zt_pool_df_one_df['zt_analysis'] = zt_analysis
45
+ stock_zt_pool_df_one_df['zt_reason'] = zt_reason
46
+
47
+ mongodb_util.save_mongo(stock_zt_pool_df_one_df, 'stock_zt_pool')
48
+ if stock_zt_one.symbol in no_reason_list:
37
49
  no_reason_list.remove(stock_zt_one.symbol)
38
50
  except BaseException as e:
39
51
  logger.error("出现异常:{},{}", stock_zt_one.symbol, e)
40
52
  continue
41
53
  repeat_number = repeat_number + 1
42
-
43
54
  return stock_zt_pool_df_null_zt_reason
44
55
 
45
56
 
46
57
  if __name__ == '__main__':
47
- update_null_zt_reason('2024-12-12')
58
+ update_null_zt_reason('2025-11-14')
@@ -134,8 +134,8 @@ def col_data_move():
134
134
 
135
135
  if __name__ == '__main__':
136
136
  # todo 修改日期
137
- str_day = '2025-10-14'
138
- col_data_move()
137
+ str_day = '2025-11-13'
138
+ # col_data_move()
139
139
  sync_daily_data_info()
140
140
  sync_stock_zt_pool()
141
141
  sync_stock_dt_pool()
@@ -53,13 +53,15 @@ import mns_scheduler.company_info.clean.company_info_clean_api as company_info_c
53
53
  import mns_scheduler.zt.zt_pool.ths_zt_pool_sync_api as ths_zt_pool_sync_api
54
54
  import mns_scheduler.trade.task.trader_task_service as trader_task_service
55
55
  import mns_scheduler.company_info.remark.company_remark_info_sync as company_remark_info_sync
56
- import mns_scheduler.finance.sync_financial_report_service_api as sync_financial_report_service_api
56
+ import mns_scheduler.finance.sync_financial_report_service_task as sync_financial_report_service_task
57
57
  import mns_scheduler.hk.hk_industry_info_sync_service_api as hk_industry_info_sync_service_api
58
58
  import mns_scheduler.hk.hk_company_info_sync_service_api as hk_company_info_sync_service_api
59
59
  import mns_scheduler.zt.zt_pool.update_null_zt_reason_api as update_null_zt_reason_api
60
60
  import mns_scheduler.trade.tfp.stock_tfp_info_sync as stock_tfp_info_sync
61
61
  import mns_scheduler.industry.ths.ths_industry_sync_service as ths_industry_sync_service
62
62
  import mns_scheduler.k_line.year_quarter.year_quarter_line_sync as year_quarter_line_sync
63
+ import mns_scheduler.k_line.sync_status.k_line_sync_status_check as k_line_sync_status_check
64
+ import mns_scheduler.company_info.base.sync_company_product_area_industry as sync_company_product_area_industry_api
63
65
 
64
66
 
65
67
  # 同步交易日期任务完成
@@ -319,7 +321,7 @@ def sync_position():
319
321
  # 同步持仓
320
322
  if trade_date_common_service_api.is_trade_day(str_day):
321
323
  logger.info('同步持仓任务完成')
322
- sync_position_api.sync_position()
324
+ sync_position_api.sync_position_qmt()
323
325
 
324
326
 
325
327
  # 同步开盘啦当日精选指数行情数据
@@ -352,7 +354,7 @@ def sync_all_interactive_questions():
352
354
  tag = bool(1 - trade_date_common_service_api.is_trade_day(str_day))
353
355
  if tag:
354
356
  logger.info('同步互动回答')
355
- stock_irm_cninfo_service.sync_all_interactive_questions(None)
357
+ stock_irm_cninfo_service.sync_symbols_interactive_questions([])
356
358
 
357
359
 
358
360
  # # 重开定时任务同步
@@ -387,7 +389,7 @@ def self_choose_stock_task():
387
389
  # 同步财务报表
388
390
  def sync_financial_report_task():
389
391
  logger.info('同步财务报表任务')
390
- sync_financial_report_service_api.sync_financial_report()
392
+ sync_financial_report_service_task.sync_financial_report()
391
393
 
392
394
 
393
395
  # 同步hk公司信息
@@ -438,6 +440,17 @@ def sync_all_em_stock_info():
438
440
  sync_em_stock_info_sync.sync_all_em_stock_info()
439
441
 
440
442
 
443
+ # check 前复权k线和下一个交易日策略k线数据同步状态
444
+ def check_k_line_sync_count():
445
+ logger.info("check前复权k线和下一个交易日策略k线数据同步状态")
446
+ k_line_sync_status_check.check_k_line_sync_count()
447
+
448
+
449
+ # 同步公司产品区域信息
450
+ def sync_company_product_area_industry():
451
+ sync_company_product_area_industry_api.sync_company_product_area_industry_task(None)
452
+
453
+
441
454
  # # 定义BlockingScheduler
442
455
  blockingScheduler = BlockingScheduler()
443
456
 
@@ -461,10 +474,10 @@ blockingScheduler.add_job(sync_position, 'cron', hour='0,08,09', minute='14')
461
474
  blockingScheduler.add_job(update_company_base_info, 'cron', hour='08,18', minute='05')
462
475
 
463
476
  # 同步互动回答
464
- blockingScheduler.add_job(sync_all_interactive_questions, 'cron', hour='08,12,17', minute='06')
477
+ blockingScheduler.add_job(sync_all_interactive_questions, 'cron', hour='06,17', minute='30')
465
478
 
466
479
  # 同步十大流通股东信息
467
- blockingScheduler.add_job(sync_stock_gdfx_free_top_10_one_day, 'cron', hour='08,22', minute='23')
480
+ blockingScheduler.add_job(sync_stock_gdfx_free_top_10_one_day, 'cron', hour='06,18', minute='05')
468
481
 
469
482
  # 同步港股公司和行业信息
470
483
  blockingScheduler.add_job(sync_hk_company_industry_info, 'cron', hour='08,15', minute='10')
@@ -552,8 +565,15 @@ blockingScheduler.add_job(sync_all_kpl_plate_info, 'interval', minutes=5, max_in
552
565
  # 同步新公告信息 感觉没有必要同步 直接连接过去查看
553
566
  # blockingScheduler.add_job(sync_company_announce, 'cron', hour='07,18,23', minute='33')
554
567
 
568
+ # check 前复权k线和下一个交易日策略k线数据同步状态
569
+ blockingScheduler.add_job(check_k_line_sync_count, 'cron', hour='6,23', minute='10')
570
+
571
+ # 同步公司产品区域信息
572
+ blockingScheduler.add_job(sync_company_product_area_industry, 'cron', day_of_week='sat,sun', hour='10,20',
573
+ minute='10')
574
+
555
575
  print('定时任务启动成功')
556
576
  blockingScheduler.start()
557
577
  #
558
578
  # if __name__ == '__main__':
559
- # generate_new_day_k_line_info()
579
+ # sync_company_product_area_industry()
@@ -1,4 +1,4 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: mns-scheduler
3
- Version: 1.3.5.0
3
+ Version: 1.4.3.0
4
4
 
@@ -3,16 +3,17 @@ mns_scheduler/company_info/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlI
3
3
  mns_scheduler/company_info/announce/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
4
4
  mns_scheduler/company_info/announce/company_announce_sync_service.py,sha256=q8zYOZJmRin_QU2uPk52wngNdgnZooabnfrnqzqFIrM,3055
5
5
  mns_scheduler/company_info/base/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
6
- mns_scheduler/company_info/base/sync_company_base_info_api.py,sha256=SIBQqUbAZXGCfAoYq78McvIZ6vrttlCfAlqhZl23z9U,21050
7
- mns_scheduler/company_info/base/sync_company_hold_info_api.py,sha256=ep9CthkoL_NNqkZgAeAdZqaf7_LNFDCrZonUjrT7w5o,1587
6
+ mns_scheduler/company_info/base/sync_company_base_info_api.py,sha256=QAwzK7lex_BuDYwA02XNWiS8xCB402LEisdCnbcUzfo,24393
7
+ mns_scheduler/company_info/base/sync_company_hold_info_api.py,sha256=XEdJzDt6RQqzZOv4mEOFfeh7q7LPTTNWNwT0AR1zHJc,1409
8
+ mns_scheduler/company_info/base/sync_company_product_area_industry.py,sha256=fEWvYjknjC19yUiitfCdQeFKt77tfYQDSJv1bv1ZSXY,7295
8
9
  mns_scheduler/company_info/clean/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
9
- mns_scheduler/company_info/clean/company_info_clean_api.py,sha256=P_-Nms6S1nVyqVOFKDT-Cq1RvriZV4IMz9eZCDF5Ovk,6104
10
+ mns_scheduler/company_info/clean/company_info_clean_api.py,sha256=vm6gr2yKoMpIFRmsz_EvKfd_7ItbfInjkISHhKWHqBA,6102
10
11
  mns_scheduler/company_info/constant/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
11
- mns_scheduler/company_info/constant/company_constant_data.py,sha256=0qhRXLASsQlYnJe_vy5HCwNQZWz-hmJslbr9VuBnmGY,22486
12
+ mns_scheduler/company_info/constant/company_constant_data.py,sha256=7emiXUeAla8nfyYYauGjsMarfY3ckN4TgYlON477jQE,22566
12
13
  mns_scheduler/company_info/de_list_stock/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
13
14
  mns_scheduler/company_info/de_list_stock/de_list_stock_service.py,sha256=QNtKc1ZI6xHjupcxbOBN7fBhi6oAGtL7X1TQZVzfpnk,1993
14
15
  mns_scheduler/company_info/em_stock_info/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
15
- mns_scheduler/company_info/em_stock_info/sync_em_stock_info_sync.py,sha256=csPArPy7IZPcycvEB3vl1ENVsrkcv0db5dMxVXIfn0c,3738
16
+ mns_scheduler/company_info/em_stock_info/sync_em_stock_info_sync.py,sha256=9NIv8HRAgjGFcTnw_i9YGQzQBZc57T2hdt66ciZcMZY,3922
16
17
  mns_scheduler/company_info/remark/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
17
18
  mns_scheduler/company_info/remark/company_remark_info_sync.py,sha256=L8wC8LU7-GYZb1TyKLjODJURROOEO4izZBxnWEM7Ahc,2334
18
19
  mns_scheduler/concept/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
@@ -45,15 +46,17 @@ mns_scheduler/db/script/sync/sync_hui_ce_test_data.py,sha256=oymZRnt-cMnrrHod796
45
46
  mns_scheduler/db/script/sync/sync_hui_ce_test_data_01.py,sha256=32F7kmxgube7F-_9-QhAHdjqWAQfRZZ51p7MdKi1u6I,2172
46
47
  mns_scheduler/db/script/update/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
47
48
  mns_scheduler/db/script/update/update_col_field.py,sha256=m7RJbNLTcaeknwHR50i3aebT--Rc6udpbOqyGwt61qg,1274
48
- mns_scheduler/debt/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
49
- mns_scheduler/debt/kzz_bond_info_sync.py,sha256=FOefhRDqSN1YRqY6drCN3p6PgzVD_isWQ15l9OllCGI,1346
50
49
  mns_scheduler/dt/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
51
50
  mns_scheduler/dt/stock_dt_pool_sync.py,sha256=5ivRUOnFtOapZniwTbujf1lVq3y4btm2Cmd5R6JJAVo,3466
52
51
  mns_scheduler/finance/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
53
- mns_scheduler/finance/em_financial_asset_liability_sync_service_api.py,sha256=xcThdnFD5hGRkUsYpIgCi3GR_54_otQnurz-9pzHo9Y,19417
54
- mns_scheduler/finance/em_financial_profit_sync_service_api.py,sha256=KWUfpDs_OuUPToEeoUScQuvYFQvszh5nQu3DVDONfHc,14514
55
- mns_scheduler/finance/finance_common_api.py,sha256=rqsVJZEklJjvM9ogl-9GQaWxyh1LE6IKoTkQkN5cBvE,2453
56
- mns_scheduler/finance/sync_financial_report_service_api.py,sha256=R6Zd3PJRb2LgQCBYdysZwx5IK6fGIVS3i1WU-yNIfxQ,6662
52
+ mns_scheduler/finance/sync_financial_report_service_task.py,sha256=ROJ4aOtv3lRqMIhCyy9uV54Of5Q-LhzvvJslu33Jp08,8867
53
+ mns_scheduler/finance/em/__init__.py,sha256=wEg73KlZo-dU0yKGwpA1C2y6LZm4IBb94tNda1tqLeg,163
54
+ mns_scheduler/finance/em/em_financial_asset_liability_sync_service_api.py,sha256=1e5VIdQV4U19CBJP0Ow_fp3WvfUF8sPQQQXG8zv5qjo,19420
55
+ mns_scheduler/finance/em/em_financial_profit_sync_service_api.py,sha256=j5xnzcSthy6qc5dYr52DnxqN2T4zf_rldlRWbLyz90I,14550
56
+ mns_scheduler/finance/em/finance_common_api.py,sha256=rqsVJZEklJjvM9ogl-9GQaWxyh1LE6IKoTkQkN5cBvE,2453
57
+ mns_scheduler/finance/xue_qiu/__init__.py,sha256=wEg73KlZo-dU0yKGwpA1C2y6LZm4IBb94tNda1tqLeg,163
58
+ mns_scheduler/finance/xue_qiu/down_load_xueqiu_report_api.py,sha256=r_RtfM2SBzQcvO1MH8Dt8mOXg2tbZOLz0sNwqne9jFs,2769
59
+ mns_scheduler/finance/xue_qiu/sync_xue_qiu_fiance_data.py,sha256=aRqNPqnyCP_sKl7afdk3Xrfa9IRCbU6MDK3_AlxTDBQ,7218
57
60
  mns_scheduler/hk/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
58
61
  mns_scheduler/hk/hk_company_info_sync_service_api.py,sha256=MGIKodN9oXaY0iwtdsrg4wwHXkMglFvY8eyeTpbas6k,3724
59
62
  mns_scheduler/hk/hk_industry_info_sync_service_api.py,sha256=WdCTaBi4GDicWfmiYbI-byBCXZwknkYZHk6y2IloMys,2275
@@ -62,14 +65,14 @@ mns_scheduler/industry/ths/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlI
62
65
  mns_scheduler/industry/ths/ths_industry_index_service.py,sha256=MHvzUsDHnmdQn-mJc_D2uBKP0qvVWWagDV568xChPqg,2686
63
66
  mns_scheduler/industry/ths/ths_industry_sync_service.py,sha256=r0jLbY3JcnCGgLWYzRrXiqIbeT8PBGnG2dT_INuN824,2762
64
67
  mns_scheduler/irm/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
65
- mns_scheduler/irm/stock_irm_cninfo_service.py,sha256=CWNJ5O-Rx3X2c3YcVRJ2L6VWq77aHq7Ee3wPpUBPNSA,9730
68
+ mns_scheduler/irm/stock_irm_cninfo_service.py,sha256=ChOl_zWNSCXpj-NlveLaSsfie8hARusU4Ut1V_LAeOc,9759
66
69
  mns_scheduler/irm/api/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
67
70
  mns_scheduler/irm/api/sh_stock_sns_sse_info_api.py,sha256=EE09q9iIPNAEzxhKCM-2tsm1FZID3-fqdfikK1VS6H8,4931
68
71
  mns_scheduler/irm/api/sz_stock_sns_sse_info_api.py,sha256=iJ9K8FhatQpCx5PqusIH5x4MAw3F1v3fYC1Ztsp_2Zw,6199
69
72
  mns_scheduler/k_line/__init__.py,sha256=ffZXFCLFdIwOsbxnw__u1MbQYh9yz7Bs8UMP6VF0X2M,161
70
73
  mns_scheduler/k_line/clean/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
71
74
  mns_scheduler/k_line/clean/k_line_info_clean_impl.py,sha256=ZTnSpQ2zKnNPWCkHKPJkLdkxVK29szgufxNV6uvXG7s,1344
72
- mns_scheduler/k_line/clean/k_line_info_clean_task.py,sha256=htllTDOmzJLhhdpHTEgAn03iSlJT7D8GQOhhdnwDktc,8852
75
+ mns_scheduler/k_line/clean/k_line_info_clean_task.py,sha256=i-6XSHUC6NxgZubCfU8NGyA0YHHMgi1b-xxlrRhg-is,9026
73
76
  mns_scheduler/k_line/clean/daily/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
74
77
  mns_scheduler/k_line/clean/daily/daily_k_line_clean_common_service.py,sha256=gIoInwd1eCKCmhIOJHo8MuNEwj8ehMxYw83j52pxmxk,20447
75
78
  mns_scheduler/k_line/clean/daily/daily_k_line_service.py,sha256=1S-6sih0KptZEWYBN3jgVJHlv5y11QPONYjR-MpOQn8,6906
@@ -83,6 +86,8 @@ mns_scheduler/k_line/hot_stocks/recent_hot_stocks_clean_service.py,sha256=8woZzG
83
86
  mns_scheduler/k_line/month_week_daily/__init__.py,sha256=ffZXFCLFdIwOsbxnw__u1MbQYh9yz7Bs8UMP6VF0X2M,161
84
87
  mns_scheduler/k_line/month_week_daily/bfq_k_line_sync.py,sha256=ccHC9W3tQsZJI6BEpeH5DJ_Zvb6PZb5hYgF_OlGM-14,2668
85
88
  mns_scheduler/k_line/month_week_daily/daily_week_month_line_sync.py,sha256=xhPgLUhb-pGg-nYXvsiJzsPAnIzQuQ46es6oWsDiiqg,5619
89
+ mns_scheduler/k_line/sync_status/__init__.py,sha256=wEg73KlZo-dU0yKGwpA1C2y6LZm4IBb94tNda1tqLeg,163
90
+ mns_scheduler/k_line/sync_status/k_line_sync_status_check.py,sha256=GXKUiRggwk9phisd_QzPgC8gVezEpPbjitUJYxYjAXs,2218
86
91
  mns_scheduler/k_line/test/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
87
92
  mns_scheduler/k_line/test/k_line_info_clean_his_data.py,sha256=eWtzWL1geX5rrwfrlvDCuaTvy1CI9Zgk7CC4zlsncD4,1663
88
93
  mns_scheduler/k_line/year_quarter/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
@@ -94,7 +99,7 @@ mns_scheduler/kpl/selection/index/sync_best_choose_his_index.py,sha256=Cle5cU90H
94
99
  mns_scheduler/kpl/selection/index/sync_best_choose_index.py,sha256=-34drqAMsx792DxR8P1A8DrGCM5yIVGsop3UzDNzsPw,8016
95
100
  mns_scheduler/kpl/selection/symbol/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
96
101
  mns_scheduler/kpl/selection/symbol/sync_best_choose_symbol.py,sha256=Z0p3r-JWpxlEK2u00HIzVqEEg64r5AE72KQ2Bivwv_k,4756
97
- mns_scheduler/kpl/selection/symbol/sync_kpl_concept_symbol_choose_reason_api.py,sha256=BemNyYvlk5FKnKHxxvDLtE7Crx-EtxRB8CaCAFOZa-E,5248
102
+ mns_scheduler/kpl/selection/symbol/sync_kpl_concept_symbol_choose_reason_api.py,sha256=KHFo3v_xpjHqWTmXw0P1kP14DXJxIcXVj3c3AtIC6W8,5622
98
103
  mns_scheduler/kpl/selection/total/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
99
104
  mns_scheduler/kpl/selection/total/sync_kpl_best_total_sync_api.py,sha256=ljacoCP2gGtiwOT89FywE38vGGwZv1FmHNxS0PSx6-A,10755
100
105
  mns_scheduler/lhb/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
@@ -104,7 +109,7 @@ mns_scheduler/open/sync_one_day_open_data_to_db_service.py,sha256=4ghPSJaeSZB974
104
109
  mns_scheduler/risk/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
105
110
  mns_scheduler/risk/financial_report_risk_check_api.py,sha256=cOW_zh0bGn432cjj_kLlXW1Yp66Ne17aPwwg77yzOmE,1648
106
111
  mns_scheduler/risk/compliance/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
107
- mns_scheduler/risk/compliance/undisclosed_annual_report_api.py,sha256=sRU6cbvIpICZbTUJIUIobwoV02HG5lINUeTL0LSrZNE,3870
112
+ mns_scheduler/risk/compliance/undisclosed_annual_report_api.py,sha256=nlA4Mc6rhuCt_cveaVpKtbSTN1JJtzJcXudUAzJyCkE,3873
108
113
  mns_scheduler/risk/financial/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
109
114
  mns_scheduler/risk/financial/annual_report_audit_check_api.py,sha256=bNiMXDNt88XEsk0W8oUOQ4OdBvJzwRGjN9SNAygYlhI,2580
110
115
  mns_scheduler/risk/financial/net_assets_check_api.py,sha256=glhBAyixc4mNfFUCRyT22wsAQC20R67jthyg8uvsOS4,4737
@@ -117,13 +122,13 @@ mns_scheduler/risk/self/wei_pan_stock_api.py,sha256=ac_hhdwoK8-uI_ag40YEj4iTOkB8
117
122
  mns_scheduler/risk/test/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
118
123
  mns_scheduler/risk/test/fix_blask_list.py,sha256=IRDedHWuTi9y8EIZSwdiRxEUZcYAY3TH15GgJRmnQEw,1245
119
124
  mns_scheduler/risk/transactions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
120
- mns_scheduler/risk/transactions/transactions_check_api.py,sha256=fSHa15GlmzT-fnsYBTlhigKkXHHmO4JIUjpwQ66fszE,7379
125
+ mns_scheduler/risk/transactions/transactions_check_api.py,sha256=8lXid7P8NTVW9aPKS-v6Tv0wiseCnasVQQzD9sR49XI,7379
121
126
  mns_scheduler/self_choose/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
122
- mns_scheduler/self_choose/ths_self_choose_service.py,sha256=8GYkl7GwZWypcCYttFgmwVZlQqBIloOk1g-H1-Vznw8,6832
127
+ mns_scheduler/self_choose/ths_self_choose_service.py,sha256=g3w4DBE_BGo-ey4Sj_Z5wqjUugTrMBAjEpGcoDGPyHE,7155
123
128
  mns_scheduler/trade/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
124
129
  mns_scheduler/trade/auto_ipo_buy_api.py,sha256=jVe5ZiXwzkDy_j_4X4rUamSzJpmzhV16lNKwbeWgpQw,386
125
130
  mns_scheduler/trade/auto_sell_service_api.py,sha256=A2RB3WFxVHqbNPaPvhIgO-3uaicFZVmBKUy2TsfMU90,4624
126
- mns_scheduler/trade/sync_position_api.py,sha256=eGJAL1WoP_WwDloKQqeUXZUqtQv8G6VlODe8EDhmgMY,2748
131
+ mns_scheduler/trade/sync_position_api.py,sha256=o73_qdh_2uzOed6HFzAipM5hKOLqVhThph2DcAri3Oc,4136
127
132
  mns_scheduler/trade/auto_login/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
128
133
  mns_scheduler/trade/auto_login/trader_auto_service.py,sha256=bsagj26s74Zv5OEyGahhBX_OK4Iuo5ZmuItsON9DDmY,795
129
134
  mns_scheduler/trade/balance/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
@@ -150,15 +155,15 @@ mns_scheduler/zt/script/kcx_high_chg_open_his_data_handle.py,sha256=k2nrBjG41LU4
150
155
  mns_scheduler/zt/script/sync_high_chg_pool_his_data.py,sha256=WX5ZlV0x2kkXiLTep8fcs2ZkWY5BMWS8lQv8xpq4DlY,1685
151
156
  mns_scheduler/zt/script/sync_now_higt_chg_zt.py,sha256=7qUtn58ty9Vc6kY33BooCDIOojDGmSf9U5ncAtZt4cc,1853
152
157
  mns_scheduler/zt/zt_pool/__init__.py,sha256=Tyvi_iQlv3jz59EdH67Mycnt9CSixcWPQoJwu55bOq0,165
153
- mns_scheduler/zt/zt_pool/em_zt_pool_sync_api.py,sha256=LOEUyTA5g7N6FWxUpHWimWTeXiiMAnUdsYqhG4HpuOY,12154
158
+ mns_scheduler/zt/zt_pool/em_zt_pool_sync_api.py,sha256=LP2g24LMDHaVolEttNhWtkKn2oSLJPrsmaJISt9CCRA,13108
154
159
  mns_scheduler/zt/zt_pool/ths_zt_pool_sync_api.py,sha256=LI4o4_sovmLj1tMROPRQRCj5gaITKLGoYH-nUCuysbU,7501
155
- mns_scheduler/zt/zt_pool/update_null_zt_reason_api.py,sha256=caW-MuF0RFLavJZafeLDYQ29-GxwGsmr5YVrN4lost8,2135
160
+ mns_scheduler/zt/zt_pool/update_null_zt_reason_api.py,sha256=A-qohVTrnSd8Bs9gubjxScGjB7zEZOBLJuVZfuIwLeU,2445
156
161
  mns_scheduler/zz_task/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
157
- mns_scheduler/zz_task/data_sync_task.py,sha256=20od9BFyK2CI8F9DlgcZhc4n-cCJWo2HtYxyd4jIyls,22554
162
+ mns_scheduler/zz_task/data_sync_task.py,sha256=GbOJ0DhHVxTAz9W09POLZl3AzYFlTsPP7Q1VikSfQkY,23545
158
163
  mns_scheduler/zz_task/compensation/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
159
164
  mns_scheduler/zz_task/compensation/compensate_task.py,sha256=Dyo66NcSnXZ-Cne4_v77BBb27SemAiuGXRLnvQ26X0E,6464
160
- mns_scheduler/zz_task/compensation/compensate_task_one_day.py,sha256=qbub3S5fLKVyorhEzBppgVIizqdkcAeGQMgr9iAAf2I,5751
161
- mns_scheduler-1.3.5.0.dist-info/METADATA,sha256=sbXLQykuWeRO6fuIWqmdcnKKB_wzrvYgBVmIwa_stbs,64
162
- mns_scheduler-1.3.5.0.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
163
- mns_scheduler-1.3.5.0.dist-info/top_level.txt,sha256=PXQDFBGR1pWmsUbH5yiLAh71P5HZODTRED0zJ8CCgOc,14
164
- mns_scheduler-1.3.5.0.dist-info/RECORD,,
165
+ mns_scheduler/zz_task/compensation/compensate_task_one_day.py,sha256=jvaYpUS8AyJHgJTNchbco6eXMSzW1o4YNHgUBqrRTDk,5753
166
+ mns_scheduler-1.4.3.0.dist-info/METADATA,sha256=MPMKv5kiMXNq_AFqGA3lCDRd1e6tf0p_WmjFgHyJrXY,64
167
+ mns_scheduler-1.4.3.0.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
168
+ mns_scheduler-1.4.3.0.dist-info/top_level.txt,sha256=PXQDFBGR1pWmsUbH5yiLAh71P5HZODTRED0zJ8CCgOc,14
169
+ mns_scheduler-1.4.3.0.dist-info/RECORD,,
@@ -1,33 +0,0 @@
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)
8
- import mns_common.api.em.real_time.east_money_debt_api as east_money_debt_api
9
- from datetime import datetime
10
- import mns_common.constant.db_name_constant as db_name_constant
11
- from mns_common.db.MongodbUtil import MongodbUtil
12
-
13
- mongodb_util = MongodbUtil('27017')
14
-
15
-
16
- # 同步可转债信息
17
- def sync_debt_info():
18
- now_date = datetime.now()
19
- str_now_day = now_date.strftime('%Y-%m-%d')
20
- kzz_bond_info_df = east_money_debt_api.get_kzz_bond_info()
21
- kzz_bond_info_df = kzz_bond_info_df.fillna(0)
22
- kzz_bond_info_df['apply_date'] = kzz_bond_info_df['apply_date'].astype(str)
23
- kzz_bond_info_df['winning_date'] = kzz_bond_info_df['winning_date'].astype(str)
24
- kzz_bond_info_df['list_date'] = kzz_bond_info_df['list_date'].astype(str)
25
- kzz_bond_info_df['due_date'] = kzz_bond_info_df['due_date'].astype(str)
26
- kzz_bond_info_df = kzz_bond_info_df.loc[kzz_bond_info_df['due_date'] >= str_now_day]
27
- mongodb_util.remove_all_data(db_name_constant.KZZ_DEBT_INFO)
28
- kzz_bond_info_df['_id'] = kzz_bond_info_df['symbol']
29
- mongodb_util.insert_mongo(kzz_bond_info_df, db_name_constant.KZZ_DEBT_INFO)
30
-
31
-
32
- if __name__ == '__main__':
33
- sync_debt_info()