mns-scheduler 1.0.4.7__tar.gz → 1.0.4.9__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 (84) hide show
  1. {mns-scheduler-1.0.4.7 → mns-scheduler-1.0.4.9}/PKG-INFO +1 -1
  2. mns-scheduler-1.0.4.9/mns_scheduler/company_info/de_list_stock_service.py +39 -0
  3. mns-scheduler-1.0.4.7/mns_scheduler/finance/em_financial_sync_service_api.py → mns-scheduler-1.0.4.9/mns_scheduler/finance/em_financial_asset_liability_sync_service_api.py +27 -269
  4. mns-scheduler-1.0.4.9/mns_scheduler/finance/em_financial_profit_sync_service_api.py +342 -0
  5. mns-scheduler-1.0.4.9/mns_scheduler/finance/finance_common_api.py +35 -0
  6. mns-scheduler-1.0.4.9/mns_scheduler/finance/financial_high_risk_stock_clean_service_api.py +178 -0
  7. mns-scheduler-1.0.4.9/mns_scheduler/finance/sync_financial_report_service_api.py +133 -0
  8. {mns-scheduler-1.0.4.7 → mns-scheduler-1.0.4.9}/mns_scheduler/risk/register_and_investigate_stock_sync_api.py +2 -1
  9. {mns-scheduler-1.0.4.7 → mns-scheduler-1.0.4.9}/mns_scheduler/zz_task/data_sync_task.py +3 -0
  10. {mns-scheduler-1.0.4.7 → mns-scheduler-1.0.4.9}/mns_scheduler.egg-info/PKG-INFO +1 -1
  11. {mns-scheduler-1.0.4.7 → mns-scheduler-1.0.4.9}/mns_scheduler.egg-info/SOURCES.txt +6 -1
  12. {mns-scheduler-1.0.4.7 → mns-scheduler-1.0.4.9}/setup.py +1 -1
  13. {mns-scheduler-1.0.4.7 → mns-scheduler-1.0.4.9}/README.md +0 -0
  14. {mns-scheduler-1.0.4.7 → mns-scheduler-1.0.4.9}/mns_scheduler/__init__.py +0 -0
  15. {mns-scheduler-1.0.4.7 → mns-scheduler-1.0.4.9}/mns_scheduler/backup/__init__.py +0 -0
  16. {mns-scheduler-1.0.4.7 → mns-scheduler-1.0.4.9}/mns_scheduler/backup/app/__init__.py +0 -0
  17. {mns-scheduler-1.0.4.7 → mns-scheduler-1.0.4.9}/mns_scheduler/backup/app/ths_new_concept_sync_app.py +0 -0
  18. {mns-scheduler-1.0.4.7 → mns-scheduler-1.0.4.9}/mns_scheduler/backup/em/__init__.py +0 -0
  19. {mns-scheduler-1.0.4.7 → mns-scheduler-1.0.4.9}/mns_scheduler/backup/em/em_new_concept_his_sync.py +0 -0
  20. {mns-scheduler-1.0.4.7 → mns-scheduler-1.0.4.9}/mns_scheduler/backup/em/em_new_concept_sync_common_api.py +0 -0
  21. {mns-scheduler-1.0.4.7 → mns-scheduler-1.0.4.9}/mns_scheduler/backup/em/em_new_concept_sync_web.py +0 -0
  22. {mns-scheduler-1.0.4.7 → mns-scheduler-1.0.4.9}/mns_scheduler/backup/wen_cai/__init__.py +0 -0
  23. {mns-scheduler-1.0.4.7 → mns-scheduler-1.0.4.9}/mns_scheduler/backup/wen_cai/wen_cai_concept_sync.py +0 -0
  24. {mns-scheduler-1.0.4.7 → mns-scheduler-1.0.4.9}/mns_scheduler/big_deal/__init__.py +0 -0
  25. {mns-scheduler-1.0.4.7 → mns-scheduler-1.0.4.9}/mns_scheduler/big_deal/ths_big_deal_sync.py +0 -0
  26. {mns-scheduler-1.0.4.7 → mns-scheduler-1.0.4.9}/mns_scheduler/company_info/__init__.py +0 -0
  27. {mns-scheduler-1.0.4.7 → mns-scheduler-1.0.4.9}/mns_scheduler/company_info/company_constant_data.py +0 -0
  28. {mns-scheduler-1.0.4.7 → mns-scheduler-1.0.4.9}/mns_scheduler/company_info/company_info_sync_api.py +0 -0
  29. {mns-scheduler-1.0.4.7 → mns-scheduler-1.0.4.9}/mns_scheduler/concept/__init__.py +0 -0
  30. {mns-scheduler-1.0.4.7 → mns-scheduler-1.0.4.9}/mns_scheduler/concept/clean/__init__.py +0 -0
  31. {mns-scheduler-1.0.4.7 → mns-scheduler-1.0.4.9}/mns_scheduler/concept/clean/kpl_concept_clean_api.py +0 -0
  32. {mns-scheduler-1.0.4.7 → mns-scheduler-1.0.4.9}/mns_scheduler/concept/clean/ths_concept_clean_api.py +0 -0
  33. {mns-scheduler-1.0.4.7 → mns-scheduler-1.0.4.9}/mns_scheduler/concept/ths/__init__.py +0 -0
  34. {mns-scheduler-1.0.4.7 → mns-scheduler-1.0.4.9}/mns_scheduler/concept/ths/common/__init__.py +0 -0
  35. {mns-scheduler-1.0.4.7 → mns-scheduler-1.0.4.9}/mns_scheduler/concept/ths/common/ths_concept_sync_common_api.py +0 -0
  36. {mns-scheduler-1.0.4.7 → mns-scheduler-1.0.4.9}/mns_scheduler/concept/ths/common/ths_concept_update_common_api.py +0 -0
  37. {mns-scheduler-1.0.4.7 → mns-scheduler-1.0.4.9}/mns_scheduler/concept/ths/sync_new_index/__init__.py +0 -0
  38. {mns-scheduler-1.0.4.7 → mns-scheduler-1.0.4.9}/mns_scheduler/concept/ths/sync_new_index/sync_ths_concept_by_ak_api.py +0 -0
  39. {mns-scheduler-1.0.4.7 → mns-scheduler-1.0.4.9}/mns_scheduler/concept/ths/sync_new_index/sync_ths_new_concept_by_web_api.py +0 -0
  40. {mns-scheduler-1.0.4.7 → mns-scheduler-1.0.4.9}/mns_scheduler/concept/ths/update_concept_info/__init__.py +0 -0
  41. {mns-scheduler-1.0.4.7 → mns-scheduler-1.0.4.9}/mns_scheduler/concept/ths/update_concept_info/sync_one_concept_all_symbols_api.py +0 -0
  42. {mns-scheduler-1.0.4.7 → mns-scheduler-1.0.4.9}/mns_scheduler/concept/ths/update_concept_info/sync_one_symbol_all_concepts_api.py +0 -0
  43. {mns-scheduler-1.0.4.7 → mns-scheduler-1.0.4.9}/mns_scheduler/db/__init__.py +0 -0
  44. {mns-scheduler-1.0.4.7 → mns-scheduler-1.0.4.9}/mns_scheduler/db/col_move_service.py +0 -0
  45. {mns-scheduler-1.0.4.7 → mns-scheduler-1.0.4.9}/mns_scheduler/db/db_status.py +0 -0
  46. {mns-scheduler-1.0.4.7 → mns-scheduler-1.0.4.9}/mns_scheduler/dt/__init__.py +0 -0
  47. {mns-scheduler-1.0.4.7 → mns-scheduler-1.0.4.9}/mns_scheduler/dt/stock_dt_pool_sync.py +0 -0
  48. {mns-scheduler-1.0.4.7 → mns-scheduler-1.0.4.9}/mns_scheduler/finance/__init__.py +0 -0
  49. {mns-scheduler-1.0.4.7 → mns-scheduler-1.0.4.9}/mns_scheduler/k_line/__init__.py +0 -0
  50. {mns-scheduler-1.0.4.7 → mns-scheduler-1.0.4.9}/mns_scheduler/k_line/clean/__init__.py +0 -0
  51. {mns-scheduler-1.0.4.7 → mns-scheduler-1.0.4.9}/mns_scheduler/k_line/clean/k_line_info_clean_impl.py +0 -0
  52. {mns-scheduler-1.0.4.7 → mns-scheduler-1.0.4.9}/mns_scheduler/k_line/clean/k_line_info_clean_service.py +0 -0
  53. {mns-scheduler-1.0.4.7 → mns-scheduler-1.0.4.9}/mns_scheduler/k_line/sync/__init__.py +0 -0
  54. {mns-scheduler-1.0.4.7 → mns-scheduler-1.0.4.9}/mns_scheduler/k_line/sync/daily_week_month_line_sync.py +0 -0
  55. {mns-scheduler-1.0.4.7 → mns-scheduler-1.0.4.9}/mns_scheduler/kpl/__init__.py +0 -0
  56. {mns-scheduler-1.0.4.7 → mns-scheduler-1.0.4.9}/mns_scheduler/kpl/selection/__init__.py +0 -0
  57. {mns-scheduler-1.0.4.7 → mns-scheduler-1.0.4.9}/mns_scheduler/kpl/selection/index/__init__.py +0 -0
  58. {mns-scheduler-1.0.4.7 → mns-scheduler-1.0.4.9}/mns_scheduler/kpl/selection/index/sync_best_choose_his_index.py +0 -0
  59. {mns-scheduler-1.0.4.7 → mns-scheduler-1.0.4.9}/mns_scheduler/kpl/selection/index/sync_best_choose_index.py +0 -0
  60. {mns-scheduler-1.0.4.7 → mns-scheduler-1.0.4.9}/mns_scheduler/kpl/selection/symbol/__init__.py +0 -0
  61. {mns-scheduler-1.0.4.7 → mns-scheduler-1.0.4.9}/mns_scheduler/kpl/selection/symbol/sync_best_choose_symbol.py +0 -0
  62. {mns-scheduler-1.0.4.7 → mns-scheduler-1.0.4.9}/mns_scheduler/kpl/selection/total/__init__.py +0 -0
  63. {mns-scheduler-1.0.4.7 → mns-scheduler-1.0.4.9}/mns_scheduler/kpl/selection/total/sync_kpl_best_total_sync_api.py +0 -0
  64. {mns-scheduler-1.0.4.7 → mns-scheduler-1.0.4.9}/mns_scheduler/real_time/__init__.py +0 -0
  65. {mns-scheduler-1.0.4.7 → mns-scheduler-1.0.4.9}/mns_scheduler/real_time/realtime_quotes_now_create_db_index.py +0 -0
  66. {mns-scheduler-1.0.4.7 → mns-scheduler-1.0.4.9}/mns_scheduler/real_time/realtime_quotes_now_sync.py +0 -0
  67. {mns-scheduler-1.0.4.7 → mns-scheduler-1.0.4.9}/mns_scheduler/risk/__init__.py +0 -0
  68. {mns-scheduler-1.0.4.7 → mns-scheduler-1.0.4.9}/mns_scheduler/trade/__init__.py +0 -0
  69. {mns-scheduler-1.0.4.7 → mns-scheduler-1.0.4.9}/mns_scheduler/trade/auto_ipo_buy_api.py +0 -0
  70. {mns-scheduler-1.0.4.7 → mns-scheduler-1.0.4.9}/mns_scheduler/trade/auto_sell_service_api.py +0 -0
  71. {mns-scheduler-1.0.4.7 → mns-scheduler-1.0.4.9}/mns_scheduler/trade/sync_position_api.py +0 -0
  72. {mns-scheduler-1.0.4.7 → mns-scheduler-1.0.4.9}/mns_scheduler/zb/__init__.py +0 -0
  73. {mns-scheduler-1.0.4.7 → mns-scheduler-1.0.4.9}/mns_scheduler/zb/stock_zb_pool_sync.py +0 -0
  74. {mns-scheduler-1.0.4.7 → mns-scheduler-1.0.4.9}/mns_scheduler/zt/__init__.py +0 -0
  75. {mns-scheduler-1.0.4.7 → mns-scheduler-1.0.4.9}/mns_scheduler/zt/export_open_data_to_excel.py +0 -0
  76. {mns-scheduler-1.0.4.7 → mns-scheduler-1.0.4.9}/mns_scheduler/zt/realtime_quotes_now_zt_kc_sync.py +0 -0
  77. {mns-scheduler-1.0.4.7 → mns-scheduler-1.0.4.9}/mns_scheduler/zt/today_high_chg_pool_sync_api.py +0 -0
  78. {mns-scheduler-1.0.4.7 → mns-scheduler-1.0.4.9}/mns_scheduler/zt/zt_five_boards_sync_api.py +0 -0
  79. {mns-scheduler-1.0.4.7 → mns-scheduler-1.0.4.9}/mns_scheduler/zt/zt_pool_sync_api.py +0 -0
  80. {mns-scheduler-1.0.4.7 → mns-scheduler-1.0.4.9}/mns_scheduler/zz_task/__init__.py +0 -0
  81. {mns-scheduler-1.0.4.7 → mns-scheduler-1.0.4.9}/mns_scheduler/zz_task/sync_realtime_quotes_task.py +0 -0
  82. {mns-scheduler-1.0.4.7 → mns-scheduler-1.0.4.9}/mns_scheduler.egg-info/dependency_links.txt +0 -0
  83. {mns-scheduler-1.0.4.7 → mns-scheduler-1.0.4.9}/mns_scheduler.egg-info/top_level.txt +0 -0
  84. {mns-scheduler-1.0.4.7 → mns-scheduler-1.0.4.9}/setup.cfg +0 -0
@@ -1,3 +1,3 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: mns-scheduler
3
- Version: 1.0.4.7
3
+ Version: 1.0.4.9
@@ -0,0 +1,39 @@
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
+ import pandas as pd
9
+ import akshare as ak
10
+ from mns_common.db.MongodbUtil import MongodbUtil
11
+
12
+ mongodb_util = MongodbUtil('27017')
13
+ import mns_common.constant.db_name_constant as db_name_constant
14
+
15
+
16
+ # 同步退市股票
17
+ def sync_de_list_stock():
18
+ sh_de_list_df = ak.stock_info_sh_delist(symbol="全部")
19
+ sh_de_list_df = sh_de_list_df.rename(columns={"公司代码": "symbol",
20
+ "公司简称": "name",
21
+ "上市日期": "list_date",
22
+ "暂停上市日期": "de_list_date"
23
+ })
24
+
25
+ sz_de_list_df = ak.stock_info_sz_delist(symbol="终止上市公司")
26
+ sz_de_list_df = sz_de_list_df.rename(columns={"证券代码": "symbol",
27
+ "证券简称": "name",
28
+ "上市日期": "list_date",
29
+ "终止上市日期": "de_list_date"
30
+ })
31
+ all_de_list_df = pd.concat([sz_de_list_df, sh_de_list_df])
32
+ all_de_list_df['_id'] = all_de_list_df['symbol']
33
+ all_de_list_df['list_date'] = all_de_list_df['list_date'].astype(str)
34
+ all_de_list_df['de_list_date'] = all_de_list_df['de_list_date'].astype(str)
35
+ mongodb_util.save_mongo(all_de_list_df, db_name_constant.DE_LIST_STOCK)
36
+
37
+
38
+ if __name__ == '__main__':
39
+ sync_de_list_stock()
@@ -7,8 +7,11 @@ project_path = file_path[0:end]
7
7
  sys.path.append(project_path)
8
8
  import akshare as ak
9
9
  from mns_common.db.MongodbUtil import MongodbUtil
10
-
10
+ import mns_scheduler.finance.finance_common_api as finance_common_api
11
+ import mns_common.constant.db_name_constant as db_name_constant
11
12
  mongodb_util = MongodbUtil('27017')
13
+ from loguru import logger
14
+ import mns_common.utils.data_frame_util as data_frame_util
12
15
 
13
16
 
14
17
  #
@@ -337,8 +340,15 @@ mongodb_util = MongodbUtil('27017')
337
340
 
338
341
  # 资产负债表
339
342
  # https://emweb.securities.eastmoney.com/PC_HSF10/NewFinanceAnalysis/Index?type=web&code=sh600519#zcfzb-0
340
- def get_em_debt_api(symbol):
341
- stock_balance_sheet_by_report_em_df = ak.stock_balance_sheet_by_report_em(symbol)
343
+ def get_em_asset_liability_api(symbol):
344
+ sec_code = finance_common_api.get_sec_code(symbol)
345
+ try:
346
+ stock_balance_sheet_by_report_em_df = ak.stock_balance_sheet_by_report_em(sec_code)
347
+ except Exception as e:
348
+ logger.error("同步利润表异常:{},{}", symbol, e)
349
+ return None
350
+ if data_frame_util.is_empty(stock_balance_sheet_by_report_em_df):
351
+ return None
342
352
  stock_balance_sheet_by_report_em_df = stock_balance_sheet_by_report_em_df[[
343
353
  'SECUCODE',
344
354
  'SECURITY_CODE',
@@ -403,276 +413,24 @@ def get_em_debt_api(symbol):
403
413
  'USERIGHT_ASSET',
404
414
  'OPINION_TYPE'
405
415
  ]]
406
- print(stock_balance_sheet_by_report_em_df)
407
- mongodb_util.insert_mongo(stock_balance_sheet_by_report_em_df, 'stock_balance_sheet_by_report_em_df')
408
-
416
+ stock_balance_sheet_by_report_em_df['_id'] = (stock_balance_sheet_by_report_em_df['SECURITY_CODE']
417
+ + "_" + stock_balance_sheet_by_report_em_df['REPORT_DATE'])
409
418
 
410
- # 利润表
411
- # "_id" : ObjectId("6644085f608b7737dee21a3a"),
412
- # "SECUCODE" : "600519.SH",
413
- # "SECURITY_CODE" : "600519",
414
- # "SECURITY_NAME_ABBR" : "贵州茅台",
415
- # "ORG_CODE" : "10002602",
416
- # "ORG_TYPE" : "通用",
417
- # "REPORT_DATE" : "2023-12-31 00:00:00",
418
- # "REPORT_TYPE" : "年报",
419
- # "REPORT_DATE_NAME" : "2023年报",
420
- # "SECURITY_TYPE_CODE" : "058001001",
421
- # "NOTICE_DATE" : "2024-04-03 00:00:00",
422
- # "UPDATE_DATE" : "2024-04-03 00:00:00",
423
- # "CURRENCY" : "CNY",
424
- # "TOTAL_OPERATE_INCOME" : 150560330316.45, 营业总收入
425
- # "TOTAL_OPERATE_INCOME_YOY" : 18.0365792459, 总运营收入修正
426
- # "OPERATE_INCOME" : 147693604994.14, 营业收入
427
- # "OPERATE_INCOME_YOY" : 19.0119185529, 营业收入修正
428
- # "INTEREST_INCOME" : 2866725322.31, 利息收入
429
- # "INTEREST_INCOME_YOY" : 利息收入修正
430
- # "EARNED_PREMIUM" : NaN,
431
- # "EARNED_PREMIUM_YOY" : NaN,
432
- # "FEE_COMMISSION_INCOME" : NaN,
433
- # "FEE_COMMISSION_INCOME_YOY" : NaN,
434
- # "OTHER_BUSINESS_INCOME" : NaN,
435
- # "OTHER_BUSINESS_INCOME_YOY" : NaN,
436
- # "TOI_OTHER" : NaN,
437
- # "TOI_OTHER_YOY" : NaN,
438
- # "TOTAL_OPERATE_COST" : 46960889468.54, 营业总成本
439
- # "TOTAL_OPERATE_COST_YOY" : 18.1456266222,
440
- # "OPERATE_COST" : 11867273851.78, 营业成本
441
- # "OPERATE_COST_YOY" : 17.5737925437,
442
- # "INTEREST_EXPENSE" : 113500129.93, 利息支出
443
- # "INTEREST_EXPENSE_YOY" : 7.4972611642,
444
- # "FEE_COMMISSION_EXPENSE" : 68578.57, 手续费及佣金支出
445
- # "FEE_COMMISSION_EXPENSE_YOY" : -52.0903684752,
446
- # "RESEARCH_EXPENSE" : 157371873.01, 研发费用
447
- # "RESEARCH_EXPENSE_YOY" : 16.4116440028,
448
- # "SURRENDER_VALUE" : NaN,
449
- # "SURRENDER_VALUE_YOY" : NaN,
450
- # "NET_COMPENSATE_EXPENSE" : NaN,
451
- # "NET_COMPENSATE_EXPENSE_YOY" : NaN,
452
- # "NET_CONTRACT_RESERVE" : NaN,
453
- # "NET_CONTRACT_RESERVE_YOY" : NaN,
454
- # "POLICY_BONUS_EXPENSE" : NaN,
455
- # "POLICY_BONUS_EXPENSE_YOY" : NaN,
456
- # "REINSURE_EXPENSE" : NaN,
457
- # "REINSURE_EXPENSE_YOY" : NaN,
458
- # "OTHER_BUSINESS_COST" : NaN,
459
- # "OTHER_BUSINESS_COST_YOY" : NaN,
460
- # "OPERATE_TAX_ADD" : 22234175898.6, 税金及附加
461
- # "OPERATE_TAX_ADD_YOY" : 20.2119055043,
462
- # "SALE_EXPENSE" : 4648613585.82, 销售费用
463
- # "SALE_EXPENSE_YOY" : 40.9642928475,
464
- # "MANAGE_EXPENSE" : 9729389252.31, 管理费用
465
- # "MANAGE_EXPENSE_YOY" : 7.9580889133,
466
- # "ME_RESEARCH_EXPENSE" : NaN,
467
- # "ME_RESEARCH_EXPENSE_YOY" : NaN,
468
- # "FINANCE_EXPENSE" : -1789503701.48, 财务费用
469
- # "FINANCE_EXPENSE_YOY" : -28.5742355094,
470
- # "FE_INTEREST_EXPENSE" : 12624628.35, 利息费用
471
- # "FE_INTEREST_EXPENSE_YOY" : 5.0021902771,
472
- # "FE_INTEREST_INCOME" : 1942301920.98, 利息收入
473
- # "FE_INTEREST_INCOME_YOY" : 31.6437955552,
474
- # "ASSET_IMPAIRMENT_LOSS" : NaN,
475
- # "ASSET_IMPAIRMENT_LOSS_YOY" : NaN,
476
- # "CREDIT_IMPAIRMENT_LOSS" : NaN,
477
- # "CREDIT_IMPAIRMENT_LOSS_YOY" : NaN,
478
- # "TOC_OTHER" : NaN,
479
- # "TOC_OTHER_YOY" : NaN,
480
- # "FAIRVALUE_CHANGE_INCOME" : 3151962.5, :公允价值变动收益
481
- # "FAIRVALUE_CHANGE_INCOME_YOY" : NaN,
482
- # "INVEST_INCOME" : 34025967.82, 投资收益
483
- # "INVEST_INCOME_YOY" : -46.7011782268,
484
- # "INVEST_JOINT_INCOME" : NaN,
485
- # "INVEST_JOINT_INCOME_YOY" : NaN,
486
- # "NET_EXPOSURE_INCOME" : NaN,
487
- # "NET_EXPOSURE_INCOME_YOY" : NaN,
488
- # "EXCHANGE_INCOME" : NaN,
489
- # "EXCHANGE_INCOME_YOY" : NaN,
490
- # "ASSET_DISPOSAL_INCOME" : -479736.97, 资产处置收益
491
- # "ASSET_DISPOSAL_INCOME_YOY" : -324.9796785895,
492
- # "ASSET_IMPAIRMENT_INCOME" : NaN,
493
- # "ASSET_IMPAIRMENT_INCOME_YOY" : NaN,
494
- # "CREDIT_IMPAIRMENT_INCOME" : 37871293.26, 信用减值损失(新)
495
- # "CREDIT_IMPAIRMENT_INCOME_YOY" : 357.8638477375,
496
- # "OTHER_INCOME" : 34644873.86, 其他收益
497
- # "OTHER_INCOME_YOY" : 41.3767542405,
498
- # "OPERATE_PROFIT_OTHER" : NaN,
499
- # "OPERATE_PROFIT_OTHER_YOY" : NaN,
500
- # "OPERATE_PROFIT_BALANCE" : 0.0,
501
- # "OPERATE_PROFIT_BALANCE_YOY" : NaN,
502
- # "OPERATE_PROFIT" : 103708655208.38, 营业利润
503
- # "OPERATE_PROFIT_YOY" : 18.0123117479,
504
- # "NONBUSINESS_INCOME" : 86779655.95, 加:营业外收入
505
- # "NONBUSINESS_INCOME_YOY" : 22.4796849672,
506
- # "NONCURRENT_DISPOSAL_INCOME" : NaN,
507
- # "NONCURRENT_DISPOSAL_INCOME_YOY" : NaN,
508
- # "NONBUSINESS_EXPENSE" : 132881174.52, 减:营业外支出
509
- # "NONBUSINESS_EXPENSE_YOY" : -46.6092621953,
510
- # "NONCURRENT_DISPOSAL_LOSS" : NaN,
511
- # "NONCURRENT_DISPOSAL_LOSS_YOY" : NaN,
512
- # "EFFECT_TP_OTHER" : NaN,
513
- # "EFFECT_TP_OTHER_YOY" : NaN,
514
- # "TOTAL_PROFIT_BALANCE" : 0.0,
515
- # "TOTAL_PROFIT_BALANCE_YOY" : NaN,
516
- # "TOTAL_PROFIT" : 103662553689.81, 利润总额
517
- # "TOTAL_PROFIT_YOY" : 18.1993076599,
518
- # "INCOME_TAX" : 26141077412.01, 减:所得税
519
- # "INCOME_TAX_YOY" : 17.0909328034,
520
- # "EFFECT_NETPROFIT_OTHER" : NaN,
521
- # "EFFECT_NETPROFIT_OTHER_YOY" : NaN,
522
- # "EFFECT_NETPROFIT_BALANCE" : NaN,
523
- # "EFFECT_NETPROFIT_BALANCE_YOY" : NaN,
524
- # "UNCONFIRM_INVEST_LOSS" : NaN,
525
- # "UNCONFIRM_INVEST_LOSS_YOY" : NaN,
526
- # "NETPROFIT" : 77521476277.8, 净利润
527
- # "NETPROFIT_YOY" : 18.5778097415,
528
- # "PRECOMBINE_PROFIT" : NaN,
529
- # "PRECOMBINE_PROFIT_YOY" : NaN,
530
- # "CONTINUED_NETPROFIT" : 77521476277.8, 持续经营净利润
531
- # "CONTINUED_NETPROFIT_YOY" : 18.5778097415,
532
- # "DISCONTINUED_NETPROFIT" : NaN,
533
- # "DISCONTINUED_NETPROFIT_YOY" : NaN,
534
- # "PARENT_NETPROFIT" : 74734071550.75, 归属于母公司股东的净利润
535
- # "PARENT_NETPROFIT_YOY" : 19.1598992892,
536
- # "MINORITY_INTEREST" : 2787404727.05, 少数股东损益
537
- # "MINORITY_INTEREST_YOY" : 4.8459336455,
538
- # "DEDUCT_PARENT_NETPROFIT" : 74752564425.52, 扣除非经常性损益后的净利润
539
- # "DEDUCT_PARENT_NETPROFIT_YOY" : 19.0462109566,
540
- # "NETPROFIT_OTHER" : NaN,
541
- # "NETPROFIT_OTHER_YOY" : NaN,
542
- # "NETPROFIT_BALANCE" : NaN,
543
- # "NETPROFIT_BALANCE_YOY" : NaN,
544
- # "BASIC_EPS" : 59.49, 基本每股收益
545
- # "BASIC_EPS_YOY" : 19.1468055277,
546
- # "DILUTED_EPS" : 59.49, 稀释每股收益
547
- # "DILUTED_EPS_YOY" : 19.1468055277,
548
- # "OTHER_COMPRE_INCOME" : 4715179.82, 其他综合收益
549
- # "OTHER_COMPRE_INCOME_YOY" : 110.40766101,
550
- # "PARENT_OCI" : 4715179.82, 归属于母公司股东的其他综合收益
551
- # "PARENT_OCI_YOY" : 110.40766101,
552
- # "MINORITY_OCI" : NaN,
553
- # "MINORITY_OCI_YOY" : NaN,
554
- # "PARENT_OCI_OTHER" : NaN,
555
- # "PARENT_OCI_OTHER_YOY" : NaN,
556
- # "PARENT_OCI_BALANCE" : NaN,
557
- # "PARENT_OCI_BALANCE_YOY" : NaN,
558
- # "UNABLE_OCI" : NaN,
559
- # "UNABLE_OCI_YOY" : NaN,
560
- # "CREDITRISK_FAIRVALUE_CHANGE" : NaN,
561
- # "CREDITRISK_FAIRVALUE_CHANGE_YOY" : NaN,
562
- # "OTHERRIGHT_FAIRVALUE_CHANGE" : NaN,
563
- # "OTHERRIGHT_FAIRVALUE_CHANGE_YOY" : NaN,
564
- # "SETUP_PROFIT_CHANGE" : NaN,
565
- # "SETUP_PROFIT_CHANGE_YOY" : NaN,
566
- # "RIGHTLAW_UNABLE_OCI" : NaN,
567
- # "RIGHTLAW_UNABLE_OCI_YOY" : NaN,
568
- # "UNABLE_OCI_OTHER" : NaN,
569
- # "UNABLE_OCI_OTHER_YOY" : NaN,
570
- # "UNABLE_OCI_BALANCE" : NaN,
571
- # "UNABLE_OCI_BALANCE_YOY" : NaN,
572
- # "ABLE_OCI" : 4715179.82,
573
- # "ABLE_OCI_YOY" : 110.40766101,
574
- # "RIGHTLAW_ABLE_OCI" : NaN,
575
- # "RIGHTLAW_ABLE_OCI_YOY" : NaN,
576
- # "AFA_FAIRVALUE_CHANGE" : NaN,
577
- # "AFA_FAIRVALUE_CHANGE_YOY" : NaN,
578
- # "HMI_AFA" : NaN,
579
- # "HMI_AFA_YOY" : NaN,
580
- # "CASHFLOW_HEDGE_VALID" : NaN,
581
- # "CASHFLOW_HEDGE_VALID_YOY" : NaN,
582
- # "CREDITOR_FAIRVALUE_CHANGE" : NaN,
583
- # "CREDITOR_FAIRVALUE_CHANGE_YOY" : NaN,
584
- # "CREDITOR_IMPAIRMENT_RESERVE" : NaN,
585
- # "CREDITOR_IMPAIRMENT_RESERVE_YOY" : NaN,
586
- # "FINANCE_OCI_AMT" : NaN,
587
- # "FINANCE_OCI_AMT_YOY" : NaN,
588
- # "CONVERT_DIFF" : 4715179.82,
589
- # "CONVERT_DIFF_YOY" : 110.40766101,
590
- # "ABLE_OCI_OTHER" : NaN,
591
- # "ABLE_OCI_OTHER_YOY" : NaN,
592
- # "ABLE_OCI_BALANCE" : NaN,
593
- # "ABLE_OCI_BALANCE_YOY" : NaN,
594
- # "OCI_OTHER" : NaN,
595
- # "OCI_OTHER_YOY" : NaN,
596
- # "OCI_BALANCE" : NaN,
597
- # "OCI_BALANCE_YOY" : NaN,
598
- # "TOTAL_COMPRE_INCOME" : 77526191457.62, 综合收益总额
599
- # "TOTAL_COMPRE_INCOME_YOY" : 18.5809573963,
600
- # "PARENT_TCI" : 74738786730.57, 归属于母公司股东的综合收益总额
601
- # "PARENT_TCI_YOY" : 19.1631595692,
602
- # "MINORITY_TCI" : 2787404727.05, 归属于少数股东的综合收益总额
603
- # "MINORITY_TCI_YOY" : 4.8459336455,
604
- # "PRECOMBINE_TCI" : NaN,
605
- # "PRECOMBINE_TCI_YOY" : NaN,
606
- # "EFFECT_TCI_BALANCE" : NaN,
607
- # "EFFECT_TCI_BALANCE_YOY" : NaN,
608
- # "TCI_OTHER" : NaN,
609
- # "TCI_OTHER_YOY" : NaN,
610
- # "TCI_BALANCE" : NaN,
611
- # "TCI_BALANCE_YOY" : NaN,
612
- # "ACF_END_INCOME" : NaN,
613
- # "ACF_END_INCOME_YOY" : NaN,
614
- # "OPINION_TYPE" : "标准无保留意见" 审计意见(境内)
615
- # https://emweb.securities.eastmoney.com/PC_HSF10/NewFinanceAnalysis/Index?type=web&code=sh600519#lrb-0
616
- def get_em_benefit_api(symbol):
617
- stock_financial_benefit_ths_df = ak.stock_profit_sheet_by_report_em(symbol)
618
- stock_financial_benefit_ths_df = stock_financial_benefit_ths_df[[
619
- "SECUCODE",
620
- "SECURITY_CODE",
621
- "SECURITY_NAME_ABBR",
622
- "ORG_CODE",
623
- "ORG_TYPE",
624
- "REPORT_DATE",
625
- "REPORT_TYPE",
626
- "REPORT_DATE_NAME",
627
- "SECURITY_TYPE_CODE",
628
- "NOTICE_DATE",
629
- "UPDATE_DATE",
630
- "CURRENCY",
631
- "TOTAL_OPERATE_INCOME",
632
- "OPERATE_INCOME",
633
- "INTEREST_INCOME",
634
- "TOTAL_OPERATE_COST",
635
- "OPERATE_COST",
636
- "INTEREST_EXPENSE",
637
- "FEE_COMMISSION_EXPENSE",
638
- "RESEARCH_EXPENSE",
639
- "OPERATE_TAX_ADD",
640
- "SALE_EXPENSE",
641
- "MANAGE_EXPENSE",
642
- "FINANCE_EXPENSE",
643
- "FE_INTEREST_EXPENSE",
644
- "FE_INTEREST_INCOME",
645
- "FAIRVALUE_CHANGE_INCOME",
646
- "INVEST_INCOME",
647
- "ASSET_DISPOSAL_INCOME",
648
- "CREDIT_IMPAIRMENT_INCOME",
649
- "OTHER_INCOME",
650
- "OPERATE_PROFIT",
651
- "NONBUSINESS_INCOME",
652
- "NONBUSINESS_EXPENSE",
653
- "TOTAL_PROFIT",
654
- "INCOME_TAX",
655
- "NETPROFIT",
656
- "CONTINUED_NETPROFIT",
657
- "PARENT_NETPROFIT",
658
- 'MINORITY_INTEREST',
659
- 'DEDUCT_PARENT_NETPROFIT',
660
- 'BASIC_EPS',
661
- 'DILUTED_EPS',
662
- 'OTHER_COMPRE_INCOME',
663
- 'PARENT_OCI',
664
- 'TOTAL_COMPRE_INCOME',
665
- 'PARENT_TCI',
666
- 'MINORITY_TCI',
667
- 'OPINION_TYPE'
668
- ]]
669
- mongodb_util.insert_mongo(stock_financial_benefit_ths_df, 'stock_financial_benefit_ths_df')
670
- return stock_financial_benefit_ths_df
419
+ query = {'SECURITY_CODE': symbol}
420
+ exist_asset_em_df = mongodb_util.find_query_data(db_name_constant.EM_STOCK_ASSET_LIABILITY, query)
421
+ if data_frame_util.is_not_empty(exist_asset_em_df):
422
+ new_asset_df = stock_balance_sheet_by_report_em_df.loc[
423
+ ~(stock_balance_sheet_by_report_em_df['SECURITY_CODE'].isin(list(exist_asset_em_df['SECURITY_CODE'])))]
424
+ else:
425
+ new_asset_df = stock_balance_sheet_by_report_em_df
426
+ if data_frame_util.is_empty(new_asset_df):
427
+ return None
428
+ new_asset_df.fillna(0, inplace=True)
429
+ mongodb_util.insert_mongo(new_asset_df, db_name_constant.EM_STOCK_ASSET_LIABILITY)
671
430
 
672
431
 
673
432
  if __name__ == '__main__':
674
- get_em_benefit_api('SH600519')
675
- get_em_debt_api('SH600519')
433
+ get_em_asset_liability_api('832876')
676
434
 
677
435
  stock_cash_flow_sheet_by_report_em_df = ak.stock_cash_flow_sheet_by_report_em(symbol="SH600519")
678
436
  print(stock_cash_flow_sheet_by_report_em_df)