mns-scheduler 1.0.4.3__tar.gz → 1.0.4.6__tar.gz

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 (76) hide show
  1. {mns-scheduler-1.0.4.3 → mns-scheduler-1.0.4.6}/PKG-INFO +1 -1
  2. {mns-scheduler-1.0.4.3 → mns-scheduler-1.0.4.6}/mns_scheduler/company_info/company_constant_data.py +30 -41
  3. {mns-scheduler-1.0.4.3 → mns-scheduler-1.0.4.6}/mns_scheduler/company_info/company_info_sync_api.py +2 -2
  4. mns-scheduler-1.0.4.6/mns_scheduler/concept/clean/kpl_concept_clean_api.py +80 -0
  5. {mns-scheduler-1.0.4.3 → mns-scheduler-1.0.4.6}/mns_scheduler/concept/clean/ths_concept_clean_api.py +3 -3
  6. {mns-scheduler-1.0.4.3 → mns-scheduler-1.0.4.6}/mns_scheduler/k_line/sync/daily_week_month_line_sync.py +3 -3
  7. {mns-scheduler-1.0.4.3 → mns-scheduler-1.0.4.6}/mns_scheduler/zt/realtime_quotes_now_zt_kc_sync.py +1 -1
  8. {mns-scheduler-1.0.4.3 → mns-scheduler-1.0.4.6}/mns_scheduler/zt/zt_pool_sync_api.py +5 -2
  9. {mns-scheduler-1.0.4.3 → mns-scheduler-1.0.4.6}/mns_scheduler/zz_task/data_sync_task.py +7 -4
  10. {mns-scheduler-1.0.4.3 → mns-scheduler-1.0.4.6}/mns_scheduler.egg-info/PKG-INFO +1 -1
  11. {mns-scheduler-1.0.4.3 → mns-scheduler-1.0.4.6}/mns_scheduler.egg-info/SOURCES.txt +1 -0
  12. {mns-scheduler-1.0.4.3 → mns-scheduler-1.0.4.6}/setup.py +1 -1
  13. {mns-scheduler-1.0.4.3 → mns-scheduler-1.0.4.6}/README.md +0 -0
  14. {mns-scheduler-1.0.4.3 → mns-scheduler-1.0.4.6}/mns_scheduler/__init__.py +0 -0
  15. {mns-scheduler-1.0.4.3 → mns-scheduler-1.0.4.6}/mns_scheduler/backup/__init__.py +0 -0
  16. {mns-scheduler-1.0.4.3 → mns-scheduler-1.0.4.6}/mns_scheduler/backup/app/__init__.py +0 -0
  17. {mns-scheduler-1.0.4.3 → mns-scheduler-1.0.4.6}/mns_scheduler/backup/app/ths_new_concept_sync_app.py +0 -0
  18. {mns-scheduler-1.0.4.3 → mns-scheduler-1.0.4.6}/mns_scheduler/backup/em/__init__.py +0 -0
  19. {mns-scheduler-1.0.4.3 → mns-scheduler-1.0.4.6}/mns_scheduler/backup/em/em_new_concept_his_sync.py +0 -0
  20. {mns-scheduler-1.0.4.3 → mns-scheduler-1.0.4.6}/mns_scheduler/backup/em/em_new_concept_sync_common_api.py +0 -0
  21. {mns-scheduler-1.0.4.3 → mns-scheduler-1.0.4.6}/mns_scheduler/backup/em/em_new_concept_sync_web.py +0 -0
  22. {mns-scheduler-1.0.4.3 → mns-scheduler-1.0.4.6}/mns_scheduler/backup/wen_cai/__init__.py +0 -0
  23. {mns-scheduler-1.0.4.3 → mns-scheduler-1.0.4.6}/mns_scheduler/backup/wen_cai/wen_cai_concept_sync.py +0 -0
  24. {mns-scheduler-1.0.4.3 → mns-scheduler-1.0.4.6}/mns_scheduler/big_deal/__init__.py +0 -0
  25. {mns-scheduler-1.0.4.3 → mns-scheduler-1.0.4.6}/mns_scheduler/big_deal/ths_big_deal_sync.py +0 -0
  26. {mns-scheduler-1.0.4.3 → mns-scheduler-1.0.4.6}/mns_scheduler/company_info/__init__.py +0 -0
  27. {mns-scheduler-1.0.4.3 → mns-scheduler-1.0.4.6}/mns_scheduler/concept/__init__.py +0 -0
  28. {mns-scheduler-1.0.4.3 → mns-scheduler-1.0.4.6}/mns_scheduler/concept/clean/__init__.py +0 -0
  29. {mns-scheduler-1.0.4.3 → mns-scheduler-1.0.4.6}/mns_scheduler/concept/ths/__init__.py +0 -0
  30. {mns-scheduler-1.0.4.3 → mns-scheduler-1.0.4.6}/mns_scheduler/concept/ths/common/__init__.py +0 -0
  31. {mns-scheduler-1.0.4.3 → mns-scheduler-1.0.4.6}/mns_scheduler/concept/ths/common/ths_concept_sync_common_api.py +0 -0
  32. {mns-scheduler-1.0.4.3 → mns-scheduler-1.0.4.6}/mns_scheduler/concept/ths/common/ths_concept_update_common_api.py +0 -0
  33. {mns-scheduler-1.0.4.3 → mns-scheduler-1.0.4.6}/mns_scheduler/concept/ths/sync_new_index/__init__.py +0 -0
  34. {mns-scheduler-1.0.4.3 → mns-scheduler-1.0.4.6}/mns_scheduler/concept/ths/sync_new_index/sync_ths_concept_by_ak_api.py +0 -0
  35. {mns-scheduler-1.0.4.3 → mns-scheduler-1.0.4.6}/mns_scheduler/concept/ths/sync_new_index/sync_ths_new_concept_by_web_api.py +0 -0
  36. {mns-scheduler-1.0.4.3 → mns-scheduler-1.0.4.6}/mns_scheduler/concept/ths/update_concept_info/__init__.py +0 -0
  37. {mns-scheduler-1.0.4.3 → mns-scheduler-1.0.4.6}/mns_scheduler/concept/ths/update_concept_info/sync_one_concept_all_symbols_api.py +0 -0
  38. {mns-scheduler-1.0.4.3 → mns-scheduler-1.0.4.6}/mns_scheduler/concept/ths/update_concept_info/sync_one_symbol_all_concepts_api.py +0 -0
  39. {mns-scheduler-1.0.4.3 → mns-scheduler-1.0.4.6}/mns_scheduler/db/__init__.py +0 -0
  40. {mns-scheduler-1.0.4.3 → mns-scheduler-1.0.4.6}/mns_scheduler/db/col_move_service.py +0 -0
  41. {mns-scheduler-1.0.4.3 → mns-scheduler-1.0.4.6}/mns_scheduler/db/db_status.py +0 -0
  42. {mns-scheduler-1.0.4.3 → mns-scheduler-1.0.4.6}/mns_scheduler/dt/__init__.py +0 -0
  43. {mns-scheduler-1.0.4.3 → mns-scheduler-1.0.4.6}/mns_scheduler/dt/stock_dt_pool_sync.py +0 -0
  44. {mns-scheduler-1.0.4.3 → mns-scheduler-1.0.4.6}/mns_scheduler/finance/__init__.py +0 -0
  45. {mns-scheduler-1.0.4.3 → mns-scheduler-1.0.4.6}/mns_scheduler/k_line/__init__.py +0 -0
  46. {mns-scheduler-1.0.4.3 → mns-scheduler-1.0.4.6}/mns_scheduler/k_line/clean/__init__.py +0 -0
  47. {mns-scheduler-1.0.4.3 → mns-scheduler-1.0.4.6}/mns_scheduler/k_line/clean/k_line_info_clean_impl.py +0 -0
  48. {mns-scheduler-1.0.4.3 → mns-scheduler-1.0.4.6}/mns_scheduler/k_line/clean/k_line_info_clean_service.py +0 -0
  49. {mns-scheduler-1.0.4.3 → mns-scheduler-1.0.4.6}/mns_scheduler/k_line/sync/__init__.py +0 -0
  50. {mns-scheduler-1.0.4.3 → mns-scheduler-1.0.4.6}/mns_scheduler/kpl/__init__.py +0 -0
  51. {mns-scheduler-1.0.4.3 → mns-scheduler-1.0.4.6}/mns_scheduler/kpl/selection/__init__.py +0 -0
  52. {mns-scheduler-1.0.4.3 → mns-scheduler-1.0.4.6}/mns_scheduler/kpl/selection/index/__init__.py +0 -0
  53. {mns-scheduler-1.0.4.3 → mns-scheduler-1.0.4.6}/mns_scheduler/kpl/selection/index/sync_best_choose_his_index.py +0 -0
  54. {mns-scheduler-1.0.4.3 → mns-scheduler-1.0.4.6}/mns_scheduler/kpl/selection/index/sync_best_choose_index.py +0 -0
  55. {mns-scheduler-1.0.4.3 → mns-scheduler-1.0.4.6}/mns_scheduler/kpl/selection/symbol/__init__.py +0 -0
  56. {mns-scheduler-1.0.4.3 → mns-scheduler-1.0.4.6}/mns_scheduler/kpl/selection/symbol/sync_best_choose_symbol.py +0 -0
  57. {mns-scheduler-1.0.4.3 → mns-scheduler-1.0.4.6}/mns_scheduler/kpl/selection/total/__init__.py +0 -0
  58. {mns-scheduler-1.0.4.3 → mns-scheduler-1.0.4.6}/mns_scheduler/kpl/selection/total/sync_kpl_best_total_sync_api.py +0 -0
  59. {mns-scheduler-1.0.4.3 → mns-scheduler-1.0.4.6}/mns_scheduler/real_time/__init__.py +0 -0
  60. {mns-scheduler-1.0.4.3 → mns-scheduler-1.0.4.6}/mns_scheduler/real_time/realtime_quotes_now_create_db_index.py +0 -0
  61. {mns-scheduler-1.0.4.3 → mns-scheduler-1.0.4.6}/mns_scheduler/real_time/realtime_quotes_now_sync.py +0 -0
  62. {mns-scheduler-1.0.4.3 → mns-scheduler-1.0.4.6}/mns_scheduler/trade/__init__.py +0 -0
  63. {mns-scheduler-1.0.4.3 → mns-scheduler-1.0.4.6}/mns_scheduler/trade/auto_ipo_buy_api.py +0 -0
  64. {mns-scheduler-1.0.4.3 → mns-scheduler-1.0.4.6}/mns_scheduler/trade/auto_sell_service_api.py +0 -0
  65. {mns-scheduler-1.0.4.3 → mns-scheduler-1.0.4.6}/mns_scheduler/trade/sync_position_api.py +0 -0
  66. {mns-scheduler-1.0.4.3 → mns-scheduler-1.0.4.6}/mns_scheduler/zb/__init__.py +0 -0
  67. {mns-scheduler-1.0.4.3 → mns-scheduler-1.0.4.6}/mns_scheduler/zb/stock_zb_pool_sync.py +0 -0
  68. {mns-scheduler-1.0.4.3 → mns-scheduler-1.0.4.6}/mns_scheduler/zt/__init__.py +0 -0
  69. {mns-scheduler-1.0.4.3 → mns-scheduler-1.0.4.6}/mns_scheduler/zt/export_open_data_to_excel.py +0 -0
  70. {mns-scheduler-1.0.4.3 → mns-scheduler-1.0.4.6}/mns_scheduler/zt/today_high_chg_pool_sync_api.py +0 -0
  71. {mns-scheduler-1.0.4.3 → mns-scheduler-1.0.4.6}/mns_scheduler/zt/zt_five_boards_sync_api.py +0 -0
  72. {mns-scheduler-1.0.4.3 → mns-scheduler-1.0.4.6}/mns_scheduler/zz_task/__init__.py +0 -0
  73. {mns-scheduler-1.0.4.3 → mns-scheduler-1.0.4.6}/mns_scheduler/zz_task/sync_realtime_quotes_task.py +0 -0
  74. {mns-scheduler-1.0.4.3 → mns-scheduler-1.0.4.6}/mns_scheduler.egg-info/dependency_links.txt +0 -0
  75. {mns-scheduler-1.0.4.3 → mns-scheduler-1.0.4.6}/mns_scheduler.egg-info/top_level.txt +0 -0
  76. {mns-scheduler-1.0.4.3 → mns-scheduler-1.0.4.6}/setup.cfg +0 -0
@@ -1,3 +1,3 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: mns-scheduler
3
- Version: 1.0.4.3
3
+ Version: 1.0.4.6
@@ -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
- if symbol == '688480':
378
- company_info = fix_industry_data('760103', company_info)
379
- if symbol == '000032':
380
- company_info = fix_industry_data('730204', company_info)
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 = '301387'
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(None)
474
- fix_company_industry(None)
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 update_concept_num():
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
- update_concept_num()
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
- # 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)
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
- sync_all_high_chg_data('2024-03-08')
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
- stock_em_zt_pool_df_data,
67
- str_day)
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 ths_concept_info_clean():
215
+ # 更新概念信息
216
+ def concept_info_clean():
216
217
  # 更新空概念名称
217
218
  ths_concept_choose_api.update_null_name()
218
219
  # 更新概念包含个数
219
- ths_concept_choose_api.update_concept_num()
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(ths_concept_info_clean, 'cron', hour='9,12,20', minute='24')
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')
@@ -1,3 +1,3 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: mns-scheduler
3
- Version: 1.0.4.3
3
+ Version: 1.0.4.6
@@ -21,6 +21,7 @@ mns_scheduler/company_info/company_constant_data.py
21
21
  mns_scheduler/company_info/company_info_sync_api.py
22
22
  mns_scheduler/concept/__init__.py
23
23
  mns_scheduler/concept/clean/__init__.py
24
+ mns_scheduler/concept/clean/kpl_concept_clean_api.py
24
25
  mns_scheduler/concept/clean/ths_concept_clean_api.py
25
26
  mns_scheduler/concept/ths/__init__.py
26
27
  mns_scheduler/concept/ths/common/__init__.py
@@ -2,7 +2,7 @@ from setuptools import setup, find_packages
2
2
 
3
3
  setup(
4
4
  name='mns-scheduler',
5
- version='1.0.4.3',
5
+ version='1.0.4.6',
6
6
  packages=find_packages(),
7
7
  install_requires=[], # 如果有依赖项,可以在这里列出
8
8
  )