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.

Files changed (157) hide show
  1. {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/PKG-INFO +1 -1
  2. {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/company_info/clean/company_info_clean_api.py +31 -11
  3. {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/company_info/constant/company_constant_data.py +222 -148
  4. {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
  5. mns_scheduler-1.2.3.7/mns_scheduler/industry/ths/ths_industry_index_service.py +58 -0
  6. mns_scheduler-1.2.3.7/mns_scheduler/industry/ths/ths_industry_sync_service.py +68 -0
  7. mns_scheduler-1.2.3.7/mns_scheduler/trade/tfp/__init__.py +7 -0
  8. mns_scheduler-1.2.3.7/mns_scheduler/zt/script/__init__.py +7 -0
  9. {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
  10. {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
  11. {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/zz_task/data_sync_task.py +14 -3
  12. {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler.egg-info/PKG-INFO +1 -1
  13. {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler.egg-info/SOURCES.txt +4 -0
  14. {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/setup.py +1 -1
  15. {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/README.md +0 -0
  16. {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/2014-2015-test/2014_2015_chg_statistics.py +0 -0
  17. {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/2014-2015-test/__init__.py +0 -0
  18. {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/__init__.py +0 -0
  19. {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/big_deal/__init__.py +0 -0
  20. {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/big_deal/ths_big_deal_sync.py +0 -0
  21. {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/company_info/__init__.py +0 -0
  22. {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/company_info/announce/__init__.py +0 -0
  23. {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/company_info/announce/company_announce_sync_service.py +0 -0
  24. {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/company_info/base/__init__.py +0 -0
  25. {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
  26. {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
  27. {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/company_info/clean/__init__.py +0 -0
  28. {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/company_info/constant/__init__.py +0 -0
  29. {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/company_info/de_list_stock/__init__.py +0 -0
  30. {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
  31. {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/company_info/remark/__init__.py +0 -0
  32. {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/company_info/remark/company_remark_info_sync.py +0 -0
  33. {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/concept/__init__.py +0 -0
  34. {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/concept/clean/__init__.py +0 -0
  35. {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/concept/clean/kpl_concept_clean_api.py +0 -0
  36. {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/concept/clean/ths_concept_clean_api.py +0 -0
  37. {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/concept/ths/__init__.py +0 -0
  38. {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/concept/ths/common/__init__.py +0 -0
  39. {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
  40. {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/concept/ths/detaill/__init__.py +0 -0
  41. {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/concept/ths/detaill/ths_concept_detail_api.py +0 -0
  42. {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/concept/ths/sync_new_index/__init__.py +0 -0
  43. {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
  44. {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/concept/ths/update_concept_info/__init__.py +0 -0
  45. {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
  46. {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
  47. {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/db/__init__.py +0 -0
  48. {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/db/col_move_service.py +0 -0
  49. {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/db/db_status.py +0 -0
  50. {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/db/real_time_task_check.py +0 -0
  51. {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/db/script/__init__.py +0 -0
  52. {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/db/script/col_move_script.py +0 -0
  53. {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/db/script/sync/__init__.py +0 -0
  54. {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/db/script/sync/local_mongo_util.py +0 -0
  55. {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
  56. {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/db/script/sync/remote_mongo_util.py +0 -0
  57. {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
  58. {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/debt/__init__.py +0 -0
  59. {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/debt/kzz_bond_info_sync.py +0 -0
  60. {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/dt/__init__.py +0 -0
  61. {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/dt/stock_dt_pool_sync.py +0 -0
  62. {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/finance/__init__.py +0 -0
  63. {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
  64. {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/finance/em_financial_profit_sync_service_api.py +0 -0
  65. {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/finance/finance_common_api.py +0 -0
  66. {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/finance/sync_financial_report_service_api.py +0 -0
  67. {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/hk/__init__.py +0 -0
  68. {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/hk/hk_company_info_sync_service_api.py +0 -0
  69. {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/hk/hk_industry_info_sync_service_api.py +0 -0
  70. {mns_scheduler-1.2.3.5/mns_scheduler/irm → mns_scheduler-1.2.3.7/mns_scheduler/industry}/__init__.py +0 -0
  71. {mns_scheduler-1.2.3.5/mns_scheduler/irm/api → mns_scheduler-1.2.3.7/mns_scheduler/industry/ths}/__init__.py +0 -0
  72. {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
  73. {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
  74. {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
  75. {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
  76. {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/irm/stock_irm_cninfo_service.py +0 -0
  77. {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/k_line/__init__.py +0 -0
  78. {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/k_line/clean/__init__.py +0 -0
  79. {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
  80. {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
  81. {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
  82. {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
  83. {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
  84. {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
  85. {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
  86. {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
  87. {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
  88. {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
  89. {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/k_line/sync/__init__.py +0 -0
  90. {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/k_line/sync/bfq_k_line_sync.py +0 -0
  91. {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
  92. {mns_scheduler-1.2.3.5/mns_scheduler/open → mns_scheduler-1.2.3.7/mns_scheduler/k_line/test}/__init__.py +0 -0
  93. {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
  94. {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/kpl/__init__.py +0 -0
  95. {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/kpl/selection/__init__.py +0 -0
  96. {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/kpl/selection/index/__init__.py +0 -0
  97. {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
  98. {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/kpl/selection/index/sync_best_choose_index.py +0 -0
  99. {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/kpl/selection/symbol/__init__.py +0 -0
  100. {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/kpl/selection/symbol/sync_best_choose_symbol.py +0 -0
  101. {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/kpl/selection/total/__init__.py +0 -0
  102. {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
  103. {mns_scheduler-1.2.3.5/mns_scheduler/risk → mns_scheduler-1.2.3.7/mns_scheduler/lhb}/__init__.py +0 -0
  104. {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/lhb/stock_lhb_sync_service.py +0 -0
  105. {mns_scheduler-1.2.3.5/mns_scheduler/risk/test → mns_scheduler-1.2.3.7/mns_scheduler/open}/__init__.py +0 -0
  106. {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
  107. {mns_scheduler-1.2.3.5/mns_scheduler/self_choose → mns_scheduler-1.2.3.7/mns_scheduler/risk}/__init__.py +0 -0
  108. {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/risk/compliance/__init__.py +0 -0
  109. {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/risk/compliance/undisclosed_annual_report_api.py +0 -0
  110. {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/risk/financial/__init__.py +0 -0
  111. {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/risk/financial/annual_report_audit_check_api.py +0 -0
  112. {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/risk/financial/net_assets_check_api.py +0 -0
  113. {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/risk/financial/profit_income_check_api.py +0 -0
  114. {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/risk/financial/stock_equity_mortgage_check_api.py +0 -0
  115. {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/risk/financial_report_risk_check_api.py +0 -0
  116. {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/risk/major_violations/__init__.py +0 -0
  117. {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
  118. {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/risk/self/__init__.py +0 -0
  119. {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/risk/self/wei_pan_stock_api.py +0 -0
  120. {mns_scheduler-1.2.3.5/mns_scheduler/trade/balance → mns_scheduler-1.2.3.7/mns_scheduler/risk/test}/__init__.py +0 -0
  121. {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/risk/test/fix_blask_list.py +0 -0
  122. {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/risk/transactions/__init__.py +0 -0
  123. {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/risk/transactions/transactions_check_api.py +0 -0
  124. {mns_scheduler-1.2.3.5/mns_scheduler/trade/tfp → mns_scheduler-1.2.3.7/mns_scheduler/self_choose}/__init__.py +0 -0
  125. {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/self_choose/ths_self_choose_service.py +0 -0
  126. {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/trade/__init__.py +0 -0
  127. {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/trade/auto_ipo_buy_api.py +0 -0
  128. {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/trade/auto_login/__init__.py +0 -0
  129. {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/trade/auto_login/trader_auto_service.py +0 -0
  130. {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/trade/auto_sell_service_api.py +0 -0
  131. {mns_scheduler-1.2.3.5/mns_scheduler/zt/script → mns_scheduler-1.2.3.7/mns_scheduler/trade/balance}/__init__.py +0 -0
  132. {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/trade/balance/ths_account_balance_service.py +0 -0
  133. {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/trade/sync_position_api.py +0 -0
  134. {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/trade/task/__init__.py +0 -0
  135. {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/trade/task/trader_task_service.py +0 -0
  136. {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/trade/tfp/stock_tfp_info_sync.py +0 -0
  137. {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/zb/__init__.py +0 -0
  138. {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/zb/stock_zb_pool_sync.py +0 -0
  139. {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/zt/__init__.py +0 -0
  140. {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/zt/connected_boards/__init__.py +0 -0
  141. {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
  142. {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/zt/export/__init__.py +0 -0
  143. {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
  144. {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/zt/high_chg/__init__.py +0 -0
  145. {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
  146. {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
  147. {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/zt/open_data/__init__.py +0 -0
  148. {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
  149. {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
  150. {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
  151. {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/zt/script/sync_now_higt_chg_zt.py +0 -0
  152. {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/zt/zt_pool/__init__.py +0 -0
  153. {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
  154. {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler/zz_task/__init__.py +0 -0
  155. {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler.egg-info/dependency_links.txt +0 -0
  156. {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/mns_scheduler.egg-info/top_level.txt +0 -0
  157. {mns_scheduler-1.2.3.5 → mns_scheduler-1.2.3.7}/setup.cfg +0 -0
@@ -1,3 +1,3 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: mns-scheduler
3
- Version: 1.2.3.5
3
+ Version: 1.2.3.7
@@ -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 fix_company_industry(symbol):
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
- # company_info = company_info.set_index(['second_sw_industry'], drop=False)
31
- # del company_info['industry']
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
- # company_info = company_constant_data.remove_industry_name_special(company_info)
34
- # industry_final_fix_df = industry_final_fix_df.set_index(['second_sw_industry'], drop=True)
35
- # company_info = pd.merge(company_info, industry_final_fix_df, how='outer',
36
- # left_index=True, right_index=True)
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('ths_stock_concept_detail', query)
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
- fix_company_industry(company_one.symbol)
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
- fix_company_industry('600230')
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', 'name', 'new_industry_code', 'new_industry'])
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
- # def remove_industry_name_special(industry_df):
62
- # industry_df['industry'] = industry_df['industry'].str.replace('Ⅱ', '', regex=False)
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
- def get_industry_final_fix_df():
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
- ['养殖业', '养殖业'], # merge 农林牧渔
90
- ['农产品加工', '农产品加工'], # merge 农林牧渔
91
- ['饲料', '饲料'], # merge to 农林牧渔
92
- ['渔业', '渔业'], # merge to 农林牧渔
93
- # merge 农林牧渔
133
+ # 农林牧渔 4
134
+ ['养殖业', '养殖业'],
135
+ ['农产品加工', '农产品加工'],
136
+ ['饲料', '饲料'],
137
+ ['渔业', '渔业'], # merge to 农业综合
94
138
  ['动物保健Ⅱ', '动物保健'],
95
139
  ['种植业', '种植业'],
96
- ['林业Ⅱ', '林业'], # merge 农林牧渔
97
- ['农业综合Ⅱ', '农业综合'], # merge 农林牧渔
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
- ['旅游零售Ⅱ', '旅游零售'], # m
155
+ ['专业连锁Ⅱ', '零售专业连锁'], # 专业连锁 综合Ⅱ
156
+ # ['旅游零售Ⅱ', '旅游零售'], # merge旅游及景区
113
157
 
114
- # 国防
115
- ['军工电子Ⅱ', '军工电子'], # todo merge 国防
116
- ['地面兵装Ⅱ', '地面兵装'], # todo merge 国防
158
+ # 国防 7
159
+ ['军工电子Ⅱ', '军工电子'],
160
+ ['地面兵装Ⅱ', '地面兵装'],
117
161
  ['航天装备Ⅱ', '航天装备'],
118
- ['航空装备Ⅱ', '航空装备'], # todo merge 国防
162
+ ['航空装备Ⅱ', '航空装备'],
119
163
  ['航海装备Ⅱ', '航海装备'],
120
164
 
121
- # 基础化工
165
+ # 基础化工 8
122
166
  ['化学制品', '化学制品'],
123
167
  ['化学原料', '化学原料'],
124
168
  ['化学纤维', '化学纤维'],
125
169
  ['农化制品', '化肥农药'],
126
170
  ['塑料', '塑料'],
127
- ['橡胶', '橡胶'], # todo exclude
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
- ['乘用车', '汽车整车'], # = merge 汽车整车
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
- ['普钢', '钢铁'], # merge 钢铁
221
- ['特钢Ⅱ', '钢铁'], # merge '钢铁'
222
- ['冶钢原料', '钢铁'], # merge to 钢铁
250
+ # 社会服务 21
251
+ ['专业服务', '社会专业服务'],
252
+ ['旅游及景区', '旅游及景区'],
253
+ ['酒店餐饮', '旅游酒店'],
254
+ ['教育', '教育'],
255
+ # ['体育Ⅱ', '体育'],
223
256
 
224
- # 有色金属
225
- ['能源金属', '能源金属'], # merge
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
- ['酒店餐饮', '旅游酒店'], # merge to 旅游酒店
270
+ # 计算机 25
271
+ ['计算机设备', '计算机设备'],
272
+ ['IT服务Ⅱ', 'IT服务'],
273
+ ['软件开发', '软件开发'],
248
274
 
249
- ['旅游及景区', '旅游酒店'], # merge 旅游酒店
275
+ # 轻工制造 26
276
+ ['造纸', '造纸'],
277
+ ['包装印刷', '包装印刷'], #
278
+ ['文娱用品', '文娱用品'], #
279
+ ['家居用品', '家居用品'],
250
280
 
251
- # 煤炭
252
- ['焦炭Ⅱ', '煤炭'], # merge to 煤炭
253
- ['煤炭开采', '煤炭'], # merge 煤炭
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
- ['专用设备', '专用设备'], # todo exclude
263
- ['通用设备', '通用设备'], # todo exclude
264
- ['专业服务', '专业服务'], # todo exclude 无法具体分类
296
+ # 非银金融 30
297
+ ['证券Ⅱ', '证券'],
298
+ ['保险Ⅱ', '保险'],
299
+ ['多元金融', '多元金融'],
265
300
 
266
- ['体育Ⅱ', '综合'], # merge 综合Ⅱ
267
- ['综合Ⅱ', '综合'] # todo exclude
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 == '630402', 'industry'] = '专用设备'
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(industry_id):
301
- sw_third_industry = mongodb_util.find_query_data('sw_industry', query={"_id": industry_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
- def fix_industry_data(industry_id, company_info):
321
- sw_industry = find_sw_third_industry(industry_id)
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
- new_industry_code = list(fix_symbol_df_one['new_industry_code'])[0]
336
- company_info = fix_industry_data(new_industry_code, company_info)
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
- fix_one_symbol()
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.fix_company_industry(None)
199
+ company_info_clean_api.clean_company_info(None)
200
200
  # 公司缓存信息清除
201
201
  company_common_service_api.company_info_industry_cache_clear()
202
202