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

@@ -175,7 +175,7 @@ def update_long_short(new_concept_symbol_df):
175
175
  for new_concept_one in new_concept_symbol_df.itertuples():
176
176
  try:
177
177
  query = {'symbol': new_concept_one.symbol, 'concept_code': new_concept_one.concept_code}
178
- new_values = {'long': new_concept_one.long, "short": new_concept_one.short}
178
+ new_values = {"$set":{'long': new_concept_one.long, "short": new_concept_one.short}}
179
179
  mongodb_util.update_many(query, new_values, db_name_constant.THS_STOCK_CONCEPT_DETAIL)
180
180
  mongodb_util.update_many(query, new_values, db_name_constant.THS_STOCK_CONCEPT_DETAIL_APP)
181
181
  except BaseException as e:
@@ -16,6 +16,9 @@ import mns_common.utils.data_frame_util as data_frame_util
16
16
  import mns_common.component.common_service_fun_api as common_service_fun_api
17
17
  import mns_common.component.trade_date.trade_date_common_service_api as trade_date_common_service_api
18
18
  import mns_common.api.ths.zt.ths_stock_zt_pool_v2_api as ths_stock_zt_pool_v2_api
19
+ import mns_common.component.zt.zt_common_service_api as zt_common_service_api
20
+ import mns_common.api.em.east_money_stock_api as east_money_stock_api
21
+ from datetime import datetime
19
22
 
20
23
  '''
21
24
  东方财富涨停池
@@ -50,6 +53,9 @@ def save_zt_info(str_day):
50
53
  stock_em_zt_pool_df_data = stock_zt_pool_api.stock_em_zt_pool_df(
51
54
  date_handle_util.no_slash_date(str_day))
52
55
 
56
+ # fix 涨停池没有的股票
57
+ stock_em_zt_pool_df_data = sync_miss_zt_data(stock_em_zt_pool_df_data, str_day)
58
+
53
59
  stock_em_zt_pool_df_data = common_service_fun_api.total_mv_classification(stock_em_zt_pool_df_data)
54
60
 
55
61
  stock_em_zt_pool_df_data = common_service_fun_api.classify_symbol(stock_em_zt_pool_df_data)
@@ -57,6 +63,10 @@ def save_zt_info(str_day):
57
63
  stock_em_zt_pool_df_data = common_service_fun_api.symbol_amount_simple(stock_em_zt_pool_df_data)
58
64
 
59
65
  stock_em_zt_pool_df_data = company_common_service_api.amendment_industry(stock_em_zt_pool_df_data)
66
+
67
+ # 上个交易交易日涨停股票
68
+ last_trade_day_zt_df = zt_common_service_api.get_last_trade_day_zt(str_day)
69
+
60
70
  try:
61
71
  # 同花顺问财涨停池
62
72
  ths_zt_pool_df_data = ths_stock_zt_pool_v2_api.get_ths_stock_zt_reason_with_cache(str_day)
@@ -69,6 +79,10 @@ def save_zt_info(str_day):
69
79
  stock_em_zt_pool_df_data = ths_concept_common_service_api.set_last_ths_concept(stock_one.symbol,
70
80
  stock_em_zt_pool_df_data,
71
81
  str_day)
82
+ # 设置连板数目
83
+ stock_em_zt_pool_df_data = set_connected_boards_numbers(stock_em_zt_pool_df_data,
84
+ stock_one.symbol, last_trade_day_zt_df)
85
+
72
86
  ths_zt_pool_one_df = ths_zt_pool_df_data.loc[ths_zt_pool_df_data['symbol'] == stock_one.symbol]
73
87
  if data_frame_util.is_empty(ths_zt_pool_one_df):
74
88
  stock_em_zt_pool_df_data['zt_reason'] = '0'
@@ -121,8 +135,61 @@ def save_zt_info(str_day):
121
135
  return stock_em_zt_pool_df_data
122
136
 
123
137
 
138
+ # 设置连板数目
139
+ def set_connected_boards_numbers(stock_em_zt_pool_df_data, symbol, last_trade_day_zt_df):
140
+ connected_boards_df = last_trade_day_zt_df.loc[
141
+ last_trade_day_zt_df['symbol'].isin(stock_em_zt_pool_df_data['symbol'])]
142
+
143
+ connected_boards_df['connected_boards_numbers'] = connected_boards_df['connected_boards_numbers'] + 1
144
+
145
+ connected_boards_df_one = connected_boards_df.loc[connected_boards_df['symbol'] == symbol]
146
+ if data_frame_util.is_not_empty(connected_boards_df_one):
147
+ connected_boards_df_one.loc[connected_boards_df_one['symbol'] == symbol, 'connected_boards_numbers'] = \
148
+ list(connected_boards_df_one['connected_boards_numbers'])[0]
149
+
150
+ return stock_em_zt_pool_df_data
151
+
152
+
153
+ def sync_miss_zt_data(stock_em_zt_pool_df_data, str_day):
154
+ now_date = datetime.now()
155
+ now_day = now_date.strftime('%Y-%m-%d')
156
+ if now_day == str_day:
157
+ real_time_quotes_all_stocks_df = east_money_stock_api.get_real_time_quotes_all_stocks()
158
+ real_time_quotes_all_stocks_df = real_time_quotes_all_stocks_df.loc[
159
+ (real_time_quotes_all_stocks_df['wei_bi'] == 100) & (real_time_quotes_all_stocks_df['chg'] >= 9)]
160
+ miss_zt_data_df = real_time_quotes_all_stocks_df.loc[~(
161
+ real_time_quotes_all_stocks_df['symbol'].isin(stock_em_zt_pool_df_data['symbol']))]
162
+ if data_frame_util.is_not_empty(miss_zt_data_df):
163
+ miss_zt_data_df['buy_1_num'] = miss_zt_data_df['buy_1_num'].astype(float)
164
+ miss_zt_data_df['now_price'] = miss_zt_data_df['now_price'].astype(float)
165
+ miss_zt_data_df['closure_funds'] = round(miss_zt_data_df['buy_1_num'] * 100 * miss_zt_data_df['now_price'],
166
+ 2)
167
+ miss_zt_data_df = miss_zt_data_df[[
168
+ 'symbol',
169
+ 'name',
170
+ 'chg',
171
+ 'now_price',
172
+ 'amount',
173
+ 'flow_mv',
174
+ 'total_mv',
175
+ 'exchange',
176
+ 'industry',
177
+ 'closure_funds'
178
+
179
+ ]]
180
+ miss_zt_data_df['index'] = 10000
181
+ miss_zt_data_df['first_closure_time'] = '150000'
182
+ miss_zt_data_df['last_closure_time'] = '150000'
183
+ miss_zt_data_df['statistics'] = '1/1'
184
+ miss_zt_data_df['frying_plates_numbers'] = 0
185
+ miss_zt_data_df['connected_boards_numbers'] = 0
186
+
187
+ stock_em_zt_pool_df_data = pd.concat([miss_zt_data_df, stock_em_zt_pool_df_data])
188
+ return stock_em_zt_pool_df_data
189
+
190
+
124
191
  if __name__ == '__main__':
125
- save_zt_info('2024-10-18')
192
+ save_zt_info('2024-10-30')
126
193
  # from datetime import datetime
127
194
  #
128
195
  # if __name__ == '__main__':
@@ -1,4 +1,4 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: mns-scheduler
3
- Version: 1.1.7.9
3
+ Version: 1.1.8.2
4
4
 
@@ -21,7 +21,7 @@ mns_scheduler/concept/clean/kpl_concept_clean_api.py,sha256=xxIIgrXLI6xLf10t4unJ
21
21
  mns_scheduler/concept/clean/ths_concept_clean_api.py,sha256=Q__cpjyT4IoXKhoDg0l_k4E_9lDY1LWRBcQJUwOC_ds,5955
22
22
  mns_scheduler/concept/ths/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
23
23
  mns_scheduler/concept/ths/common/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
24
- mns_scheduler/concept/ths/common/ths_concept_sync_common_api.py,sha256=zAxKAVnlkxN1GZWUBtVt8TMdvRNilQoJtVdhIcvjesY,9748
24
+ mns_scheduler/concept/ths/common/ths_concept_sync_common_api.py,sha256=0cpQT_3diL5xgibvoZUdxxp9iThzucNOqtcwbsSLS9g,9757
25
25
  mns_scheduler/concept/ths/common/ths_concept_update_common_api.py,sha256=4BQT3A9t-nDIyCpILgRZF7ZOgK1oabp-gJl5nyWvKWc,4418
26
26
  mns_scheduler/concept/ths/detaill/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
27
27
  mns_scheduler/concept/ths/detaill/ths_concept_detail_api.py,sha256=DND0wPAbxXSSu8D9dJe6FaamAnnDftDMfLc9H6UmmSg,10885
@@ -131,12 +131,12 @@ mns_scheduler/zt/script/kcx_high_chg_open_his_data_handle.py,sha256=aTrYgshcccoH
131
131
  mns_scheduler/zt/script/sync_high_chg_pool_his_data.py,sha256=dtREQdNpoDM4KLTvdXuiEhXmdjpc1dScMDgR3fbEbww,1685
132
132
  mns_scheduler/zt/script/sync_now_higt_chg_zt.py,sha256=bhoIGDWTI3w0YKVfIAVNHWpUrYqJYDMGPt-1i3d_Zmw,1850
133
133
  mns_scheduler/zt/zt_pool/__init__.py,sha256=Tyvi_iQlv3jz59EdH67Mycnt9CSixcWPQoJwu55bOq0,165
134
- mns_scheduler/zt/zt_pool/em_zt_pool_sync_api.py,sha256=Am5N29FStM2NaNPdwhDymFP61Y42YrwONFRcmwfkl2Y,7070
134
+ mns_scheduler/zt/zt_pool/em_zt_pool_sync_api.py,sha256=Dian2Ebzm3qdYcuEfXETvydZdg697ECDVN3ufccY_Kc,10352
135
135
  mns_scheduler/zt/zt_pool/ths_zt_pool_sync_api.py,sha256=Sy39T-yFwLSIIoSZqQzS-6-W1RlaFWvYpksEXKQVFdI,10456
136
136
  mns_scheduler/zt/zt_pool/update_null_zt_reason_api.py,sha256=OuklSKUhZMj1aKcwDLpZilKIqFbHY3hvvIuA_UFnPqA,2135
137
137
  mns_scheduler/zz_task/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
138
138
  mns_scheduler/zz_task/data_sync_task.py,sha256=UjKrV1TEhRH7Khmwh7cJnAu3pIKn7HOa22LsualCmRE,20518
139
- mns_scheduler-1.1.7.9.dist-info/METADATA,sha256=wqmnq1MbG5-WNjuhKxGPrwayqN7ePHNrXRe2Djc57a4,64
140
- mns_scheduler-1.1.7.9.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
141
- mns_scheduler-1.1.7.9.dist-info/top_level.txt,sha256=PXQDFBGR1pWmsUbH5yiLAh71P5HZODTRED0zJ8CCgOc,14
142
- mns_scheduler-1.1.7.9.dist-info/RECORD,,
139
+ mns_scheduler-1.1.8.2.dist-info/METADATA,sha256=LQcSNwap0vZHJ1BcKIsSouazgGObV-rAdvxvcBHdVwI,64
140
+ mns_scheduler-1.1.8.2.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
141
+ mns_scheduler-1.1.8.2.dist-info/top_level.txt,sha256=PXQDFBGR1pWmsUbH5yiLAh71P5HZODTRED0zJ8CCgOc,14
142
+ mns_scheduler-1.1.8.2.dist-info/RECORD,,