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

@@ -76,9 +76,22 @@ def update_one_concept_relevance_industry(concept_code):
76
76
  ths_stock_concept_detail_df['first_relevance_industry'] = first_relevance_industry
77
77
  ths_stock_concept_detail_df['second_relevance_industry'] = second_relevance_industry
78
78
 
79
- mongodb_util.save_mongo(ths_concept_list_one_df, db_name_constant.THS_CONCEPT_LIST)
79
+ new_values_list = {"$set": {"first_relevance_industry": first_relevance_industry,
80
+ "second_relevance_industry": second_relevance_industry,
81
+ "first_relevance_industry_number": first_relevance_industry_number,
82
+ "second_relevance_industry_number": second_relevance_industry_number,
80
83
 
81
- mongodb_util.save_mongo(ths_stock_concept_detail_df, db_name_constant.THS_STOCK_CONCEPT_DETAIL)
84
+ }}
85
+
86
+ update_query = {"symbol": concept_code}
87
+ mongodb_util.update_one_query(update_query, new_values_list, db_name_constant.THS_CONCEPT_LIST)
88
+
89
+ new_values_detail = {"$set": {"first_relevance_industry": first_relevance_industry,
90
+ "second_relevance_industry": second_relevance_industry
91
+
92
+ }}
93
+ update_query_detail = {"concept_code": concept_code}
94
+ mongodb_util.update_one_query(update_query_detail, new_values_detail, db_name_constant.THS_STOCK_CONCEPT_DETAIL)
82
95
 
83
96
 
84
97
  # 更新空名字
@@ -127,7 +127,7 @@ def save_ths_concept_detail(new_concept_symbol_df,
127
127
  query_detail = {"concept_code": int(concept_code)}
128
128
  exist_concept_detail = mongodb_util.find_query_data(db_name_constant.THS_STOCK_CONCEPT_DETAIL, query_detail)
129
129
  # 更新入选理由
130
- update_long_short(new_concept_symbol_df)
130
+ update_long_short(new_concept_symbol_df, exist_concept_detail)
131
131
 
132
132
  if exist_concept_detail is None or exist_concept_detail.shape[0] == 0:
133
133
  new_concept_symbol_df['grade'] = 1
@@ -160,7 +160,7 @@ def save_ths_concept_detail(new_concept_symbol_df,
160
160
 
161
161
 
162
162
  # 更新入选理由
163
- def update_long_short(new_concept_symbol_df):
163
+ def update_long_short(new_concept_symbol_df, exist_concept_detail):
164
164
  if data_frame_util.is_empty(new_concept_symbol_df):
165
165
  return None
166
166
  for new_concept_one in new_concept_symbol_df.itertuples():
@@ -171,8 +171,22 @@ def update_long_short(new_concept_symbol_df):
171
171
  mongodb_util.update_many(query, new_values, db_name_constant.THS_STOCK_CONCEPT_DETAIL_APP)
172
172
  except BaseException as e:
173
173
  logger.error("更新入选理由异常:{}", e)
174
-
175
- # 更新公司表信息 todo 清空cache 公司表中 common_service_fun_api.py get_company_info_industry
174
+ # 更新已经被删除概念的股票
175
+ update_delete_concept_symbol(list(new_concept_symbol_df['concept_code'])[0], new_concept_symbol_df,
176
+ exist_concept_detail)
177
+ # 更新公司表信息 todo 清空cache 公司表中 common_service_fun_api.py get_company_info_industry
178
+
179
+
180
+ ## 更新已经被删除这个概念的股票
181
+ def update_delete_concept_symbol(concept_code, new_concept_symbol_df, exist_concept_detail):
182
+ delete_concept_symbol_df = exist_concept_detail.loc[
183
+ ~(exist_concept_detail['symbol'].isin(list(new_concept_symbol_df['symbol'])))]
184
+
185
+ if data_frame_util.is_not_empty(delete_concept_symbol_df):
186
+ new_values = {"$set": {"grade": 0}}
187
+ query = {'symbol': {"$in": list(delete_concept_symbol_df['symbol'])}, 'concept_code': concept_code}
188
+ mongodb_util.update_many(query, new_values, db_name_constant.THS_STOCK_CONCEPT_DETAIL)
189
+ mongodb_util.update_many(query, new_values, db_name_constant.THS_STOCK_CONCEPT_DETAIL_APP)
176
190
 
177
191
 
178
192
  def update_company_info(new_concept_symbol_df):
@@ -218,7 +218,7 @@ def sync_ths_concept_detail_to_db(concept_code, concept_name):
218
218
 
219
219
 
220
220
  if __name__ == '__main__':
221
- sync_ths_concept_detail_to_db('886084', '光纤概念')
221
+ sync_ths_concept_detail_to_db('885740', '债转股')
222
222
  # real_time_quotes_all_stocks_df = east_money_stock_api.get_real_time_quotes_all_stocks()
223
223
  # get_ths_concept_detail_by_explain('886084', real_time_quotes_all_stocks_df)
224
224
  # get_ths_concept_detail_from_web('886084', real_time_quotes_all_stocks_df)
@@ -39,7 +39,7 @@ ZT_FIELD = ['_id', 'symbol', 'name', 'now_price', 'chg', 'first_closure_time',
39
39
  'third_sw_industry', 'ths_concept_name',
40
40
  'ths_concept_code', 'ths_concept_sync_day', 'em_industry',
41
41
  'mv_circulation_ratio', 'ths_concept_list_info', 'kpl_plate_name',
42
- 'kpl_plate_list_info', 'company_type', 'diff_days', 'symbol', 'amount',
42
+ 'kpl_plate_list_info', 'company_type', 'diff_days', 'amount',
43
43
  'list_date',
44
44
  'exchange', 'flow_mv', 'total_mv',
45
45
  'classification', 'flow_mv_sp', 'total_mv_sp', 'flow_mv_level',
@@ -73,12 +73,9 @@ def save_zt_info(str_day):
73
73
 
74
74
  # del stock_em_zt_pool_df_data['ths_concept_name']
75
75
  # del stock_em_zt_pool_df_data['ths_concept_code']
76
-
77
76
  for stock_one in stock_em_zt_pool_df_data.itertuples():
78
77
  try:
79
- stock_em_zt_pool_df_data = ths_concept_common_service_api.set_last_ths_concept(stock_one.symbol,
80
- stock_em_zt_pool_df_data,
81
- str_day)
78
+
82
79
  # 设置连板数目
83
80
  stock_em_zt_pool_df_data = set_connected_boards_numbers(stock_em_zt_pool_df_data,
84
81
  stock_one.symbol, last_trade_day_zt_df)
@@ -91,11 +88,10 @@ def save_zt_info(str_day):
91
88
  list(ths_zt_pool_one_df['zt_reason'])[0]
92
89
 
93
90
  first_closure_time = list(ths_zt_pool_one_df['first_closure_time'])[0]
94
- first_closure_time = first_closure_time.replace(":","")
95
-
96
- stock_em_zt_pool_df_data.loc[stock_em_zt_pool_df_data['symbol'] == stock_one.symbol, 'first_closure_time'] = first_closure_time
97
-
91
+ first_closure_time = first_closure_time.replace(":", "")
98
92
 
93
+ stock_em_zt_pool_df_data.loc[
94
+ stock_em_zt_pool_df_data['symbol'] == stock_one.symbol, 'first_closure_time'] = first_closure_time
99
95
  except BaseException as e:
100
96
  stock_em_zt_pool_df_data['zt_reason'] = '0'
101
97
  logger.error("出现异常:{}", e)
@@ -126,8 +122,13 @@ def save_zt_info(str_day):
126
122
 
127
123
  stock_em_zt_pool_df_data['str_day'] = str_day
128
124
  stock_em_zt_pool_df_data['_id'] = stock_em_zt_pool_df_data['symbol'] + "_" + str_day
125
+ # 主线标记 复盘用
126
+ stock_em_zt_pool_df_data['main_line'] = ''
129
127
 
130
128
  stock_em_zt_pool_df_data = stock_em_zt_pool_df_data[ZT_FIELD]
129
+
130
+ stock_em_zt_pool_df_data.drop_duplicates('symbol', keep='last', inplace=True)
131
+
131
132
  exist_zt_pool_today = mongodb_util.find_query_data('stock_zt_pool', {'str_day': str_day})
132
133
  if data_frame_util.is_empty(exist_zt_pool_today):
133
134
  mongodb_util.save_mongo(stock_em_zt_pool_df_data, 'stock_zt_pool')
@@ -198,7 +199,7 @@ def sync_miss_zt_data(stock_em_zt_pool_df_data, str_day):
198
199
 
199
200
 
200
201
  if __name__ == '__main__':
201
- save_zt_info('2024-11-04')
202
+ save_zt_info('2024-11-05')
202
203
  # from datetime import datetime
203
204
  #
204
205
  # if __name__ == '__main__':
@@ -1,4 +1,4 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: mns-scheduler
3
- Version: 1.1.9.7
3
+ Version: 1.1.9.9
4
4
 
@@ -20,13 +20,13 @@ mns_scheduler/company_info/remark/company_remark_info_sync.py,sha256=hzQ8uBK4-od
20
20
  mns_scheduler/concept/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
21
21
  mns_scheduler/concept/clean/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
22
22
  mns_scheduler/concept/clean/kpl_concept_clean_api.py,sha256=xxIIgrXLI6xLf10t4unJa7aMB_QeKeki1HJVeXsntkY,4512
23
- mns_scheduler/concept/clean/ths_concept_clean_api.py,sha256=Q__cpjyT4IoXKhoDg0l_k4E_9lDY1LWRBcQJUwOC_ds,5955
23
+ mns_scheduler/concept/clean/ths_concept_clean_api.py,sha256=iUj9857-6VxEnPNGOjP3NIj-AW1WscsVZJ7T0l6sQ-M,6726
24
24
  mns_scheduler/concept/ths/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
25
25
  mns_scheduler/concept/ths/common/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
26
- mns_scheduler/concept/ths/common/ths_concept_sync_common_api.py,sha256=mhzd2FuGqzeh1vTIbBBg3sMZTau_vaGpq615KFgpVOw,9267
26
+ mns_scheduler/concept/ths/common/ths_concept_sync_common_api.py,sha256=OgYueBEL8V7UB1MCv4Y2GzYaDGt6AvQOP3FkGUH_UfA,10217
27
27
  mns_scheduler/concept/ths/common/ths_concept_update_common_api.py,sha256=4BQT3A9t-nDIyCpILgRZF7ZOgK1oabp-gJl5nyWvKWc,4418
28
28
  mns_scheduler/concept/ths/detaill/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
29
- mns_scheduler/concept/ths/detaill/ths_concept_detail_api.py,sha256=DND0wPAbxXSSu8D9dJe6FaamAnnDftDMfLc9H6UmmSg,10885
29
+ mns_scheduler/concept/ths/detaill/ths_concept_detail_api.py,sha256=_azUXNzALQ4I9zHDERYZK7qqMZHxLC8uiSVSEa5v0sI,10882
30
30
  mns_scheduler/concept/ths/sync_new_index/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
31
31
  mns_scheduler/concept/ths/sync_new_index/sync_ths_concept_new_index_api.py,sha256=wllTGr3HfP4HSg776I5v6XcMGZMrunSTJCmWwTnT1VU,7923
32
32
  mns_scheduler/concept/ths/update_concept_info/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
@@ -137,12 +137,12 @@ mns_scheduler/zt/script/kcx_high_chg_open_his_data_handle.py,sha256=aTrYgshcccoH
137
137
  mns_scheduler/zt/script/sync_high_chg_pool_his_data.py,sha256=dtREQdNpoDM4KLTvdXuiEhXmdjpc1dScMDgR3fbEbww,1685
138
138
  mns_scheduler/zt/script/sync_now_higt_chg_zt.py,sha256=bhoIGDWTI3w0YKVfIAVNHWpUrYqJYDMGPt-1i3d_Zmw,1850
139
139
  mns_scheduler/zt/zt_pool/__init__.py,sha256=Tyvi_iQlv3jz59EdH67Mycnt9CSixcWPQoJwu55bOq0,165
140
- mns_scheduler/zt/zt_pool/em_zt_pool_sync_api.py,sha256=W4ib05uhF3N36S0N-hTulr3ki-6h4rsoiqYKMDNukeo,10718
140
+ mns_scheduler/zt/zt_pool/em_zt_pool_sync_api.py,sha256=ioCWCXdr99Yf_r0N4r1y_rF2Gp2230-ZeQGC6D_rxEQ,10551
141
141
  mns_scheduler/zt/zt_pool/ths_zt_pool_sync_api.py,sha256=Sy39T-yFwLSIIoSZqQzS-6-W1RlaFWvYpksEXKQVFdI,10456
142
142
  mns_scheduler/zt/zt_pool/update_null_zt_reason_api.py,sha256=OuklSKUhZMj1aKcwDLpZilKIqFbHY3hvvIuA_UFnPqA,2135
143
143
  mns_scheduler/zz_task/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
144
144
  mns_scheduler/zz_task/data_sync_task.py,sha256=b-hv4OBJr9qsmhtCA3k88Odj2WGThuLrn0NkvKIgx0o,21195
145
- mns_scheduler-1.1.9.7.dist-info/METADATA,sha256=TWxXQfH5ttec1uKb0YNreDZMY4r9KIfmz6qbUOoRtXk,64
146
- mns_scheduler-1.1.9.7.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
147
- mns_scheduler-1.1.9.7.dist-info/top_level.txt,sha256=PXQDFBGR1pWmsUbH5yiLAh71P5HZODTRED0zJ8CCgOc,14
148
- mns_scheduler-1.1.9.7.dist-info/RECORD,,
145
+ mns_scheduler-1.1.9.9.dist-info/METADATA,sha256=3S1PT74f1acuih-elLIpxS-YRyw_97XpOswmrZXpJKI,64
146
+ mns_scheduler-1.1.9.9.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
147
+ mns_scheduler-1.1.9.9.dist-info/top_level.txt,sha256=PXQDFBGR1pWmsUbH5yiLAh71P5HZODTRED0zJ8CCgOc,14
148
+ mns_scheduler-1.1.9.9.dist-info/RECORD,,