mns-scheduler 1.2.3.5__tar.gz → 1.2.3.7__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.2.3.5 → mns_scheduler-1.2.3.7}/PKG-INFO +1 -1
- {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/company_info/clean/company_info_clean_api.py +31 -11
- {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/company_info/constant/company_constant_data.py +222 -148
- {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/concept/ths/common/ths_concept_sync_common_api.py +1 -1
- mns_scheduler-1.2.3.7/mns_scheduler/industry/ths/ths_industry_index_service.py +58 -0
- mns_scheduler-1.2.3.7/mns_scheduler/industry/ths/ths_industry_sync_service.py +68 -0
- mns_scheduler-1.2.3.7/mns_scheduler/trade/tfp/__init__.py +7 -0
- mns_scheduler-1.2.3.7/mns_scheduler/zt/script/__init__.py +7 -0
- {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/zt/zt_pool/em_zt_pool_sync_api.py +1 -1
- {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/zt/zt_pool/update_null_zt_reason_api.py +1 -1
- {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/zz_task/data_sync_task.py +14 -3
- {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler.egg-info/PKG-INFO +1 -1
- {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler.egg-info/SOURCES.txt +4 -0
- {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/setup.py +1 -1
- {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/README.md +0 -0
- {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/2014-2015-test/2014_2015_chg_statistics.py +0 -0
- {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/2014-2015-test/__init__.py +0 -0
- {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/__init__.py +0 -0
- {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/big_deal/__init__.py +0 -0
- {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/big_deal/ths_big_deal_sync.py +0 -0
- {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/company_info/__init__.py +0 -0
- {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/company_info/announce/__init__.py +0 -0
- {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/company_info/announce/company_announce_sync_service.py +0 -0
- {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/company_info/base/__init__.py +0 -0
- {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/company_info/base/sync_company_base_info_api.py +0 -0
- {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/company_info/base/sync_company_hold_info_api.py +0 -0
- {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/company_info/clean/__init__.py +0 -0
- {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/company_info/constant/__init__.py +0 -0
- {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/company_info/de_list_stock/__init__.py +0 -0
- {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/company_info/de_list_stock/de_list_stock_service.py +0 -0
- {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/company_info/remark/__init__.py +0 -0
- {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/company_info/remark/company_remark_info_sync.py +0 -0
- {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/concept/__init__.py +0 -0
- {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/concept/clean/__init__.py +0 -0
- {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/concept/clean/kpl_concept_clean_api.py +0 -0
- {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/concept/clean/ths_concept_clean_api.py +0 -0
- {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/concept/ths/__init__.py +0 -0
- {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/concept/ths/common/__init__.py +0 -0
- {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/concept/ths/common/ths_concept_update_common_api.py +0 -0
- {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/concept/ths/detaill/__init__.py +0 -0
- {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/concept/ths/detaill/ths_concept_detail_api.py +0 -0
- {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/concept/ths/sync_new_index/__init__.py +0 -0
- {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/concept/ths/sync_new_index/sync_ths_concept_new_index_api.py +0 -0
- {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/concept/ths/update_concept_info/__init__.py +0 -0
- {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/concept/ths/update_concept_info/sync_one_concept_all_symbols_api.py +0 -0
- {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/concept/ths/update_concept_info/sync_one_symbol_all_concepts_api.py +0 -0
- {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/db/__init__.py +0 -0
- {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/db/col_move_service.py +0 -0
- {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/db/db_status.py +0 -0
- {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/db/real_time_task_check.py +0 -0
- {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/db/script/__init__.py +0 -0
- {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/db/script/col_move_script.py +0 -0
- {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/db/script/sync/__init__.py +0 -0
- {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/db/script/sync/local_mongo_util.py +0 -0
- {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/db/script/sync/remote_data_sync_to_local.py +0 -0
- {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/db/script/sync/remote_mongo_util.py +0 -0
- {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/db/script/sync/sync_hui_ce_test_data.py +0 -0
- {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/debt/__init__.py +0 -0
- {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/debt/kzz_bond_info_sync.py +0 -0
- {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/dt/__init__.py +0 -0
- {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/dt/stock_dt_pool_sync.py +0 -0
- {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/finance/__init__.py +0 -0
- {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/finance/em_financial_asset_liability_sync_service_api.py +0 -0
- {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/finance/em_financial_profit_sync_service_api.py +0 -0
- {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/finance/finance_common_api.py +0 -0
- {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/finance/sync_financial_report_service_api.py +0 -0
- {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/hk/__init__.py +0 -0
- {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/hk/hk_company_info_sync_service_api.py +0 -0
- {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/hk/hk_industry_info_sync_service_api.py +0 -0
- {mns_scheduler-1.2.3.5/mns_scheduler/irm → mns_scheduler-1.2.3.7/mns_scheduler/industry}/__init__.py +0 -0
- {mns_scheduler-1.2.3.5/mns_scheduler/irm/api → mns_scheduler-1.2.3.7/mns_scheduler/industry/ths}/__init__.py +0 -0
- {mns_scheduler-1.2.3.5/mns_scheduler/k_line/clean/daily → mns_scheduler-1.2.3.7/mns_scheduler/irm}/__init__.py +0 -0
- {mns_scheduler-1.2.3.5/mns_scheduler/k_line/clean/week_month → mns_scheduler-1.2.3.7/mns_scheduler/irm/api}/__init__.py +0 -0
- {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/irm/api/sh_stock_sns_sse_info_api.py +0 -0
- {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/irm/api/sz_stock_sns_sse_info_api.py +0 -0
- {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/irm/stock_irm_cninfo_service.py +0 -0
- {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/k_line/__init__.py +0 -0
- {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/k_line/clean/__init__.py +0 -0
- {mns_scheduler-1.2.3.5/mns_scheduler/k_line/hot_stocks → mns_scheduler-1.2.3.7/mns_scheduler/k_line/clean/daily}/__init__.py +0 -0
- {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/k_line/clean/daily/daily_k_line_clean_common_service.py +0 -0
- {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/k_line/clean/daily/daily_k_line_service.py +0 -0
- {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/k_line/clean/k_line_info_clean_impl.py +0 -0
- {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/k_line/clean/k_line_info_clean_task.py +0 -0
- {mns_scheduler-1.2.3.5/mns_scheduler/k_line/test → mns_scheduler-1.2.3.7/mns_scheduler/k_line/clean/week_month}/__init__.py +0 -0
- {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/k_line/clean/week_month/normal_week_month_k_line_service.py +0 -0
- {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/k_line/clean/week_month/sub_new_week_month_k_line_service.py +0 -0
- {mns_scheduler-1.2.3.5/mns_scheduler/lhb → mns_scheduler-1.2.3.7/mns_scheduler/k_line/hot_stocks}/__init__.py +0 -0
- {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/k_line/hot_stocks/recent_hot_stocks_clean_service.py +0 -0
- {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/k_line/sync/__init__.py +0 -0
- {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/k_line/sync/bfq_k_line_sync.py +0 -0
- {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/k_line/sync/daily_week_month_line_sync.py +0 -0
- {mns_scheduler-1.2.3.5/mns_scheduler/open → mns_scheduler-1.2.3.7/mns_scheduler/k_line/test}/__init__.py +0 -0
- {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/k_line/test/k_line_info_clean_his_data.py +0 -0
- {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/kpl/__init__.py +0 -0
- {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/kpl/selection/__init__.py +0 -0
- {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/kpl/selection/index/__init__.py +0 -0
- {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/kpl/selection/index/sync_best_choose_his_index.py +0 -0
- {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/kpl/selection/index/sync_best_choose_index.py +0 -0
- {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/kpl/selection/symbol/__init__.py +0 -0
- {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/kpl/selection/symbol/sync_best_choose_symbol.py +0 -0
- {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/kpl/selection/total/__init__.py +0 -0
- {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/kpl/selection/total/sync_kpl_best_total_sync_api.py +0 -0
- {mns_scheduler-1.2.3.5/mns_scheduler/risk → mns_scheduler-1.2.3.7/mns_scheduler/lhb}/__init__.py +0 -0
- {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/lhb/stock_lhb_sync_service.py +0 -0
- {mns_scheduler-1.2.3.5/mns_scheduler/risk/test → mns_scheduler-1.2.3.7/mns_scheduler/open}/__init__.py +0 -0
- {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/open/sync_one_day_open_data_to_db_service.py +0 -0
- {mns_scheduler-1.2.3.5/mns_scheduler/self_choose → mns_scheduler-1.2.3.7/mns_scheduler/risk}/__init__.py +0 -0
- {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/risk/compliance/__init__.py +0 -0
- {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/risk/compliance/undisclosed_annual_report_api.py +0 -0
- {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/risk/financial/__init__.py +0 -0
- {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/risk/financial/annual_report_audit_check_api.py +0 -0
- {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/risk/financial/net_assets_check_api.py +0 -0
- {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/risk/financial/profit_income_check_api.py +0 -0
- {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/risk/financial/stock_equity_mortgage_check_api.py +0 -0
- {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/risk/financial_report_risk_check_api.py +0 -0
- {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/risk/major_violations/__init__.py +0 -0
- {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/risk/major_violations/register_and_investigate_stock_sync_api.py +0 -0
- {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/risk/self/__init__.py +0 -0
- {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/risk/self/wei_pan_stock_api.py +0 -0
- {mns_scheduler-1.2.3.5/mns_scheduler/trade/balance → mns_scheduler-1.2.3.7/mns_scheduler/risk/test}/__init__.py +0 -0
- {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/risk/test/fix_blask_list.py +0 -0
- {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/risk/transactions/__init__.py +0 -0
- {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/risk/transactions/transactions_check_api.py +0 -0
- {mns_scheduler-1.2.3.5/mns_scheduler/trade/tfp → mns_scheduler-1.2.3.7/mns_scheduler/self_choose}/__init__.py +0 -0
- {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/self_choose/ths_self_choose_service.py +0 -0
- {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/trade/__init__.py +0 -0
- {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/trade/auto_ipo_buy_api.py +0 -0
- {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/trade/auto_login/__init__.py +0 -0
- {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/trade/auto_login/trader_auto_service.py +0 -0
- {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/trade/auto_sell_service_api.py +0 -0
- {mns_scheduler-1.2.3.5/mns_scheduler/zt/script → mns_scheduler-1.2.3.7/mns_scheduler/trade/balance}/__init__.py +0 -0
- {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/trade/balance/ths_account_balance_service.py +0 -0
- {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/trade/sync_position_api.py +0 -0
- {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/trade/task/__init__.py +0 -0
- {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/trade/task/trader_task_service.py +0 -0
- {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/trade/tfp/stock_tfp_info_sync.py +0 -0
- {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/zb/__init__.py +0 -0
- {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/zb/stock_zb_pool_sync.py +0 -0
- {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/zt/__init__.py +0 -0
- {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/zt/connected_boards/__init__.py +0 -0
- {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/zt/connected_boards/zt_five_boards_sync_api.py +0 -0
- {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/zt/export/__init__.py +0 -0
- {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/zt/export/export_kcx_high_chg_open_data_to_excel.py +0 -0
- {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/zt/high_chg/__init__.py +0 -0
- {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/zt/high_chg/sync_high_chg_pool_service.py +0 -0
- {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/zt/high_chg/sync_high_chg_real_time_quotes_service.py +0 -0
- {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/zt/open_data/__init__.py +0 -0
- {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/zt/open_data/kcx_high_chg_open_data_sync.py +0 -0
- {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/zt/script/kcx_high_chg_open_his_data_handle.py +0 -0
- {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/zt/script/sync_high_chg_pool_his_data.py +0 -0
- {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/zt/script/sync_now_higt_chg_zt.py +0 -0
- {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/zt/zt_pool/__init__.py +0 -0
- {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/zt/zt_pool/ths_zt_pool_sync_api.py +0 -0
- {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/zz_task/__init__.py +0 -0
- {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler.egg-info/dependency_links.txt +0 -0
- {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler.egg-info/top_level.txt +0 -0
- {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/setup.cfg +0 -0
|
@@ -13,6 +13,7 @@ import mns_scheduler.company_info.constant.company_constant_data as company_cons
|
|
|
13
13
|
import mns_common.constant.db_name_constant as db_name_constant
|
|
14
14
|
import mns_scheduler.concept.ths.detaill.ths_concept_detail_api as ths_concept_detail_api
|
|
15
15
|
import mns_scheduler.company_info.base.sync_company_base_info_api as company_info_sync_api
|
|
16
|
+
import mns_common.utils.data_frame_util as data_frame_util
|
|
16
17
|
|
|
17
18
|
mongodb_util = MongodbUtil('27017')
|
|
18
19
|
import mns_common.component.common_service_fun_api as common_service_fun_api
|
|
@@ -20,21 +21,26 @@ import mns_common.component.company.company_common_service_api as company_common
|
|
|
20
21
|
|
|
21
22
|
|
|
22
23
|
# 修改行业信息
|
|
23
|
-
def
|
|
24
|
+
def clean_company_info(symbol):
|
|
24
25
|
if symbol is not None:
|
|
25
26
|
query = {"symbol": symbol}
|
|
26
27
|
company_info = mongodb_util.find_query_data('company_info_base', query)
|
|
27
28
|
else:
|
|
28
29
|
company_info = mongodb_util.find_all_data('company_info_base')
|
|
29
30
|
|
|
30
|
-
|
|
31
|
-
|
|
31
|
+
company_info = company_constant_data.fix_second_industry(company_info)
|
|
32
|
+
|
|
33
|
+
company_info = company_info.set_index(['second_sw_industry'], drop=False)
|
|
34
|
+
|
|
35
|
+
# 修改行业名称
|
|
36
|
+
del company_info['industry']
|
|
32
37
|
# fix industry name
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
+
industry_final_fix_df = company_constant_data.get_fix_industry_name_df()
|
|
39
|
+
industry_final_fix_df = industry_final_fix_df.set_index(['second_sw_industry'], drop=True)
|
|
40
|
+
company_info = pd.merge(company_info, industry_final_fix_df, how='outer',
|
|
41
|
+
left_index=True, right_index=True)
|
|
42
|
+
|
|
43
|
+
# 将申万第三行业做为行业 拆分过大的二级行业 主要有通用设备 和专业设备
|
|
38
44
|
company_info = company_constant_data.fix_industry_use_sw_third(company_info.copy())
|
|
39
45
|
company_info['industry'] = company_info['industry'].fillna('综合')
|
|
40
46
|
company_info = company_constant_data.filed_sort(company_info)
|
|
@@ -65,7 +71,7 @@ def fix_company_industry(symbol):
|
|
|
65
71
|
except BaseException as e:
|
|
66
72
|
logger.error("出现异常:{},{}", symbol, e)
|
|
67
73
|
query = {'concept_code': 885598}
|
|
68
|
-
ths_stock_concept_detail = mongodb_util.find_query_data(
|
|
74
|
+
ths_stock_concept_detail = mongodb_util.find_query_data(db_name_constant.THS_STOCK_CONCEPT_DETAIL, query)
|
|
69
75
|
sub_stock_symbol_list = list(ths_stock_concept_detail['symbol'])
|
|
70
76
|
company_info.loc[:, 'sub_stock'] = False
|
|
71
77
|
company_info.loc[company_info['symbol'].isin(sub_stock_symbol_list), 'sub_stock'] = True
|
|
@@ -73,6 +79,20 @@ def fix_company_industry(symbol):
|
|
|
73
79
|
try:
|
|
74
80
|
company_info.dropna(subset=['symbol'], axis=0, inplace=True)
|
|
75
81
|
company_info.dropna(subset=['_id'], axis=0, inplace=True)
|
|
82
|
+
ths_stock_industry_detail_df = mongodb_util.find_all_data(db_name_constant.THS_STOCK_INDUSTRY_DETAIL)
|
|
83
|
+
if data_frame_util.is_not_empty(ths_stock_industry_detail_df):
|
|
84
|
+
ths_stock_industry_detail_df = ths_stock_industry_detail_df[
|
|
85
|
+
['symbol', 'ths_industry_name', 'ths_industry_code']]
|
|
86
|
+
ths_stock_industry_detail_df = ths_stock_industry_detail_df.set_index(['symbol'], drop=True)
|
|
87
|
+
company_info = company_info.set_index(['_id'], drop=False)
|
|
88
|
+
company_info = pd.merge(company_info, ths_stock_industry_detail_df, how='outer',
|
|
89
|
+
left_index=True, right_index=True)
|
|
90
|
+
company_info['ths_industry_code'] = company_info['ths_industry_code'].fillna('0')
|
|
91
|
+
company_info['ths_industry_name'] = company_info['ths_industry_name'].fillna('异常')
|
|
92
|
+
|
|
93
|
+
else:
|
|
94
|
+
company_info['ths_industry_code'] = '0'
|
|
95
|
+
company_info['ths_industry_name'] = '异常'
|
|
76
96
|
mongodb_util.save_mongo(company_info, db_name_constant.COMPANY_INFO)
|
|
77
97
|
# 保存历史数据
|
|
78
98
|
save_company_info_his(company_info)
|
|
@@ -102,7 +122,7 @@ def new_company_info_update():
|
|
|
102
122
|
for company_one in new_stock.itertuples():
|
|
103
123
|
try:
|
|
104
124
|
company_info_sync_api.sync_company_base_info([company_one.symbol])
|
|
105
|
-
|
|
125
|
+
clean_company_info(company_one.symbol)
|
|
106
126
|
|
|
107
127
|
except BaseException as e:
|
|
108
128
|
logger.error("出现异常:{}", e)
|
|
@@ -110,4 +130,4 @@ def new_company_info_update():
|
|
|
110
130
|
|
|
111
131
|
|
|
112
132
|
if __name__ == '__main__':
|
|
113
|
-
|
|
133
|
+
clean_company_info(None)
|
|
@@ -46,34 +46,79 @@ def get_fix_symbol_industry():
|
|
|
46
46
|
['830799', '艾融软件', '490101', '证券'],
|
|
47
47
|
['300033', '同花顺', '490101', '证券'],
|
|
48
48
|
['300399', '天利科技', '490201', '保险'],
|
|
49
|
-
|
|
50
49
|
# EDA软件
|
|
51
50
|
['301269', '华大九天', '270108', '半导体设备'],
|
|
52
51
|
['688206', '概伦电子', '270108', '半导体设备'],
|
|
53
52
|
['301095', '广立微', '270108', '半导体设备'],
|
|
54
|
-
|
|
55
53
|
['002131', '利欧股份', '720501', '营销代理'],
|
|
56
54
|
|
|
57
55
|
],
|
|
58
|
-
columns=['symbol',
|
|
56
|
+
columns=['symbol',
|
|
57
|
+
'name',
|
|
58
|
+
'new_industry_code', # 三级行业代码
|
|
59
|
+
'new_industry'])
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
# 修改二级行业分类的股票
|
|
63
|
+
def get_fix_second_industry_info():
|
|
64
|
+
return pd.DataFrame([
|
|
65
|
+
['110200', '渔业', "农林牧渔", "110000", '农业综合Ⅱ', '110900'],
|
|
66
|
+
|
|
67
|
+
['110300', '林业', "农林牧渔", "110000", '农业综合Ⅱ', '110900'],
|
|
68
|
+
|
|
69
|
+
['450700', '旅游零售Ⅱ', '社会服务', '460000', '旅游及景区', '461000'],
|
|
70
|
+
|
|
71
|
+
['220700', '化工新材料Ⅱ', '基础化工', '220000', '非金属材料Ⅱ', '220900'],
|
|
72
|
+
|
|
73
|
+
['330700', '其他家电Ⅱ', '家用电器', '330000', '小家电', '330300'],
|
|
74
|
+
|
|
75
|
+
['250100', '建筑材料', '建筑材料', '610000', '装修建材', '610300'],
|
|
76
|
+
|
|
77
|
+
['460600', '体育Ⅱ', '综合', '510000', '综合Ⅱ', '510100'],
|
|
78
|
+
|
|
79
|
+
['770300', '医疗美容', '美容护理', '770000', '化妆品', '770200'],
|
|
80
|
+
|
|
81
|
+
],
|
|
82
|
+
columns=['original_second_industry_code',
|
|
83
|
+
'original_second_industry_name',
|
|
84
|
+
'first_sw_industry',
|
|
85
|
+
'first_industry_code',
|
|
86
|
+
'second_sw_industry', # 二级级行业代码
|
|
87
|
+
'second_industry_code'])
|
|
88
|
+
|
|
89
|
+
|
|
90
|
+
def fix_second_industry(company_info):
|
|
91
|
+
fix_second_industry_df = get_fix_second_industry_info()
|
|
92
|
+
del fix_second_industry_df['original_second_industry_name']
|
|
93
|
+
fix_second_company_df = company_info.loc[
|
|
94
|
+
company_info['second_industry_code'].isin(fix_second_industry_df['original_second_industry_code'])]
|
|
95
|
+
|
|
96
|
+
no_fix_second_company_df = company_info.loc[~(
|
|
97
|
+
company_info['second_industry_code'].isin(fix_second_industry_df['original_second_industry_code']))]
|
|
59
98
|
|
|
99
|
+
fix_second_company_df = fix_second_company_df.set_index(['second_industry_code'], drop=True)
|
|
100
|
+
del fix_second_company_df['second_sw_industry']
|
|
101
|
+
del fix_second_company_df['first_industry_code']
|
|
102
|
+
del fix_second_company_df['first_sw_industry']
|
|
103
|
+
fix_second_industry_df = fix_second_industry_df.set_index(['original_second_industry_code'], drop=True)
|
|
60
104
|
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
# return industry_df
|
|
105
|
+
fix_second_company_df = pd.merge(fix_second_company_df, fix_second_industry_df, how='outer',
|
|
106
|
+
left_index=True, right_index=True)
|
|
64
107
|
|
|
108
|
+
return pd.concat([no_fix_second_company_df, fix_second_company_df])
|
|
65
109
|
|
|
66
|
-
|
|
67
|
-
|
|
110
|
+
|
|
111
|
+
# 修改行业名
|
|
112
|
+
def get_fix_industry_name_df():
|
|
68
113
|
return pd.DataFrame([
|
|
69
114
|
|
|
70
|
-
# 交通运输
|
|
115
|
+
# 交通运输 1
|
|
71
116
|
['物流', '物流'],
|
|
72
117
|
['铁路公路', '铁路公路'],
|
|
73
118
|
['航运港口', '航运港口'],
|
|
74
119
|
['航空机场', '航空机场'],
|
|
75
120
|
|
|
76
|
-
# 传媒
|
|
121
|
+
# 传媒 2
|
|
77
122
|
['数字媒体', '数字媒体'],
|
|
78
123
|
['电视广播Ⅱ', '电视广播'],
|
|
79
124
|
['游戏Ⅱ', '游戏'],
|
|
@@ -81,22 +126,21 @@ def get_industry_final_fix_df():
|
|
|
81
126
|
['影视院线', '影视院线'],
|
|
82
127
|
['广告营销', '广告营销'],
|
|
83
128
|
|
|
84
|
-
# 公用事业
|
|
129
|
+
# 公用事业 3
|
|
85
130
|
['燃气Ⅱ', '燃气'],
|
|
86
131
|
['电力', '电力'],
|
|
87
132
|
|
|
88
|
-
# 农林牧渔
|
|
89
|
-
['养殖业', '养殖业'],
|
|
90
|
-
['农产品加工', '农产品加工'],
|
|
91
|
-
['饲料', '饲料'],
|
|
92
|
-
['渔业', '渔业'], # merge to
|
|
93
|
-
# merge 农林牧渔
|
|
133
|
+
# 农林牧渔 4
|
|
134
|
+
['养殖业', '养殖业'],
|
|
135
|
+
['农产品加工', '农产品加工'],
|
|
136
|
+
['饲料', '饲料'],
|
|
137
|
+
['渔业', '渔业'], # merge to 农业综合
|
|
94
138
|
['动物保健Ⅱ', '动物保健'],
|
|
95
139
|
['种植业', '种植业'],
|
|
96
|
-
['林业Ⅱ', '林业'], # merge
|
|
97
|
-
['农业综合Ⅱ', '农业综合'], #
|
|
140
|
+
# ['林业Ⅱ', '林业'], # merge 农业综合
|
|
141
|
+
['农业综合Ⅱ', '农业综合'], #
|
|
98
142
|
|
|
99
|
-
# 医药生物
|
|
143
|
+
# 医药生物 5
|
|
100
144
|
['化学制药', '化学制药'],
|
|
101
145
|
['生物制品', '生物制品'],
|
|
102
146
|
['中药Ⅱ', '中药'],
|
|
@@ -104,46 +148,85 @@ def get_industry_final_fix_df():
|
|
|
104
148
|
['医疗服务', '医疗服务'],
|
|
105
149
|
['医药商业', '医药商业'],
|
|
106
150
|
|
|
107
|
-
# 商贸零售
|
|
151
|
+
# 商贸零售 6
|
|
108
152
|
['一般零售', '一般零售'],
|
|
109
153
|
['互联网电商', '互联网电商'],
|
|
110
154
|
['贸易Ⅱ', '贸易'], #
|
|
111
|
-
['专业连锁Ⅱ', '
|
|
112
|
-
['旅游零售Ⅱ', '旅游零售'], #
|
|
155
|
+
['专业连锁Ⅱ', '零售专业连锁'], # 专业连锁 综合Ⅱ
|
|
156
|
+
# ['旅游零售Ⅱ', '旅游零售'], # merge旅游及景区
|
|
113
157
|
|
|
114
|
-
# 国防
|
|
115
|
-
['军工电子Ⅱ', '军工电子'],
|
|
116
|
-
['地面兵装Ⅱ', '地面兵装'],
|
|
158
|
+
# 国防 7
|
|
159
|
+
['军工电子Ⅱ', '军工电子'],
|
|
160
|
+
['地面兵装Ⅱ', '地面兵装'],
|
|
117
161
|
['航天装备Ⅱ', '航天装备'],
|
|
118
|
-
['航空装备Ⅱ', '航空装备'],
|
|
162
|
+
['航空装备Ⅱ', '航空装备'],
|
|
119
163
|
['航海装备Ⅱ', '航海装备'],
|
|
120
164
|
|
|
121
|
-
# 基础化工
|
|
165
|
+
# 基础化工 8
|
|
122
166
|
['化学制品', '化学制品'],
|
|
123
167
|
['化学原料', '化学原料'],
|
|
124
168
|
['化学纤维', '化学纤维'],
|
|
125
169
|
['农化制品', '化肥农药'],
|
|
126
170
|
['塑料', '塑料'],
|
|
127
|
-
['橡胶', '橡胶'],
|
|
171
|
+
['橡胶', '橡胶'],
|
|
128
172
|
['非金属材料Ⅱ', '非金属材料'],
|
|
129
173
|
|
|
130
|
-
# 家用电器
|
|
174
|
+
# 家用电器 9
|
|
131
175
|
['白色家电', '白色家电'], # merge 家用电器
|
|
132
176
|
['照明设备Ⅱ', '照明设备'], # merge 家用电器
|
|
133
|
-
['其他家电Ⅱ', '其他家电'], # merge
|
|
177
|
+
# ['其他家电Ⅱ', '其他家电'], # merge 小家电
|
|
134
178
|
['家电零部件Ⅱ', '家电零部件'], # merge 家用电器
|
|
135
179
|
['小家电', '小家电'], # merge '家用电器'
|
|
136
180
|
['黑色家电', '黑色家电'], # merge 家用电器
|
|
137
181
|
['厨卫电器', '厨卫电器'], # merge 家用电器
|
|
138
182
|
|
|
139
|
-
#
|
|
183
|
+
# 建筑材料 10
|
|
184
|
+
['装修建材', '装修建材'], #
|
|
185
|
+
['建筑建材', '装修建材'], #
|
|
186
|
+
['玻璃玻纤', '玻璃玻纤'],
|
|
187
|
+
['水泥', '水泥'],
|
|
188
|
+
|
|
189
|
+
# 建筑装饰 11
|
|
190
|
+
['基础建设', '基础建设'],
|
|
191
|
+
['房屋建设Ⅱ', '房屋建设'],
|
|
192
|
+
['工程咨询服务Ⅱ', '工程咨询服务'],
|
|
193
|
+
['专业工程', '建筑专业工程'],
|
|
194
|
+
['装修装饰Ⅱ', '装修装饰'],
|
|
195
|
+
|
|
196
|
+
# 房地产 12
|
|
197
|
+
['房地产开发', '房地产'],
|
|
198
|
+
['房地产服务', '房地产'],
|
|
199
|
+
|
|
200
|
+
# 有色金属 13
|
|
201
|
+
['能源金属', '能源金属'],
|
|
202
|
+
['小金属', '小金属'],
|
|
203
|
+
['贵金属', '贵金属'], #
|
|
204
|
+
['金属新材料', '金属新材料'],
|
|
205
|
+
['工业金属', '工业金属'], # 铅锌 铝 铜
|
|
206
|
+
|
|
207
|
+
# 机械设备 14
|
|
208
|
+
['自动化设备', '自动化设备'],
|
|
209
|
+
['轨交设备Ⅱ', '轨交设备'],
|
|
210
|
+
['通用设备', '通用设备'],
|
|
211
|
+
['专用设备', '专用设备'],
|
|
212
|
+
['工程机械', '工程机械'],
|
|
213
|
+
|
|
214
|
+
# 汽车 15
|
|
140
215
|
['汽车零部件', '汽车零部件'],
|
|
141
216
|
['汽车服务', '汽车服务'],
|
|
142
|
-
['乘用车', '
|
|
143
|
-
['商用车', '
|
|
217
|
+
['乘用车', '乘用车'], # = merge 汽车整车
|
|
218
|
+
['商用车', '商用车'],
|
|
144
219
|
['摩托车及其他', '摩托车及其他'],
|
|
145
220
|
|
|
146
|
-
#
|
|
221
|
+
# 煤炭 16
|
|
222
|
+
['焦炭Ⅱ', '焦炭'], # merge to 煤炭
|
|
223
|
+
['煤炭开采', '煤炭开采'], # merge 煤炭
|
|
224
|
+
|
|
225
|
+
# 环保 17
|
|
226
|
+
['环境治理', '环境治理'], # merge, 环保
|
|
227
|
+
['环保设备Ⅱ', '环保设备'], # merge '环保'
|
|
228
|
+
|
|
229
|
+
# 电力设备 18
|
|
147
230
|
['电网设备', '电网设备'],
|
|
148
231
|
['电池', '电池'],
|
|
149
232
|
['电机Ⅱ', '电机'], #
|
|
@@ -151,20 +234,7 @@ def get_industry_final_fix_df():
|
|
|
151
234
|
['风电设备', '风电设备'],
|
|
152
235
|
['其他电源设备Ⅱ', '其他电源设备'],
|
|
153
236
|
|
|
154
|
-
#
|
|
155
|
-
['房地产开发', '房地产'],
|
|
156
|
-
['房地产服务', '房地产'],
|
|
157
|
-
|
|
158
|
-
# 计算机 联动板块
|
|
159
|
-
['计算机设备', '计算机设备'],
|
|
160
|
-
['IT服务Ⅱ', 'IT服务'],
|
|
161
|
-
['软件开发', '软件开发'],
|
|
162
|
-
|
|
163
|
-
# 环保
|
|
164
|
-
['环境治理', '环保'], # merge, 环保
|
|
165
|
-
['环保设备Ⅱ', '环保'], # merge '环保'
|
|
166
|
-
|
|
167
|
-
# 电子
|
|
237
|
+
# 电子 19
|
|
168
238
|
['半导体', '半导体'],
|
|
169
239
|
['电子化学品Ⅱ', '电子化学品'],
|
|
170
240
|
['光学光电子', '光学光电子'],
|
|
@@ -172,133 +242,144 @@ def get_industry_final_fix_df():
|
|
|
172
242
|
['元件', '元件'],
|
|
173
243
|
['其他电子Ⅱ', '其他电子'], #
|
|
174
244
|
|
|
175
|
-
#
|
|
176
|
-
['证券Ⅱ', '证券'],
|
|
177
|
-
['国有大型银行Ⅱ', '银行'], # merge to 银行
|
|
178
|
-
['城商行Ⅱ', '银行'], #
|
|
179
|
-
['农商行Ⅱ', '银行'], # merge 银行
|
|
180
|
-
['股份制银行Ⅱ', '银行'], # merge to 银行
|
|
181
|
-
['保险Ⅱ', '保险'],
|
|
182
|
-
['多元金融', '多元金融'],
|
|
183
|
-
|
|
184
|
-
# 通信
|
|
185
|
-
['通信服务', '通信服务'],
|
|
186
|
-
['通信设备', '通信设备'],
|
|
187
|
-
|
|
188
|
-
# 酒 喝死你
|
|
189
|
-
['白酒Ⅱ', '酒类'], # merge '酒类'
|
|
190
|
-
['非白酒', '酒类'], # merge '酒类'
|
|
191
|
-
|
|
192
|
-
# 轻工制造
|
|
193
|
-
['造纸', '造纸'],
|
|
194
|
-
['包装印刷', '包装印刷'], #
|
|
195
|
-
['文娱用品', '文娱用品'], #
|
|
196
|
-
['家居用品', '家居用品'],
|
|
197
|
-
|
|
198
|
-
# 纺织服装
|
|
199
|
-
['服装家纺', '纺织服装'], # merge 纺织服装
|
|
200
|
-
['纺织制造', '纺织服装'], # merge 纺织服装
|
|
201
|
-
['饰品', '饰品'], # todo exclude
|
|
202
|
-
|
|
203
|
-
# 美容护理
|
|
204
|
-
['化妆品', '美容护理'], # merge to 美容护理
|
|
205
|
-
['医疗美容', '美容护理'], # merge 美容护理
|
|
206
|
-
['个护用品', '个护用品'],
|
|
207
|
-
|
|
208
|
-
# 食品饮料
|
|
209
|
-
['饮料乳品', '饮料乳品'], # merge 食品饮料
|
|
210
|
-
['食品加工', '食品加工'], # merge 食品饮料
|
|
211
|
-
['调味发酵品Ⅱ', '调味发酵品'], # merge to 食品饮料
|
|
212
|
-
['休闲食品', '休闲食品'], # merge '食品饮料'
|
|
213
|
-
|
|
214
|
-
# 石油石化
|
|
245
|
+
# 石油石化 20
|
|
215
246
|
['炼化及贸易', '石油行业'], # merge 石油行业
|
|
216
247
|
['油服工程', '采掘行业'], # merge '采掘行业'
|
|
217
248
|
['油气开采Ⅱ', '石油行业'], # merge to 石油行业
|
|
218
249
|
|
|
219
|
-
#
|
|
220
|
-
['
|
|
221
|
-
['
|
|
222
|
-
['
|
|
250
|
+
# 社会服务 21
|
|
251
|
+
['专业服务', '社会专业服务'],
|
|
252
|
+
['旅游及景区', '旅游及景区'],
|
|
253
|
+
['酒店餐饮', '旅游酒店'],
|
|
254
|
+
['教育', '教育'],
|
|
255
|
+
# ['体育Ⅱ', '体育'],
|
|
223
256
|
|
|
224
|
-
#
|
|
225
|
-
['
|
|
226
|
-
['
|
|
227
|
-
['
|
|
228
|
-
['金属新材料', '金属新材料'],
|
|
229
|
-
# 铅锌 铝 铜
|
|
230
|
-
['工业金属', '工业金属'],
|
|
257
|
+
# 纺织服装 22
|
|
258
|
+
['服装家纺', '纺织服装'], # merge 纺织服装
|
|
259
|
+
['纺织制造', '纺织服装'], # merge 纺织服装
|
|
260
|
+
['饰品', '饰品'],
|
|
231
261
|
|
|
232
|
-
#
|
|
233
|
-
['
|
|
234
|
-
['房屋建设Ⅱ', '工程建设'], # merge 工程建设
|
|
235
|
-
['工程咨询服务Ⅱ', '工程咨询服务'],
|
|
236
|
-
['专业工程', '建筑工程'],
|
|
237
|
-
['装修装饰Ⅱ', '装修装饰'],
|
|
238
|
-
['工程机械', '工程机械'],
|
|
262
|
+
# 综合 23
|
|
263
|
+
['综合Ⅱ', '综合'],
|
|
239
264
|
|
|
240
|
-
#
|
|
241
|
-
['
|
|
242
|
-
['
|
|
243
|
-
['
|
|
244
|
-
['水泥', '水泥'],
|
|
265
|
+
# 美容护理 24
|
|
266
|
+
['化妆品', '化妆美容'], # merge to 化妆美容
|
|
267
|
+
# ['医疗美容', '化妆美容'], # merge 化妆美容
|
|
268
|
+
['个护用品', '个护用品'],
|
|
245
269
|
|
|
246
|
-
#
|
|
247
|
-
['
|
|
270
|
+
# 计算机 25
|
|
271
|
+
['计算机设备', '计算机设备'],
|
|
272
|
+
['IT服务Ⅱ', 'IT服务'],
|
|
273
|
+
['软件开发', '软件开发'],
|
|
248
274
|
|
|
249
|
-
|
|
275
|
+
# 轻工制造 26
|
|
276
|
+
['造纸', '造纸'],
|
|
277
|
+
['包装印刷', '包装印刷'], #
|
|
278
|
+
['文娱用品', '文娱用品'], #
|
|
279
|
+
['家居用品', '家居用品'],
|
|
250
280
|
|
|
251
|
-
#
|
|
252
|
-
['
|
|
253
|
-
['
|
|
281
|
+
# 通信 27
|
|
282
|
+
['通信服务', '通信服务'],
|
|
283
|
+
['通信设备', '通信设备'],
|
|
254
284
|
|
|
255
|
-
|
|
285
|
+
# 钢铁 28
|
|
286
|
+
['普钢', '普钢'], #
|
|
287
|
+
['特钢Ⅱ', '特钢'],
|
|
288
|
+
['冶钢原料', '冶钢原料'],
|
|
256
289
|
|
|
257
|
-
|
|
258
|
-
['
|
|
290
|
+
# 银行 29
|
|
291
|
+
['国有大型银行Ⅱ', '银行'], # merge to 银行
|
|
292
|
+
['城商行Ⅱ', '银行'], #
|
|
293
|
+
['农商行Ⅱ', '银行'], # merge 银行
|
|
294
|
+
['股份制银行Ⅱ', '银行'], # merge to 银行
|
|
259
295
|
|
|
260
|
-
#
|
|
261
|
-
|
|
262
|
-
['
|
|
263
|
-
['
|
|
264
|
-
['专业服务', '专业服务'], # todo exclude 无法具体分类
|
|
296
|
+
# 非银金融 30
|
|
297
|
+
['证券Ⅱ', '证券'],
|
|
298
|
+
['保险Ⅱ', '保险'],
|
|
299
|
+
['多元金融', '多元金融'],
|
|
265
300
|
|
|
266
|
-
|
|
267
|
-
['
|
|
301
|
+
# 食品饮料 31
|
|
302
|
+
['饮料乳品', '饮料乳品'], # merge 食品饮料
|
|
303
|
+
['食品加工', '食品加工'], # merge 食品饮料
|
|
304
|
+
['调味发酵品Ⅱ', '调味发酵品'], # merge to 食品饮料
|
|
305
|
+
['休闲食品', '休闲食品'], # merge '食品饮料'
|
|
306
|
+
['白酒Ⅱ', '白酒'],
|
|
307
|
+
['非白酒', '非白酒']
|
|
268
308
|
|
|
269
309
|
], columns=['second_sw_industry', 'industry'])
|
|
270
310
|
|
|
271
311
|
|
|
272
|
-
#
|
|
312
|
+
# 第三行业作为行业
|
|
273
313
|
def fix_industry_use_sw_third(company_info_df):
|
|
274
314
|
# 细分工业金属行业
|
|
275
315
|
company_info = company_info_df.copy()
|
|
276
316
|
company_info.loc[company_info.third_industry_code == '240303', 'industry'] = '铅锌'
|
|
277
317
|
company_info.loc[company_info.third_industry_code == '240301', 'industry'] = '铝'
|
|
278
318
|
company_info.loc[company_info.third_industry_code == '240302', 'industry'] = '铜'
|
|
319
|
+
|
|
320
|
+
company_info.loc[company_info.third_industry_code == '240303', 'second_sw_industry'] = '铅锌'
|
|
321
|
+
company_info.loc[company_info.third_industry_code == '240301', 'second_sw_industry'] = '铝'
|
|
322
|
+
company_info.loc[company_info.third_industry_code == '240302', 'second_sw_industry'] = '铜'
|
|
323
|
+
|
|
324
|
+
company_info.loc[company_info.third_industry_code == '240303', 'second_industry_code'] = '240303'
|
|
325
|
+
company_info.loc[company_info.third_industry_code == '240301', 'second_industry_code'] = '240301'
|
|
326
|
+
company_info.loc[company_info.third_industry_code == '240302', 'second_industry_code'] = '240302'
|
|
327
|
+
|
|
279
328
|
# 细分专业设备
|
|
280
329
|
company_info.loc[company_info.third_industry_code == '640203', 'industry'] = '能源及重型设备'
|
|
281
330
|
company_info.loc[company_info.third_industry_code == '640204', 'industry'] = '楼宇设备'
|
|
282
331
|
company_info.loc[company_info.third_industry_code == '640206', 'industry'] = '纺织服装设备'
|
|
283
332
|
company_info.loc[company_info.third_industry_code == '640207', 'industry'] = '农用机械'
|
|
284
333
|
company_info.loc[company_info.third_industry_code == '640208', 'industry'] = '印刷包装机械'
|
|
334
|
+
|
|
335
|
+
company_info.loc[company_info.third_industry_code == '640203', 'second_sw_industry'] = '能源及重型设备'
|
|
336
|
+
company_info.loc[company_info.third_industry_code == '640204', 'second_sw_industry'] = '楼宇设备'
|
|
337
|
+
company_info.loc[company_info.third_industry_code == '640206', 'second_sw_industry'] = '纺织服装设备'
|
|
338
|
+
company_info.loc[company_info.third_industry_code == '640207', 'second_sw_industry'] = '农用机械'
|
|
339
|
+
company_info.loc[company_info.third_industry_code == '640208', 'second_sw_industry'] = '印刷包装机械'
|
|
340
|
+
|
|
341
|
+
company_info.loc[company_info.third_industry_code == '640203', 'second_industry_code'] = '640203'
|
|
342
|
+
company_info.loc[company_info.third_industry_code == '640204', 'second_industry_code'] = '640204'
|
|
343
|
+
company_info.loc[company_info.third_industry_code == '640206', 'second_industry_code'] = '640206'
|
|
344
|
+
company_info.loc[company_info.third_industry_code == '640207', 'second_industry_code'] = '640207'
|
|
345
|
+
company_info.loc[company_info.third_industry_code == '640208', 'second_industry_code'] = '640208'
|
|
346
|
+
|
|
285
347
|
# todo 细分
|
|
286
348
|
company_info.loc[company_info.third_industry_code == '640209', 'industry'] = '专用设备'
|
|
287
|
-
company_info.loc[company_info.third_industry_code == '
|
|
349
|
+
company_info.loc[company_info.third_industry_code == '640209', 'second_sw_industry'] = '专用设备'
|
|
350
|
+
company_info.loc[company_info.third_industry_code == '640209', 'second_industry_code'] = '640208'
|
|
351
|
+
|
|
352
|
+
company_info.loc[company_info.third_industry_code == '260205', 'industry'] = '专用设备'
|
|
353
|
+
company_info.loc[company_info.third_industry_code == '260205', 'second_sw_industry'] = '专用设备'
|
|
354
|
+
company_info.loc[company_info.third_industry_code == '260205', 'second_industry_code'] = '260205'
|
|
355
|
+
|
|
288
356
|
# 细分通用设备
|
|
289
357
|
company_info.loc[company_info.third_industry_code == '640101', 'industry'] = '机床工具'
|
|
290
358
|
company_info.loc[company_info.third_industry_code == '640103', 'industry'] = '磨具磨料'
|
|
291
359
|
company_info.loc[company_info.third_industry_code == '640105', 'industry'] = '制冷空调设备'
|
|
292
360
|
company_info.loc[company_info.third_industry_code == '640106', 'industry'] = '通用设备'
|
|
293
361
|
company_info.loc[company_info.third_industry_code == '640107', 'industry'] = '仪器仪表'
|
|
294
|
-
company_info.loc[company_info.third_industry_code == '640301', 'industry'] = '仪器仪表'
|
|
295
|
-
# todo 细分
|
|
296
362
|
company_info.loc[company_info.third_industry_code == '640108', 'industry'] = '金属制品'
|
|
363
|
+
|
|
364
|
+
company_info.loc[company_info.third_industry_code == '640101', 'second_sw_industry'] = '机床工具'
|
|
365
|
+
company_info.loc[company_info.third_industry_code == '640103', 'second_sw_industry'] = '磨具磨料'
|
|
366
|
+
company_info.loc[company_info.third_industry_code == '640105', 'second_sw_industry'] = '制冷空调设备'
|
|
367
|
+
company_info.loc[company_info.third_industry_code == '640106', 'second_sw_industry'] = '通用设备'
|
|
368
|
+
company_info.loc[company_info.third_industry_code == '640107', 'second_sw_industry'] = '仪器仪表'
|
|
369
|
+
company_info.loc[company_info.third_industry_code == '640108', 'second_sw_industry'] = '金属制品'
|
|
370
|
+
|
|
371
|
+
company_info.loc[company_info.third_industry_code == '640101', 'second_industry_code'] = '640101'
|
|
372
|
+
company_info.loc[company_info.third_industry_code == '640103', 'second_industry_code'] = '640103'
|
|
373
|
+
company_info.loc[company_info.third_industry_code == '640105', 'second_industry_code'] = '640105'
|
|
374
|
+
company_info.loc[company_info.third_industry_code == '640106', 'second_industry_code'] = '640106'
|
|
375
|
+
company_info.loc[company_info.third_industry_code == '640107', 'second_industry_code'] = '640107'
|
|
376
|
+
company_info.loc[company_info.third_industry_code == '640108', 'second_industry_code'] = '640108'
|
|
377
|
+
|
|
297
378
|
return company_info
|
|
298
379
|
|
|
299
380
|
|
|
300
|
-
def find_sw_third_industry(
|
|
301
|
-
sw_third_industry = mongodb_util.find_query_data('sw_industry', query={"_id":
|
|
381
|
+
def find_sw_third_industry(new_third_industry_code):
|
|
382
|
+
sw_third_industry = mongodb_util.find_query_data('sw_industry', query={"_id": new_third_industry_code})
|
|
302
383
|
first_sw_industry_name = list(sw_third_industry['first_sw_industry'])[0]
|
|
303
384
|
second_sw_industry_name = list(sw_third_industry['second_sw_industry'])[0]
|
|
304
385
|
|
|
@@ -317,8 +398,9 @@ def find_sw_third_industry(industry_id):
|
|
|
317
398
|
return sw_third_industry
|
|
318
399
|
|
|
319
400
|
|
|
320
|
-
|
|
321
|
-
|
|
401
|
+
# 修改行业信息
|
|
402
|
+
def fix_industry_data(new_third_industry_code, company_info):
|
|
403
|
+
sw_industry = find_sw_third_industry(new_third_industry_code)
|
|
322
404
|
company_info['first_sw_industry'] = sw_industry.first_sw_industry
|
|
323
405
|
company_info['first_industry_code'] = sw_industry.industry_code
|
|
324
406
|
company_info['second_sw_industry'] = sw_industry.second_sw_industry
|
|
@@ -328,24 +410,17 @@ def fix_industry_data(industry_id, company_info):
|
|
|
328
410
|
return company_info
|
|
329
411
|
|
|
330
412
|
|
|
413
|
+
# 手动修改股票行业代码
|
|
331
414
|
def fix_symbol_industry(company_info, symbol):
|
|
332
415
|
fix_symbol_df = get_fix_symbol_industry()
|
|
333
416
|
fix_symbol_df_one = fix_symbol_df.loc[fix_symbol_df['symbol'] == symbol]
|
|
334
417
|
if data_frame_util.is_not_empty(fix_symbol_df_one):
|
|
335
|
-
|
|
336
|
-
company_info = fix_industry_data(
|
|
418
|
+
new_third_industry_code = list(fix_symbol_df_one['new_industry_code'])[0]
|
|
419
|
+
company_info = fix_industry_data(new_third_industry_code, company_info)
|
|
337
420
|
|
|
338
421
|
return company_info
|
|
339
422
|
|
|
340
423
|
|
|
341
|
-
def fix_one_symbol():
|
|
342
|
-
symbol = '300483'
|
|
343
|
-
company_info = mongodb_util.find_query_data('company_info', query={'_id': symbol})
|
|
344
|
-
company_info = fix_symbol_industry(company_info, symbol)
|
|
345
|
-
company_info['industry'] = company_info['second_sw_industry']
|
|
346
|
-
mongodb_util.save_mongo(company_info, 'company_info')
|
|
347
|
-
|
|
348
|
-
|
|
349
424
|
def filed_sort(company_info):
|
|
350
425
|
return company_info[[
|
|
351
426
|
"_id",
|
|
@@ -410,6 +485,5 @@ def filed_sort(company_info):
|
|
|
410
485
|
|
|
411
486
|
|
|
412
487
|
if __name__ == '__main__':
|
|
413
|
-
|
|
414
|
-
industry_df_test = get_industry_final_fix_df()
|
|
488
|
+
industry_df_test = get_fix_industry_name_df()
|
|
415
489
|
print(industry_df_test)
|
|
@@ -196,7 +196,7 @@ def update_company_info(new_concept_symbol_df):
|
|
|
196
196
|
if new_concept_symbol_df.shape[0] > 0:
|
|
197
197
|
symbol_list = list(new_concept_symbol_df['symbol'])
|
|
198
198
|
company_info_sync_api.sync_company_base_info(symbol_list)
|
|
199
|
-
company_info_clean_api.
|
|
199
|
+
company_info_clean_api.clean_company_info(None)
|
|
200
200
|
# 公司缓存信息清除
|
|
201
201
|
company_common_service_api.company_info_industry_cache_clear()
|
|
202
202
|
|