mns-scheduler 1.1.5.5__tar.gz → 1.1.5.8__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.1.5.5 → mns_scheduler-1.1.5.8}/PKG-INFO +1 -1
- {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/company_info/base/sync_company_base_info_api.py +10 -2
- {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/finance/sync_financial_report_service_api.py +39 -3
- {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/hk/hk_company_info_sync_service_api.py +32 -1
- {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/zt/zt_pool/ths_zt_pool_sync_api.py +2 -0
- {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/zz_task/data_sync_task.py +1 -1
- {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler.egg-info/PKG-INFO +1 -1
- {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/setup.py +1 -1
- {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/README.md +0 -0
- {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/2014-2015-test/2014_2015_chg_statistics.py +0 -0
- {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/2014-2015-test/__init__.py +0 -0
- {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/__init__.py +0 -0
- {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/big_deal/__init__.py +0 -0
- {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/big_deal/ths_big_deal_sync.py +0 -0
- {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/company_info/__init__.py +0 -0
- {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/company_info/base/__init__.py +0 -0
- {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/company_info/clean/__init__.py +0 -0
- {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/company_info/clean/company_info_clean_api.py +0 -0
- {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/company_info/constant/__init__.py +0 -0
- {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/company_info/constant/company_constant_data.py +0 -0
- {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/company_info/de_list_stock/__init__.py +0 -0
- {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/company_info/de_list_stock/de_list_stock_service.py +0 -0
- {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/company_info/remark/__init__.py +0 -0
- {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/company_info/remark/company_remark_info_sync.py +0 -0
- {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/concept/__init__.py +0 -0
- {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/concept/clean/__init__.py +0 -0
- {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/concept/clean/kpl_concept_clean_api.py +0 -0
- {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/concept/clean/ths_concept_clean_api.py +0 -0
- {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/concept/ths/__init__.py +0 -0
- {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/concept/ths/common/__init__.py +0 -0
- {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/concept/ths/common/ths_concept_sync_common_api.py +0 -0
- {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/concept/ths/common/ths_concept_update_common_api.py +0 -0
- {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/concept/ths/detaill/__init__.py +0 -0
- {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/concept/ths/detaill/ths_concept_detail_api.py +0 -0
- {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/concept/ths/sync_new_index/__init__.py +0 -0
- {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/concept/ths/sync_new_index/sync_ths_concept_new_index_api.py +0 -0
- {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/concept/ths/update_concept_info/__init__.py +0 -0
- {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/concept/ths/update_concept_info/sync_one_concept_all_symbols_api.py +0 -0
- {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/concept/ths/update_concept_info/sync_one_symbol_all_concepts_api.py +0 -0
- {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/db/__init__.py +0 -0
- {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/db/col_move_service.py +0 -0
- {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/db/db_status.py +0 -0
- {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/db/real_time_task_check.py +0 -0
- {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/db/script/__init__.py +0 -0
- {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/db/script/col_move_script.py +0 -0
- {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/debt/__init__.py +0 -0
- {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/debt/kzz_bond_info_sync.py +0 -0
- {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/dt/__init__.py +0 -0
- {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/dt/stock_dt_pool_sync.py +0 -0
- {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/finance/__init__.py +0 -0
- {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/finance/em_financial_asset_liability_sync_service_api.py +0 -0
- {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/finance/em_financial_profit_sync_service_api.py +0 -0
- {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/finance/finance_common_api.py +0 -0
- {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/hk/__init__.py +0 -0
- {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/hk/hk_industry_info_sync_service_api.py +0 -0
- {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/irm/__init__.py +0 -0
- {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/irm/api/__init__.py +0 -0
- {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/irm/api/sh_stock_sns_sse_info_api.py +0 -0
- {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/irm/api/sz_stock_sns_sse_info_api.py +0 -0
- {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/irm/stock_irm_cninfo_service.py +0 -0
- {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/k_line/__init__.py +0 -0
- {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/k_line/clean/__init__.py +0 -0
- {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/k_line/clean/daily/__init__.py +0 -0
- {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/k_line/clean/daily/daily_k_line_clean_common_service.py +0 -0
- {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/k_line/clean/daily/daily_k_line_service.py +0 -0
- {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/k_line/clean/k_line_info_clean_impl.py +0 -0
- {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/k_line/clean/k_line_info_clean_task.py +0 -0
- {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/k_line/clean/week_month/__init__.py +0 -0
- {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/k_line/clean/week_month/normal_week_month_k_line_service.py +0 -0
- {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/k_line/clean/week_month/sub_new_week_month_k_line_service.py +0 -0
- {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/k_line/hot_stocks/__init__.py +0 -0
- {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/k_line/hot_stocks/recent_hot_stocks_clean_service.py +0 -0
- {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/k_line/sync/__init__.py +0 -0
- {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/k_line/sync/bfq_k_line_sync.py +0 -0
- {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/k_line/sync/daily_week_month_line_sync.py +0 -0
- {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/k_line/test/__init__.py +0 -0
- {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/k_line/test/k_line_info_clean_his_data.py +0 -0
- {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/kpl/__init__.py +0 -0
- {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/kpl/selection/__init__.py +0 -0
- {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/kpl/selection/index/__init__.py +0 -0
- {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/kpl/selection/index/sync_best_choose_his_index.py +0 -0
- {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/kpl/selection/index/sync_best_choose_index.py +0 -0
- {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/kpl/selection/symbol/__init__.py +0 -0
- {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/kpl/selection/symbol/sync_best_choose_symbol.py +0 -0
- {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/kpl/selection/total/__init__.py +0 -0
- {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/kpl/selection/total/sync_kpl_best_total_sync_api.py +0 -0
- {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/lhb/__init__.py +0 -0
- {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/lhb/stock_lhb_sync_service.py +0 -0
- {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/open/__init__.py +0 -0
- {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/open/sync_one_day_open_data_to_db_service.py +0 -0
- {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/risk/__init__.py +0 -0
- {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/risk/compliance/__init__.py +0 -0
- {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/risk/compliance/undisclosed_annual_report_api.py +0 -0
- {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/risk/financial/__init__.py +0 -0
- {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/risk/financial/annual_report_audit_check_api.py +0 -0
- {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/risk/financial/net_assets_check_api.py +0 -0
- {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/risk/financial/profit_income_check_api.py +0 -0
- {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/risk/financial/stock_equity_mortgage_check_api.py +0 -0
- {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/risk/financial_report_risk_check_api.py +0 -0
- {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/risk/major_violations/__init__.py +0 -0
- {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/risk/major_violations/register_and_investigate_stock_sync_api.py +0 -0
- {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/risk/self/__init__.py +0 -0
- {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/risk/self/wei_pan_stock_api.py +0 -0
- {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/risk/test/__init__.py +0 -0
- {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/risk/test/fix_blask_list.py +0 -0
- {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/risk/transactions/__init__.py +0 -0
- {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/risk/transactions/transactions_check_api.py +0 -0
- {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/self_choose/__init__.py +0 -0
- {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/self_choose/ths_self_choose_service.py +0 -0
- {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/trade/__init__.py +0 -0
- {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/trade/auto_ipo_buy_api.py +0 -0
- {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/trade/auto_login/__init__.py +0 -0
- {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/trade/auto_login/trader_auto_service.py +0 -0
- {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/trade/auto_sell_service_api.py +0 -0
- {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/trade/sync_position_api.py +0 -0
- {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/trade/task/__init__.py +0 -0
- {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/trade/task/trader_task_service.py +0 -0
- {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/zb/__init__.py +0 -0
- {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/zb/stock_zb_pool_sync.py +0 -0
- {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/zt/__init__.py +0 -0
- {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/zt/connected_boards/__init__.py +0 -0
- {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/zt/connected_boards/zt_five_boards_sync_api.py +0 -0
- {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/zt/export/__init__.py +0 -0
- {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/zt/export/export_kcx_high_chg_open_data_to_excel.py +0 -0
- {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/zt/high_chg/__init__.py +0 -0
- {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/zt/high_chg/sync_high_chg_pool_service.py +0 -0
- {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/zt/high_chg/sync_high_chg_real_time_quotes_service.py +0 -0
- {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/zt/open_data/__init__.py +0 -0
- {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/zt/open_data/kcx_high_chg_open_data_sync.py +0 -0
- {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/zt/script/__init__.py +0 -0
- {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/zt/script/kcx_high_chg_open_his_data_handle.py +0 -0
- {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/zt/script/sync_high_chg_pool_his_data.py +0 -0
- {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/zt/script/sync_now_higt_chg_zt.py +0 -0
- {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/zt/zt_pool/__init__.py +0 -0
- {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/zt/zt_pool/em_zt_pool_sync_api.py +0 -0
- {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/zz_task/__init__.py +0 -0
- {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler.egg-info/SOURCES.txt +0 -0
- {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler.egg-info/dependency_links.txt +0 -0
- {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler.egg-info/top_level.txt +0 -0
- {mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/setup.cfg +0 -0
|
@@ -401,7 +401,12 @@ def get_recent_year_income(symbol, company_info_type, exist_company_df):
|
|
|
401
401
|
em_stock_profit = mongodb_util.descend_query(query, db_name_constant.EM_STOCK_PROFIT, 'REPORT_DATE', 1)
|
|
402
402
|
if data_frame_util.is_not_empty(em_stock_profit):
|
|
403
403
|
company_info_type['operate_profit'] = list(em_stock_profit['OPERATE_PROFIT'])[0]
|
|
404
|
-
|
|
404
|
+
total_operate_income = list(em_stock_profit['TOTAL_OPERATE_INCOME'])[0]
|
|
405
|
+
# 金融机构大多收入计入在这个字段中
|
|
406
|
+
if total_operate_income == 0:
|
|
407
|
+
total_operate_income = list(em_stock_profit['OPERATE_INCOME'])[0]
|
|
408
|
+
|
|
409
|
+
company_info_type['total_operate_income'] = total_operate_income
|
|
405
410
|
else:
|
|
406
411
|
company_info_type['operate_profit'] = 0
|
|
407
412
|
company_info_type['total_operate_income'] = 0
|
|
@@ -420,5 +425,8 @@ if __name__ == '__main__':
|
|
|
420
425
|
# 300293
|
|
421
426
|
# sync_company_base_info(None)
|
|
422
427
|
# new_company_info_update()
|
|
423
|
-
|
|
428
|
+
query = {"total_operate_income": 0}
|
|
429
|
+
un_report_company_info = mongodb_util.find_query_data(db_name_constant.COMPANY_INFO, query)
|
|
430
|
+
symbol_list = list(un_report_company_info['symbol'])
|
|
431
|
+
sync_company_base_info(symbol_list)
|
|
424
432
|
# group_by_industry()
|
|
@@ -17,6 +17,7 @@ import mns_scheduler.risk.financial_report_risk_check_api as financial_report_ri
|
|
|
17
17
|
import mns_common.utils.data_frame_util as data_frame_util
|
|
18
18
|
import mns_scheduler.finance.finance_common_api as finance_common_api
|
|
19
19
|
import mns_scheduler.risk.compliance.undisclosed_annual_report_api as undisclosed_annual_report_api
|
|
20
|
+
|
|
20
21
|
mongodb_util = MongodbUtil('27017')
|
|
21
22
|
|
|
22
23
|
|
|
@@ -60,6 +61,8 @@ def sync_financial_report():
|
|
|
60
61
|
sync_asset_liability_report(period_time, sync_time, period)
|
|
61
62
|
# 未出报告check
|
|
62
63
|
undisclosed_annual_report_api.un_disclosed_report_check(sync_time, now_year, period, period_time)
|
|
64
|
+
# 新股或者未出报告的
|
|
65
|
+
sync_miss_report(sync_time)
|
|
63
66
|
|
|
64
67
|
|
|
65
68
|
# 同步资产表
|
|
@@ -82,7 +85,7 @@ def sync_asset_liability_report(period_time, sync_time, period):
|
|
|
82
85
|
|
|
83
86
|
# 年报审核
|
|
84
87
|
financial_report_risk_check_api.financial_report_check(new_asset_df, period_time, period,
|
|
85
|
-
|
|
88
|
+
db_name_constant.EM_STOCK_ASSET_LIABILITY)
|
|
86
89
|
|
|
87
90
|
except Exception as e:
|
|
88
91
|
logger.error("同步资产表异常:{},{},{}", symbol, period_time, e)
|
|
@@ -104,10 +107,43 @@ def sync_profit_report(period_time, sync_time, period):
|
|
|
104
107
|
|
|
105
108
|
# 年报审核
|
|
106
109
|
financial_report_risk_check_api.financial_report_check(new_profit_df, period_time,
|
|
107
|
-
|
|
110
|
+
period, db_name_constant.EM_STOCK_PROFIT)
|
|
108
111
|
except Exception as e:
|
|
109
112
|
logger.error("同步利润表异常:{},{},{}", symbol, period_time, e)
|
|
110
113
|
|
|
111
114
|
|
|
115
|
+
def sync_miss_report(sync_time):
|
|
116
|
+
query = {"total_operate_income": 0}
|
|
117
|
+
un_report_company_info = mongodb_util.find_query_data(db_name_constant.COMPANY_INFO, query)
|
|
118
|
+
for un_report_one in un_report_company_info.itertuples():
|
|
119
|
+
try:
|
|
120
|
+
symbol = un_report_one.symbol
|
|
121
|
+
new_profit_df = em_financial_profit_sync_service_api.get_em_profit_api(symbol)
|
|
122
|
+
if data_frame_util.is_empty(new_profit_df):
|
|
123
|
+
continue
|
|
124
|
+
new_profit_df['sync_time'] = sync_time
|
|
125
|
+
|
|
126
|
+
new_profit_df['symbol'] = symbol
|
|
127
|
+
mongodb_util.insert_mongo(new_profit_df, db_name_constant.EM_STOCK_PROFIT)
|
|
128
|
+
|
|
129
|
+
new_asset_df = em_financial_asset_liability_sync_service_api.get_em_asset_liability_api(symbol)
|
|
130
|
+
# 负债比
|
|
131
|
+
new_asset_df['liability_ratio'] = round(
|
|
132
|
+
new_asset_df['TOTAL_LIABILITIES'] * 100 / new_asset_df['TOTAL_ASSETS'],
|
|
133
|
+
2)
|
|
134
|
+
new_asset_df['sync_time'] = sync_time
|
|
135
|
+
if data_frame_util.is_empty(new_asset_df):
|
|
136
|
+
continue
|
|
137
|
+
new_asset_df['symbol'] = symbol
|
|
138
|
+
mongodb_util.insert_mongo(new_asset_df, db_name_constant.EM_STOCK_ASSET_LIABILITY)
|
|
139
|
+
|
|
140
|
+
except Exception as e:
|
|
141
|
+
logger.error("同步财报补偿任务异常:{},{},{}", symbol, e)
|
|
142
|
+
|
|
143
|
+
|
|
112
144
|
if __name__ == '__main__':
|
|
113
|
-
|
|
145
|
+
now_date = datetime.now()
|
|
146
|
+
now_year = now_date.year
|
|
147
|
+
now_month = now_date.month
|
|
148
|
+
sync_time_test = now_date.strftime('%Y-%m-%d %H:%M:%S')
|
|
149
|
+
sync_miss_report(sync_time_test)
|
{mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/hk/hk_company_info_sync_service_api.py
RENAMED
|
@@ -10,8 +10,11 @@ import akshare as ak
|
|
|
10
10
|
import mns_common.constant.db_name_constant as db_name_constant
|
|
11
11
|
from mns_common.db.MongodbUtil import MongodbUtil
|
|
12
12
|
from functools import lru_cache
|
|
13
|
+
import mns_common.api.hk.ths_hk_company_info_api as ths_hk_company_info_api
|
|
14
|
+
import pandas as pd
|
|
13
15
|
|
|
14
16
|
mongodb_util = MongodbUtil('27017')
|
|
17
|
+
from loguru import logger
|
|
15
18
|
|
|
16
19
|
|
|
17
20
|
# 获取陆股通的列表
|
|
@@ -35,6 +38,14 @@ def get_em_cookie():
|
|
|
35
38
|
return cookie
|
|
36
39
|
|
|
37
40
|
|
|
41
|
+
@lru_cache(maxsize=None)
|
|
42
|
+
def get_ths_cookie():
|
|
43
|
+
query = {"type": "ths_cookie"}
|
|
44
|
+
stock_account_info = mongodb_util.find_query_data(db_name_constant.STOCK_ACCOUNT_INFO, query)
|
|
45
|
+
cookie = list(stock_account_info['cookie'])[0]
|
|
46
|
+
return cookie
|
|
47
|
+
|
|
48
|
+
|
|
38
49
|
# https://quote.eastmoney.com/center/gridlist.html#hk_stocks
|
|
39
50
|
def sync_hk_company_info():
|
|
40
51
|
cookie = get_em_cookie()
|
|
@@ -64,7 +75,27 @@ def sync_hk_company_info():
|
|
|
64
75
|
|
|
65
76
|
hk_real_time_df.fillna(0, inplace=True)
|
|
66
77
|
mongodb_util.remove_all_data(db_name_constant.COMPANY_INFO_HK)
|
|
67
|
-
|
|
78
|
+
for stock_one in hk_real_time_df.itertuples():
|
|
79
|
+
try:
|
|
80
|
+
symbol = stock_one.symbol
|
|
81
|
+
ths_cookie = get_ths_cookie()
|
|
82
|
+
company_hk_df = ths_hk_company_info_api.get_hk_company_info(symbol, ths_cookie)
|
|
83
|
+
|
|
84
|
+
company_hk_df.rename({
|
|
85
|
+
"industry": "industry_detail",
|
|
86
|
+
"list_date": "list_date_str",
|
|
87
|
+
})
|
|
88
|
+
|
|
89
|
+
hk_real_time_one_df = hk_real_time_df.loc[hk_real_time_df['symbol'] == symbol]
|
|
90
|
+
|
|
91
|
+
company_hk_df = company_hk_df.set_index(['symbol'], drop=True)
|
|
92
|
+
hk_real_time_one_df = hk_real_time_one_df.set_index(['symbol'], drop=False)
|
|
93
|
+
company_hk_df = pd.merge(company_hk_df, hk_real_time_one_df, how='outer',
|
|
94
|
+
left_index=True, right_index=True)
|
|
95
|
+
|
|
96
|
+
mongodb_util.save_mongo(company_hk_df, db_name_constant.COMPANY_INFO_HK)
|
|
97
|
+
except BaseException as e:
|
|
98
|
+
logger.error("同步港股公司信息异常:{},{}", symbol, e)
|
|
68
99
|
|
|
69
100
|
|
|
70
101
|
if __name__ == '__main__':
|
{mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/zt/zt_pool/ths_zt_pool_sync_api.py
RENAMED
|
@@ -230,6 +230,8 @@ if __name__ == '__main__':
|
|
|
230
230
|
# trade_date = '2024-08-01'
|
|
231
231
|
# zt_df = ths_zt_pool(trade_date, None)
|
|
232
232
|
# save_ths_zt_pool(zt_df, trade_date)
|
|
233
|
+
trade_date = '2024-09-30'
|
|
234
|
+
zt_df = ths_zt_pool(trade_date, None)
|
|
233
235
|
|
|
234
236
|
query = {"$and": [{'_id': {"$gte": '2013-07-04'}}, {'_id': {"$lte": '2015-04-30'}}]}
|
|
235
237
|
# query = {"$and": [{'_id': {"$gte": '2024-07-24'}}, {'_id': {"$lte": '2024-08-01'}}]}
|
|
@@ -477,7 +477,7 @@ blockingScheduler.add_job(self_choose_stock_task, 'cron', hour='17,22', minute='
|
|
|
477
477
|
blockingScheduler.add_job(sync_financial_report_task, 'cron', hour='17', minute='30')
|
|
478
478
|
|
|
479
479
|
# 同步港股公司和行业信息
|
|
480
|
-
blockingScheduler.add_job(sync_hk_company_industry_info, 'cron', hour='
|
|
480
|
+
blockingScheduler.add_job(sync_hk_company_industry_info, 'cron', hour='08,19', minute='10')
|
|
481
481
|
|
|
482
482
|
print('定时任务启动成功')
|
|
483
483
|
blockingScheduler.start()
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/company_info/clean/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/company_info/constant/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/company_info/de_list_stock/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/company_info/remark/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/concept/clean/kpl_concept_clean_api.py
RENAMED
|
File without changes
|
{mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/concept/clean/ths_concept_clean_api.py
RENAMED
|
File without changes
|
|
File without changes
|
{mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/concept/ths/common/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/concept/ths/detaill/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/concept/ths/sync_new_index/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/irm/api/sh_stock_sns_sse_info_api.py
RENAMED
|
File without changes
|
{mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/irm/api/sz_stock_sns_sse_info_api.py
RENAMED
|
File without changes
|
{mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/irm/stock_irm_cninfo_service.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/k_line/clean/daily/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/k_line/clean/k_line_info_clean_impl.py
RENAMED
|
File without changes
|
{mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/k_line/clean/k_line_info_clean_task.py
RENAMED
|
File without changes
|
{mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/k_line/clean/week_month/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/k_line/sync/bfq_k_line_sync.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/kpl/selection/index/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/kpl/selection/symbol/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/kpl/selection/total/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/risk/financial/net_assets_check_api.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/risk/major_violations/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/risk/self/wei_pan_stock_api.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/self_choose/ths_self_choose_service.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/trade/auto_sell_service_api.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/trade/task/trader_task_service.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/zt/connected_boards/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/zt/script/sync_now_higt_chg_zt.py
RENAMED
|
File without changes
|
|
File without changes
|
{mns_scheduler-1.1.5.5 → mns_scheduler-1.1.5.8}/mns_scheduler/zt/zt_pool/em_zt_pool_sync_api.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|