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

@@ -228,7 +228,7 @@ def get_em_profit_api(symbol):
228
228
  stock_profit_sheet_by_report_em = ak.stock_profit_sheet_by_report_em(sec_code)
229
229
  except Exception as e:
230
230
  logger.error("同步利润表异常:{},{}", symbol, e)
231
- if data_frame_util.is_empty(stock_profit_sheet_by_report_em):
231
+ if data_frame_util.is_empty(stock_profit_sheet_by_report_em.copy()):
232
232
  return None
233
233
  stock_profit_sheet_by_report_em = check_columns(stock_profit_sheet_by_report_em)
234
234
  stock_profit_sheet_by_report_em = stock_profit_sheet_by_report_em[[
@@ -294,55 +294,54 @@ def get_em_profit_api(symbol):
294
294
  new_profit_df = stock_profit_sheet_by_report_em
295
295
  if data_frame_util.is_empty(new_profit_df):
296
296
  return None
297
- new_profit_df.fillna(0, inplace=True)
297
+ new_profit_df = new_profit_df.fillna(0)
298
298
  return new_profit_df
299
299
 
300
300
 
301
301
  def check_columns(profit_df):
302
302
  if 'TOTAL_OPERATE_INCOME' not in profit_df.columns:
303
- profit_df['TOTAL_OPERATE_INCOME'] = 0
303
+ profit_df = profit_df.assign(TOTAL_OPERATE_INCOME=0)
304
304
 
305
305
  if 'FAIRVALUE_CHANGE_INCOME' not in profit_df.columns:
306
- profit_df['FAIRVALUE_CHANGE_INCOME'] = 0
306
+ profit_df = profit_df.assign(FAIRVALUE_CHANGE_INCOME=0)
307
307
 
308
308
  if 'INTEREST_INCOME' not in profit_df.columns:
309
- profit_df['INTEREST_INCOME'] = 0
309
+ profit_df = profit_df.assign(INTEREST_INCOME=0)
310
310
  if 'TOTAL_OPERATE_COST' not in profit_df.columns:
311
- profit_df['TOTAL_OPERATE_COST'] = 0
311
+ profit_df = profit_df.assign(TOTAL_OPERATE_COST=0)
312
312
  if 'OPERATE_COST' not in profit_df.columns:
313
- profit_df['OPERATE_COST'] = 0
313
+ profit_df = profit_df.assign(OPERATE_COST=0)
314
314
  if 'INTEREST_EXPENSE' not in profit_df.columns:
315
- profit_df['INTEREST_EXPENSE'] = 0
315
+ profit_df = profit_df.assign(INTEREST_EXPENSE=0)
316
316
  if 'FEE_COMMISSION_EXPENSE' not in profit_df.columns:
317
- profit_df['FEE_COMMISSION_EXPENSE'] = 0
317
+ profit_df = profit_df.assign(FEE_COMMISSION_EXPENSE=0)
318
318
  if 'RESEARCH_EXPENSE' not in profit_df.columns:
319
- profit_df['RESEARCH_EXPENSE'] = 0
319
+ profit_df = profit_df.assign(RESEARCH_EXPENSE=0)
320
320
  if 'SALE_EXPENSE' not in profit_df.columns:
321
- profit_df['SALE_EXPENSE'] = 0
321
+ profit_df = profit_df.assign(SALE_EXPENSE=0)
322
322
  if 'MANAGE_EXPENSE' not in profit_df.columns:
323
- profit_df['MANAGE_EXPENSE'] = 0
323
+ profit_df = profit_df.assign(MANAGE_EXPENSE=0)
324
324
  if 'FINANCE_EXPENSE' not in profit_df.columns:
325
- profit_df['FINANCE_EXPENSE'] = 0
325
+ profit_df = profit_df.assign(FINANCE_EXPENSE=0)
326
326
  if 'FE_INTEREST_EXPENSE' not in profit_df.columns:
327
- profit_df['FE_INTEREST_EXPENSE'] = 0
327
+ profit_df = profit_df.assign(FE_INTEREST_EXPENSE=0)
328
328
  if 'FE_INTEREST_INCOME' not in profit_df.columns:
329
- profit_df['FE_INTEREST_INCOME'] = 0
329
+ profit_df = profit_df.assign(FE_INTEREST_INCOME=0)
330
330
  if 'CREDIT_IMPAIRMENT_INCOME' not in profit_df.columns:
331
- profit_df['CREDIT_IMPAIRMENT_INCOME'] = 0
331
+ profit_df = profit_df.assign(CREDIT_IMPAIRMENT_INCOME=0)
332
332
  if 'ACCOUNTS_RECE' not in profit_df.columns:
333
- profit_df['ACCOUNTS_RECE'] = 0
334
-
333
+ profit_df = profit_df.assign(ACCOUNTS_RECE=0)
335
334
  if 'LOAN_ADVANCE' not in profit_df.columns:
336
- profit_df['LOAN_ADVANCE'] = 0
335
+ profit_df = profit_df.assign(LOAN_ADVANCE=0)
337
336
  if 'MONETARYFUNDS' not in profit_df.columns:
338
- profit_df['MONETARYFUNDS'] = 0
337
+ profit_df = profit_df.assign(MONETARYFUNDS=0)
339
338
  return profit_df
340
339
 
341
340
 
342
341
  import mns_common.component.em.em_stock_info_api as em_stock_info_api
343
342
 
344
343
  if __name__ == '__main__':
345
- get_em_profit_api('600519')
344
+ get_em_profit_api('002193')
346
345
  em_df = em_stock_info_api.get_a_stock_info()
347
346
  for em_one in em_df.itertuples():
348
347
  try:
@@ -28,7 +28,7 @@ def annual_report_audit_check(new_report_df, period_time):
28
28
  notice_date = list(new_report_one_df['NOTICE_DATE'])[0]
29
29
  now_date = datetime.now()
30
30
  str_day = now_date.strftime('%Y-%m-%d')
31
- query = {'symbol': symbol, 'level_code': BlackClassify.AUDIT_PROBLEM.up_level_code}
31
+ query = {'symbol': symbol, 'level_code': BlackClassify.AUDIT_PROBLEM.level_code}
32
32
  mongodb_util.remove_data(query, db_name_constant.SELF_BLACK_STOCK)
33
33
  # 年报有问题
34
34
  if opinion_type != OPINION_TYPE:
@@ -34,7 +34,7 @@ def net_assets_check(report_type, new_report_df, period_time):
34
34
  id_key = symbol + "_" + period_time + "_" + BlackClassify.FINANCIAL_PROBLEM_DEBT.level_code
35
35
  notice_date = list(new_report_one_df['NOTICE_DATE'])[0]
36
36
  query_company = {'_id': symbol, 'industry': {'$in': EXCLUDE_INDUSTRY}}
37
- query = {'symbol': symbol, 'level_code': BlackClassify.FINANCIAL_PROBLEM_DEBT.up_level_code}
37
+ query = {'symbol': symbol, 'level_code': BlackClassify.FINANCIAL_PROBLEM_DEBT.level_code}
38
38
  mongodb_util.remove_data(query, db_name_constant.SELF_BLACK_STOCK)
39
39
 
40
40
  if mongodb_util.exist_data_query(db_name_constant.COMPANY_INFO, query_company):
@@ -53,7 +53,7 @@ def profit_income_check(new_report_df, period_time, report_type):
53
53
  min_profit = min(total_profit, net_profit, operate_profit,
54
54
  continued_profit, parent_profit, deduct_parent_profit)
55
55
 
56
- query = {'symbol': symbol, 'level_code': BlackClassify.FINANCIAL_PROBLEM_PROFIT.up_level_code}
56
+ query = {'symbol': symbol, 'level_code': BlackClassify.FINANCIAL_PROBLEM_PROFIT.level_code}
57
57
  mongodb_util.remove_data(query, db_name_constant.SELF_BLACK_STOCK)
58
58
 
59
59
  if min_profit < 0:
@@ -14,11 +14,11 @@ mongodb_util = MongodbUtil('27017')
14
14
 
15
15
 
16
16
  def fix_profit_black_list():
17
- period_time = "2023-12-31 00:00:00"
17
+ period_time = "2024-12-31 00:00:00"
18
18
  period = 4
19
19
  report_type_list = [db_name_constant.EM_STOCK_ASSET_LIABILITY, db_name_constant.EM_STOCK_PROFIT]
20
20
  for report_type in report_type_list:
21
- query = {'REPORT_DATE': period_time}
21
+ query = {'REPORT_DATE': period_time,'symbol':"002251"}
22
22
  em_stock_profit_df_list = mongodb_util.find_query_data(report_type, query)
23
23
  for em_stock_one in em_stock_profit_df_list.itertuples():
24
24
  em_stock_one_df = em_stock_profit_df_list.loc[
@@ -516,6 +516,9 @@ blockingScheduler.add_job(sync_daily_data_info, 'cron', hour='15,20', minute='26
516
516
  # (前复权--月k线)
517
517
  blockingScheduler.add_job(stock_sync_qfq_monthly, 'cron', hour='15,18', minute='35')
518
518
 
519
+ # 复盘需要的数据
520
+ blockingScheduler.add_job(sync_toady_stock_zt_pool, 'cron', hour='15', minute='40')
521
+
519
522
  # 炸板信息同步 同步停复牌信息
520
523
  blockingScheduler.add_job(sync_stock_zb_pool, 'cron', hour='16,21', minute='15')
521
524
 
@@ -1,4 +1,4 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: mns-scheduler
3
- Version: 1.2.9.4
3
+ Version: 1.2.9.6
4
4
 
@@ -72,7 +72,7 @@ mns_scheduler/extraIncome/temp/tu_share_data_stock_sync.py,sha256=XOEYxjq0zvhUi9
72
72
  mns_scheduler/extraIncome/temp/tu_share_zhi_shu_sync_api.py,sha256=sAvfsIObHWsapgJP8o2YTL4D1XZiWa2tGguM6B6bgyQ,4169
73
73
  mns_scheduler/finance/__init__.py,sha256=wEg73KlZo-dU0yKGwpA1C2y6LZm4IBb94tNda1tqLeg,163
74
74
  mns_scheduler/finance/em_financial_asset_liability_sync_service_api.py,sha256=kEZQZkxB7RF7UPH4DmHoRWfEKgI61ZN8BcNOzmBUoV0,19417
75
- mns_scheduler/finance/em_financial_profit_sync_service_api.py,sha256=EVfY-FqYjj3kryfUdwOt7731JvDRxEw7UH9QdTlS2po,14252
75
+ mns_scheduler/finance/em_financial_profit_sync_service_api.py,sha256=BMOS0UIUTdDlbsKJlqEJkei1Uhz_PF2n3xgUvzZHlac,14514
76
76
  mns_scheduler/finance/finance_common_api.py,sha256=CUC_6GPpf_sLn1ZrT476qNBzxgJWDaxIi8LxdNaKFkE,2453
77
77
  mns_scheduler/finance/sync_financial_report_service_api.py,sha256=7ttWeBJOhA76CIz-K0K0jxN5z2-0-_c6-AWEFGFyMIQ,6632
78
78
  mns_scheduler/hk/__init__.py,sha256=wEg73KlZo-dU0yKGwpA1C2y6LZm4IBb94tNda1tqLeg,163
@@ -124,16 +124,16 @@ mns_scheduler/risk/financial_report_risk_check_api.py,sha256=BPkMZ7aINfOFPswIV11
124
124
  mns_scheduler/risk/compliance/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
125
125
  mns_scheduler/risk/compliance/undisclosed_annual_report_api.py,sha256=JKc9S8x0-ITtzqWPlI6CYOmjFaZxZ_5hVOzGwqPfA5A,3818
126
126
  mns_scheduler/risk/financial/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
127
- mns_scheduler/risk/financial/annual_report_audit_check_api.py,sha256=TdLZ1UvueCxCzSiPsGdpILdIPUfaLK5nLKL3BPftjqI,2583
128
- mns_scheduler/risk/financial/net_assets_check_api.py,sha256=LXuEWhK3ne8qRRZuen6a5peUUvdsRWfODU_RG3v-_Rs,4740
129
- mns_scheduler/risk/financial/profit_income_check_api.py,sha256=S2jgn29WT6Luoy13n0_JkW9JQUJmqLxfjl1TKsfA3zY,4630
127
+ mns_scheduler/risk/financial/annual_report_audit_check_api.py,sha256=EW1PToBJM6yIwbDB4uh1unt20z4nEsduwk-nd2rI_fE,2580
128
+ mns_scheduler/risk/financial/net_assets_check_api.py,sha256=glhBAyixc4mNfFUCRyT22wsAQC20R67jthyg8uvsOS4,4737
129
+ mns_scheduler/risk/financial/profit_income_check_api.py,sha256=EfoiTwR1iOxRk_uYhn_Ftb1YZLDatxD0xIzlSl5N8ug,4627
130
130
  mns_scheduler/risk/financial/stock_equity_mortgage_check_api.py,sha256=SQ7dieSCOf1z42Wi1zDEii3poAT5wfyBrV43dXkAaaw,22
131
131
  mns_scheduler/risk/major_violations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
132
132
  mns_scheduler/risk/major_violations/register_and_investigate_stock_sync_api.py,sha256=_xPQxT6OS7J7_PtA7hbfCmMS7VzpZTWoZUOXzwoesUs,5672
133
133
  mns_scheduler/risk/self/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
134
134
  mns_scheduler/risk/self/wei_pan_stock_api.py,sha256=5ebrjFqK49j_yEMffFBCumMeBzq_rmtsA4--lL5mhZs,1899
135
135
  mns_scheduler/risk/test/__init__.py,sha256=wEg73KlZo-dU0yKGwpA1C2y6LZm4IBb94tNda1tqLeg,163
136
- mns_scheduler/risk/test/fix_blask_list.py,sha256=zfUUZl-RrvSCUJPIBdj27cDt3xmz8sxA-OSdVg1z8xI,1245
136
+ mns_scheduler/risk/test/fix_blask_list.py,sha256=-jjLFdfyMdyirQfsioXyd-moLW1OwpN6YSh64gVXYGA,1263
137
137
  mns_scheduler/risk/transactions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
138
138
  mns_scheduler/risk/transactions/transactions_check_api.py,sha256=1Tbs8GNoAmdGPqwYOEFiyFjR4ghhvZ5fz4hl5kKjyfk,7379
139
139
  mns_scheduler/self_choose/__init__.py,sha256=wEg73KlZo-dU0yKGwpA1C2y6LZm4IBb94tNda1tqLeg,163
@@ -176,8 +176,8 @@ mns_scheduler/zt/zt_pool/em_zt_pool_sync_api.py,sha256=CAB1XCclO92dRd4K0ZGCNggB3
176
176
  mns_scheduler/zt/zt_pool/ths_zt_pool_sync_api.py,sha256=u0IvwPuI2hnjTOrwwe8EhBAMv8NbQTENpRbb-_5lDlM,9803
177
177
  mns_scheduler/zt/zt_pool/update_null_zt_reason_api.py,sha256=1uoiR2Uw46kDfjkvNg2US5rd_4OIkYO3872gIJOufUY,2135
178
178
  mns_scheduler/zz_task/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
179
- mns_scheduler/zz_task/data_sync_task.py,sha256=YvyKNmxS769mchZ4-f1DH-3Fpgx-tAO69zzus2Q_dg0,23299
180
- mns_scheduler-1.2.9.4.dist-info/METADATA,sha256=Mj_dVmIXBUPM2oSSPhR0VEmsQNYjB2aXjJaUupT1R2g,64
181
- mns_scheduler-1.2.9.4.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
182
- mns_scheduler-1.2.9.4.dist-info/top_level.txt,sha256=PXQDFBGR1pWmsUbH5yiLAh71P5HZODTRED0zJ8CCgOc,14
183
- mns_scheduler-1.2.9.4.dist-info/RECORD,,
179
+ mns_scheduler/zz_task/data_sync_task.py,sha256=l7Ol09OhzysGZgza5RzuxwNuJQ-GrNplZlbR0cnZcOs,23411
180
+ mns_scheduler-1.2.9.6.dist-info/METADATA,sha256=PQ2fGqdBwEFaKOv-R7se3kckQ9RJnmfIVg8EEBgWoKY,64
181
+ mns_scheduler-1.2.9.6.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
182
+ mns_scheduler-1.2.9.6.dist-info/top_level.txt,sha256=PXQDFBGR1pWmsUbH5yiLAh71P5HZODTRED0zJ8CCgOc,14
183
+ mns_scheduler-1.2.9.6.dist-info/RECORD,,