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.
- {mns-scheduler-1.0.4.7 → mns-scheduler-1.0.4.9}/PKG-INFO +1 -1
- mns-scheduler-1.0.4.9/mns_scheduler/company_info/de_list_stock_service.py +39 -0
- 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
- mns-scheduler-1.0.4.9/mns_scheduler/finance/em_financial_profit_sync_service_api.py +342 -0
- mns-scheduler-1.0.4.9/mns_scheduler/finance/finance_common_api.py +35 -0
- mns-scheduler-1.0.4.9/mns_scheduler/finance/financial_high_risk_stock_clean_service_api.py +178 -0
- mns-scheduler-1.0.4.9/mns_scheduler/finance/sync_financial_report_service_api.py +133 -0
- {mns-scheduler-1.0.4.7 → mns-scheduler-1.0.4.9}/mns_scheduler/risk/register_and_investigate_stock_sync_api.py +2 -1
- {mns-scheduler-1.0.4.7 → mns-scheduler-1.0.4.9}/mns_scheduler/zz_task/data_sync_task.py +3 -0
- {mns-scheduler-1.0.4.7 → mns-scheduler-1.0.4.9}/mns_scheduler.egg-info/PKG-INFO +1 -1
- {mns-scheduler-1.0.4.7 → mns-scheduler-1.0.4.9}/mns_scheduler.egg-info/SOURCES.txt +6 -1
- {mns-scheduler-1.0.4.7 → mns-scheduler-1.0.4.9}/setup.py +1 -1
- {mns-scheduler-1.0.4.7 → mns-scheduler-1.0.4.9}/README.md +0 -0
- {mns-scheduler-1.0.4.7 → mns-scheduler-1.0.4.9}/mns_scheduler/__init__.py +0 -0
- {mns-scheduler-1.0.4.7 → mns-scheduler-1.0.4.9}/mns_scheduler/backup/__init__.py +0 -0
- {mns-scheduler-1.0.4.7 → mns-scheduler-1.0.4.9}/mns_scheduler/backup/app/__init__.py +0 -0
- {mns-scheduler-1.0.4.7 → mns-scheduler-1.0.4.9}/mns_scheduler/backup/app/ths_new_concept_sync_app.py +0 -0
- {mns-scheduler-1.0.4.7 → mns-scheduler-1.0.4.9}/mns_scheduler/backup/em/__init__.py +0 -0
- {mns-scheduler-1.0.4.7 → mns-scheduler-1.0.4.9}/mns_scheduler/backup/em/em_new_concept_his_sync.py +0 -0
- {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
- {mns-scheduler-1.0.4.7 → mns-scheduler-1.0.4.9}/mns_scheduler/backup/em/em_new_concept_sync_web.py +0 -0
- {mns-scheduler-1.0.4.7 → mns-scheduler-1.0.4.9}/mns_scheduler/backup/wen_cai/__init__.py +0 -0
- {mns-scheduler-1.0.4.7 → mns-scheduler-1.0.4.9}/mns_scheduler/backup/wen_cai/wen_cai_concept_sync.py +0 -0
- {mns-scheduler-1.0.4.7 → mns-scheduler-1.0.4.9}/mns_scheduler/big_deal/__init__.py +0 -0
- {mns-scheduler-1.0.4.7 → mns-scheduler-1.0.4.9}/mns_scheduler/big_deal/ths_big_deal_sync.py +0 -0
- {mns-scheduler-1.0.4.7 → mns-scheduler-1.0.4.9}/mns_scheduler/company_info/__init__.py +0 -0
- {mns-scheduler-1.0.4.7 → mns-scheduler-1.0.4.9}/mns_scheduler/company_info/company_constant_data.py +0 -0
- {mns-scheduler-1.0.4.7 → mns-scheduler-1.0.4.9}/mns_scheduler/company_info/company_info_sync_api.py +0 -0
- {mns-scheduler-1.0.4.7 → mns-scheduler-1.0.4.9}/mns_scheduler/concept/__init__.py +0 -0
- {mns-scheduler-1.0.4.7 → mns-scheduler-1.0.4.9}/mns_scheduler/concept/clean/__init__.py +0 -0
- {mns-scheduler-1.0.4.7 → mns-scheduler-1.0.4.9}/mns_scheduler/concept/clean/kpl_concept_clean_api.py +0 -0
- {mns-scheduler-1.0.4.7 → mns-scheduler-1.0.4.9}/mns_scheduler/concept/clean/ths_concept_clean_api.py +0 -0
- {mns-scheduler-1.0.4.7 → mns-scheduler-1.0.4.9}/mns_scheduler/concept/ths/__init__.py +0 -0
- {mns-scheduler-1.0.4.7 → mns-scheduler-1.0.4.9}/mns_scheduler/concept/ths/common/__init__.py +0 -0
- {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
- {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
- {mns-scheduler-1.0.4.7 → mns-scheduler-1.0.4.9}/mns_scheduler/concept/ths/sync_new_index/__init__.py +0 -0
- {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
- {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
- {mns-scheduler-1.0.4.7 → mns-scheduler-1.0.4.9}/mns_scheduler/concept/ths/update_concept_info/__init__.py +0 -0
- {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
- {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
- {mns-scheduler-1.0.4.7 → mns-scheduler-1.0.4.9}/mns_scheduler/db/__init__.py +0 -0
- {mns-scheduler-1.0.4.7 → mns-scheduler-1.0.4.9}/mns_scheduler/db/col_move_service.py +0 -0
- {mns-scheduler-1.0.4.7 → mns-scheduler-1.0.4.9}/mns_scheduler/db/db_status.py +0 -0
- {mns-scheduler-1.0.4.7 → mns-scheduler-1.0.4.9}/mns_scheduler/dt/__init__.py +0 -0
- {mns-scheduler-1.0.4.7 → mns-scheduler-1.0.4.9}/mns_scheduler/dt/stock_dt_pool_sync.py +0 -0
- {mns-scheduler-1.0.4.7 → mns-scheduler-1.0.4.9}/mns_scheduler/finance/__init__.py +0 -0
- {mns-scheduler-1.0.4.7 → mns-scheduler-1.0.4.9}/mns_scheduler/k_line/__init__.py +0 -0
- {mns-scheduler-1.0.4.7 → mns-scheduler-1.0.4.9}/mns_scheduler/k_line/clean/__init__.py +0 -0
- {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
- {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
- {mns-scheduler-1.0.4.7 → mns-scheduler-1.0.4.9}/mns_scheduler/k_line/sync/__init__.py +0 -0
- {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
- {mns-scheduler-1.0.4.7 → mns-scheduler-1.0.4.9}/mns_scheduler/kpl/__init__.py +0 -0
- {mns-scheduler-1.0.4.7 → mns-scheduler-1.0.4.9}/mns_scheduler/kpl/selection/__init__.py +0 -0
- {mns-scheduler-1.0.4.7 → mns-scheduler-1.0.4.9}/mns_scheduler/kpl/selection/index/__init__.py +0 -0
- {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
- {mns-scheduler-1.0.4.7 → mns-scheduler-1.0.4.9}/mns_scheduler/kpl/selection/index/sync_best_choose_index.py +0 -0
- {mns-scheduler-1.0.4.7 → mns-scheduler-1.0.4.9}/mns_scheduler/kpl/selection/symbol/__init__.py +0 -0
- {mns-scheduler-1.0.4.7 → mns-scheduler-1.0.4.9}/mns_scheduler/kpl/selection/symbol/sync_best_choose_symbol.py +0 -0
- {mns-scheduler-1.0.4.7 → mns-scheduler-1.0.4.9}/mns_scheduler/kpl/selection/total/__init__.py +0 -0
- {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
- {mns-scheduler-1.0.4.7 → mns-scheduler-1.0.4.9}/mns_scheduler/real_time/__init__.py +0 -0
- {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
- {mns-scheduler-1.0.4.7 → mns-scheduler-1.0.4.9}/mns_scheduler/real_time/realtime_quotes_now_sync.py +0 -0
- {mns-scheduler-1.0.4.7 → mns-scheduler-1.0.4.9}/mns_scheduler/risk/__init__.py +0 -0
- {mns-scheduler-1.0.4.7 → mns-scheduler-1.0.4.9}/mns_scheduler/trade/__init__.py +0 -0
- {mns-scheduler-1.0.4.7 → mns-scheduler-1.0.4.9}/mns_scheduler/trade/auto_ipo_buy_api.py +0 -0
- {mns-scheduler-1.0.4.7 → mns-scheduler-1.0.4.9}/mns_scheduler/trade/auto_sell_service_api.py +0 -0
- {mns-scheduler-1.0.4.7 → mns-scheduler-1.0.4.9}/mns_scheduler/trade/sync_position_api.py +0 -0
- {mns-scheduler-1.0.4.7 → mns-scheduler-1.0.4.9}/mns_scheduler/zb/__init__.py +0 -0
- {mns-scheduler-1.0.4.7 → mns-scheduler-1.0.4.9}/mns_scheduler/zb/stock_zb_pool_sync.py +0 -0
- {mns-scheduler-1.0.4.7 → mns-scheduler-1.0.4.9}/mns_scheduler/zt/__init__.py +0 -0
- {mns-scheduler-1.0.4.7 → mns-scheduler-1.0.4.9}/mns_scheduler/zt/export_open_data_to_excel.py +0 -0
- {mns-scheduler-1.0.4.7 → mns-scheduler-1.0.4.9}/mns_scheduler/zt/realtime_quotes_now_zt_kc_sync.py +0 -0
- {mns-scheduler-1.0.4.7 → mns-scheduler-1.0.4.9}/mns_scheduler/zt/today_high_chg_pool_sync_api.py +0 -0
- {mns-scheduler-1.0.4.7 → mns-scheduler-1.0.4.9}/mns_scheduler/zt/zt_five_boards_sync_api.py +0 -0
- {mns-scheduler-1.0.4.7 → mns-scheduler-1.0.4.9}/mns_scheduler/zt/zt_pool_sync_api.py +0 -0
- {mns-scheduler-1.0.4.7 → mns-scheduler-1.0.4.9}/mns_scheduler/zz_task/__init__.py +0 -0
- {mns-scheduler-1.0.4.7 → mns-scheduler-1.0.4.9}/mns_scheduler/zz_task/sync_realtime_quotes_task.py +0 -0
- {mns-scheduler-1.0.4.7 → mns-scheduler-1.0.4.9}/mns_scheduler.egg-info/dependency_links.txt +0 -0
- {mns-scheduler-1.0.4.7 → mns-scheduler-1.0.4.9}/mns_scheduler.egg-info/top_level.txt +0 -0
- {mns-scheduler-1.0.4.7 → mns-scheduler-1.0.4.9}/setup.cfg +0 -0
|
@@ -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
|
|
341
|
-
|
|
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
|
-
|
|
407
|
-
|
|
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
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
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
|
-
|
|
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)
|