mns-scheduler 1.1.2.5__tar.gz → 1.1.2.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.

Files changed (145) hide show
  1. {mns-scheduler-1.1.2.5 → mns_scheduler-1.1.2.8}/PKG-INFO +1 -1
  2. {mns-scheduler-1.1.2.5 → mns_scheduler-1.1.2.8}/mns_scheduler/company_info/base/sync_company_base_info_api.py +29 -1
  3. {mns-scheduler-1.1.2.5 → mns_scheduler-1.1.2.8}/mns_scheduler/company_info/clean/company_info_clean_api.py +5 -4
  4. {mns-scheduler-1.1.2.5 → mns_scheduler-1.1.2.8}/mns_scheduler/company_info/constant/company_constant_data.py +3 -1
  5. {mns-scheduler-1.1.2.5 → mns_scheduler-1.1.2.8}/mns_scheduler/db/col_move_service.py +1 -1
  6. {mns-scheduler-1.1.2.5 → mns_scheduler-1.1.2.8}/mns_scheduler/db/real_time_task_check.py +1 -1
  7. mns_scheduler-1.1.2.8/mns_scheduler/debt/kzz_bond_info_sync.py +33 -0
  8. {mns-scheduler-1.1.2.5 → mns_scheduler-1.1.2.8}/mns_scheduler/k_line/clean/week_month/sub_new_week_month_k_line_service.py +4 -1
  9. {mns-scheduler-1.1.2.5 → mns_scheduler-1.1.2.8}/mns_scheduler/k_line/test/k_line_info_clean_his_data.py +1 -1
  10. mns_scheduler-1.1.2.8/mns_scheduler/trade/auto_login/trader_auto_service.py +30 -0
  11. mns_scheduler-1.1.2.8/mns_scheduler/trade/task/__init__.py +7 -0
  12. mns_scheduler-1.1.2.8/mns_scheduler/trade/task/trader_task_service.py +48 -0
  13. mns_scheduler-1.1.2.8/mns_scheduler/zt/high_chg/__init__.py +7 -0
  14. mns_scheduler-1.1.2.8/mns_scheduler/zt/script/__init__.py +7 -0
  15. {mns-scheduler-1.1.2.5 → mns_scheduler-1.1.2.8}/mns_scheduler/zt/zt_pool/ths_zt_pool_sync_api.py +18 -15
  16. mns_scheduler-1.1.2.8/mns_scheduler/zz_task/__init__.py +7 -0
  17. {mns-scheduler-1.1.2.5 → mns_scheduler-1.1.2.8}/mns_scheduler/zz_task/data_sync_task.py +9 -0
  18. {mns-scheduler-1.1.2.5 → mns_scheduler-1.1.2.8}/mns_scheduler.egg-info/PKG-INFO +1 -1
  19. {mns-scheduler-1.1.2.5 → mns_scheduler-1.1.2.8}/mns_scheduler.egg-info/SOURCES.txt +6 -0
  20. {mns-scheduler-1.1.2.5 → mns_scheduler-1.1.2.8}/setup.py +1 -1
  21. mns-scheduler-1.1.2.5/mns_scheduler/db/__init__.py +0 -10
  22. {mns-scheduler-1.1.2.5 → mns_scheduler-1.1.2.8}/README.md +0 -0
  23. {mns-scheduler-1.1.2.5 → mns_scheduler-1.1.2.8}/mns_scheduler/__init__.py +0 -0
  24. {mns-scheduler-1.1.2.5 → mns_scheduler-1.1.2.8}/mns_scheduler/backup/__init__.py +0 -0
  25. {mns-scheduler-1.1.2.5 → mns_scheduler-1.1.2.8}/mns_scheduler/backup/data/__init__.py +0 -0
  26. {mns-scheduler-1.1.2.5 → mns_scheduler-1.1.2.8}/mns_scheduler/backup/data/collection_move.py +0 -0
  27. {mns-scheduler-1.1.2.5 → mns_scheduler-1.1.2.8}/mns_scheduler/backup/data/sync_data_to_local.py +0 -0
  28. {mns-scheduler-1.1.2.5 → mns_scheduler-1.1.2.8}/mns_scheduler/backup/data/sync_remote_by_str_day.py +0 -0
  29. {mns-scheduler-1.1.2.5 → mns_scheduler-1.1.2.8}/mns_scheduler/backup/em/__init__.py +0 -0
  30. {mns-scheduler-1.1.2.5 → mns_scheduler-1.1.2.8}/mns_scheduler/backup/em/em_new_concept_his_sync.py +0 -0
  31. {mns-scheduler-1.1.2.5 → mns_scheduler-1.1.2.8}/mns_scheduler/backup/em/em_new_concept_sync_common_api.py +0 -0
  32. {mns-scheduler-1.1.2.5 → mns_scheduler-1.1.2.8}/mns_scheduler/backup/em/em_new_concept_sync_web.py +0 -0
  33. {mns-scheduler-1.1.2.5 → mns_scheduler-1.1.2.8}/mns_scheduler/backup/ths/__init__.py +0 -0
  34. {mns-scheduler-1.1.2.5 → mns_scheduler-1.1.2.8}/mns_scheduler/backup/ths/sync_ths_concept_by_ak_api.py +0 -0
  35. {mns-scheduler-1.1.2.5 → mns_scheduler-1.1.2.8}/mns_scheduler/backup/ths/sync_ths_new_concept_by_web_api.py +0 -0
  36. {mns-scheduler-1.1.2.5 → mns_scheduler-1.1.2.8}/mns_scheduler/big_deal/__init__.py +0 -0
  37. {mns-scheduler-1.1.2.5 → mns_scheduler-1.1.2.8}/mns_scheduler/big_deal/ths_big_deal_sync.py +0 -0
  38. {mns-scheduler-1.1.2.5 → mns_scheduler-1.1.2.8}/mns_scheduler/company_info/__init__.py +0 -0
  39. {mns-scheduler-1.1.2.5 → mns_scheduler-1.1.2.8}/mns_scheduler/company_info/base/__init__.py +0 -0
  40. {mns-scheduler-1.1.2.5 → mns_scheduler-1.1.2.8}/mns_scheduler/company_info/clean/__init__.py +0 -0
  41. {mns-scheduler-1.1.2.5 → mns_scheduler-1.1.2.8}/mns_scheduler/company_info/constant/__init__.py +0 -0
  42. {mns-scheduler-1.1.2.5 → mns_scheduler-1.1.2.8}/mns_scheduler/company_info/de_list_stock/__init__.py +0 -0
  43. {mns-scheduler-1.1.2.5 → mns_scheduler-1.1.2.8}/mns_scheduler/company_info/de_list_stock/de_list_stock_service.py +0 -0
  44. {mns-scheduler-1.1.2.5 → mns_scheduler-1.1.2.8}/mns_scheduler/concept/__init__.py +0 -0
  45. {mns-scheduler-1.1.2.5 → mns_scheduler-1.1.2.8}/mns_scheduler/concept/clean/__init__.py +0 -0
  46. {mns-scheduler-1.1.2.5 → mns_scheduler-1.1.2.8}/mns_scheduler/concept/clean/kpl_concept_clean_api.py +0 -0
  47. {mns-scheduler-1.1.2.5 → mns_scheduler-1.1.2.8}/mns_scheduler/concept/clean/ths_concept_clean_api.py +0 -0
  48. {mns-scheduler-1.1.2.5 → mns_scheduler-1.1.2.8}/mns_scheduler/concept/common/__init__.py +0 -0
  49. {mns-scheduler-1.1.2.5 → mns_scheduler-1.1.2.8}/mns_scheduler/concept/common/detaill/__init__.py +0 -0
  50. {mns-scheduler-1.1.2.5 → mns_scheduler-1.1.2.8}/mns_scheduler/concept/common/detaill/ths_concept_detail_api.py +0 -0
  51. {mns-scheduler-1.1.2.5 → mns_scheduler-1.1.2.8}/mns_scheduler/concept/ths/__init__.py +0 -0
  52. {mns-scheduler-1.1.2.5 → mns_scheduler-1.1.2.8}/mns_scheduler/concept/ths/common/__init__.py +0 -0
  53. {mns-scheduler-1.1.2.5 → mns_scheduler-1.1.2.8}/mns_scheduler/concept/ths/common/ths_concept_sync_common_api.py +0 -0
  54. {mns-scheduler-1.1.2.5 → mns_scheduler-1.1.2.8}/mns_scheduler/concept/ths/common/ths_concept_update_common_api.py +0 -0
  55. {mns-scheduler-1.1.2.5 → mns_scheduler-1.1.2.8}/mns_scheduler/concept/ths/sync_new_index/__init__.py +0 -0
  56. {mns-scheduler-1.1.2.5 → mns_scheduler-1.1.2.8}/mns_scheduler/concept/ths/sync_new_index/sync_ths_concept_new_index_api.py +0 -0
  57. {mns-scheduler-1.1.2.5 → mns_scheduler-1.1.2.8}/mns_scheduler/concept/ths/update_concept_info/__init__.py +0 -0
  58. {mns-scheduler-1.1.2.5 → mns_scheduler-1.1.2.8}/mns_scheduler/concept/ths/update_concept_info/sync_one_concept_all_symbols_api.py +0 -0
  59. {mns-scheduler-1.1.2.5 → mns_scheduler-1.1.2.8}/mns_scheduler/concept/ths/update_concept_info/sync_one_symbol_all_concepts_api.py +0 -0
  60. {mns-scheduler-1.1.2.5/mns_scheduler/dt → mns_scheduler-1.1.2.8/mns_scheduler/db}/__init__.py +0 -0
  61. {mns-scheduler-1.1.2.5 → mns_scheduler-1.1.2.8}/mns_scheduler/db/db_status.py +0 -0
  62. {mns-scheduler-1.1.2.5/mns_scheduler/finance → mns_scheduler-1.1.2.8/mns_scheduler/debt}/__init__.py +0 -0
  63. {mns-scheduler-1.1.2.5/mns_scheduler/k_line/clean → mns_scheduler-1.1.2.8/mns_scheduler/dt}/__init__.py +0 -0
  64. {mns-scheduler-1.1.2.5 → mns_scheduler-1.1.2.8}/mns_scheduler/dt/stock_dt_pool_sync.py +0 -0
  65. {mns-scheduler-1.1.2.5/mns_scheduler/hk → mns_scheduler-1.1.2.8/mns_scheduler/finance}/__init__.py +0 -0
  66. {mns-scheduler-1.1.2.5 → mns_scheduler-1.1.2.8}/mns_scheduler/finance/em_financial_asset_liability_sync_service_api.py +0 -0
  67. {mns-scheduler-1.1.2.5 → mns_scheduler-1.1.2.8}/mns_scheduler/finance/em_financial_profit_sync_service_api.py +0 -0
  68. {mns-scheduler-1.1.2.5 → mns_scheduler-1.1.2.8}/mns_scheduler/finance/finance_common_api.py +0 -0
  69. {mns-scheduler-1.1.2.5 → mns_scheduler-1.1.2.8}/mns_scheduler/finance/sync_financial_report_service_api.py +0 -0
  70. {mns-scheduler-1.1.2.5/mns_scheduler/irm → mns_scheduler-1.1.2.8/mns_scheduler/hk}/__init__.py +0 -0
  71. {mns-scheduler-1.1.2.5 → mns_scheduler-1.1.2.8}/mns_scheduler/hk/hk_company_info_sync_service_api.py +0 -0
  72. {mns-scheduler-1.1.2.5/mns_scheduler/irm/api → mns_scheduler-1.1.2.8/mns_scheduler/irm}/__init__.py +0 -0
  73. {mns-scheduler-1.1.2.5/mns_scheduler/k_line/clean/daily → mns_scheduler-1.1.2.8/mns_scheduler/irm/api}/__init__.py +0 -0
  74. {mns-scheduler-1.1.2.5 → mns_scheduler-1.1.2.8}/mns_scheduler/irm/api/sh_stock_sns_sse_info_api.py +0 -0
  75. {mns-scheduler-1.1.2.5 → mns_scheduler-1.1.2.8}/mns_scheduler/irm/api/sz_stock_sns_sse_info_api.py +0 -0
  76. {mns-scheduler-1.1.2.5 → mns_scheduler-1.1.2.8}/mns_scheduler/irm/stock_irm_cninfo_service.py +0 -0
  77. {mns-scheduler-1.1.2.5 → mns_scheduler-1.1.2.8}/mns_scheduler/k_line/__init__.py +0 -0
  78. {mns-scheduler-1.1.2.5/mns_scheduler/kpl → mns_scheduler-1.1.2.8/mns_scheduler/k_line/clean}/__init__.py +0 -0
  79. {mns-scheduler-1.1.2.5/mns_scheduler/k_line/clean/week_month → mns_scheduler-1.1.2.8/mns_scheduler/k_line/clean/daily}/__init__.py +0 -0
  80. {mns-scheduler-1.1.2.5 → mns_scheduler-1.1.2.8}/mns_scheduler/k_line/clean/daily/daily_k_line_clean_common_service.py +0 -0
  81. {mns-scheduler-1.1.2.5 → mns_scheduler-1.1.2.8}/mns_scheduler/k_line/clean/daily/daily_k_line_service.py +0 -0
  82. {mns-scheduler-1.1.2.5 → mns_scheduler-1.1.2.8}/mns_scheduler/k_line/clean/k_line_info_clean_impl.py +0 -0
  83. {mns-scheduler-1.1.2.5 → mns_scheduler-1.1.2.8}/mns_scheduler/k_line/clean/k_line_info_clean_task.py +0 -0
  84. {mns-scheduler-1.1.2.5/mns_scheduler/k_line/hot_stocks → mns_scheduler-1.1.2.8/mns_scheduler/k_line/clean/week_month}/__init__.py +0 -0
  85. {mns-scheduler-1.1.2.5 → mns_scheduler-1.1.2.8}/mns_scheduler/k_line/clean/week_month/normal_week_month_k_line_service.py +0 -0
  86. {mns-scheduler-1.1.2.5/mns_scheduler/k_line/test → mns_scheduler-1.1.2.8/mns_scheduler/k_line/hot_stocks}/__init__.py +0 -0
  87. {mns-scheduler-1.1.2.5 → mns_scheduler-1.1.2.8}/mns_scheduler/k_line/hot_stocks/recent_hot_stocks_clean_service.py +0 -0
  88. {mns-scheduler-1.1.2.5 → mns_scheduler-1.1.2.8}/mns_scheduler/k_line/sync/__init__.py +0 -0
  89. {mns-scheduler-1.1.2.5 → mns_scheduler-1.1.2.8}/mns_scheduler/k_line/sync/bfq_k_line_sync.py +0 -0
  90. {mns-scheduler-1.1.2.5 → mns_scheduler-1.1.2.8}/mns_scheduler/k_line/sync/daily_week_month_line_sync.py +0 -0
  91. {mns-scheduler-1.1.2.5/mns_scheduler/lhb → mns_scheduler-1.1.2.8/mns_scheduler/k_line/test}/__init__.py +0 -0
  92. {mns-scheduler-1.1.2.5/mns_scheduler/kpl/selection → mns_scheduler-1.1.2.8/mns_scheduler/kpl}/__init__.py +0 -0
  93. {mns-scheduler-1.1.2.5/mns_scheduler/kpl/selection/index → mns_scheduler-1.1.2.8/mns_scheduler/kpl/selection}/__init__.py +0 -0
  94. {mns-scheduler-1.1.2.5/mns_scheduler/kpl/selection/symbol → mns_scheduler-1.1.2.8/mns_scheduler/kpl/selection/index}/__init__.py +0 -0
  95. {mns-scheduler-1.1.2.5 → mns_scheduler-1.1.2.8}/mns_scheduler/kpl/selection/index/sync_best_choose_his_index.py +0 -0
  96. {mns-scheduler-1.1.2.5 → mns_scheduler-1.1.2.8}/mns_scheduler/kpl/selection/index/sync_best_choose_index.py +0 -0
  97. {mns-scheduler-1.1.2.5/mns_scheduler/kpl/selection/total → mns_scheduler-1.1.2.8/mns_scheduler/kpl/selection/symbol}/__init__.py +0 -0
  98. {mns-scheduler-1.1.2.5 → mns_scheduler-1.1.2.8}/mns_scheduler/kpl/selection/symbol/sync_best_choose_symbol.py +0 -0
  99. {mns-scheduler-1.1.2.5/mns_scheduler/trade → mns_scheduler-1.1.2.8/mns_scheduler/kpl/selection/total}/__init__.py +0 -0
  100. {mns-scheduler-1.1.2.5 → mns_scheduler-1.1.2.8}/mns_scheduler/kpl/selection/total/sync_kpl_best_total_sync_api.py +0 -0
  101. {mns-scheduler-1.1.2.5/mns_scheduler/open → mns_scheduler-1.1.2.8/mns_scheduler/lhb}/__init__.py +0 -0
  102. {mns-scheduler-1.1.2.5 → mns_scheduler-1.1.2.8}/mns_scheduler/lhb/stock_lhb_sync_service.py +0 -0
  103. {mns-scheduler-1.1.2.5/mns_scheduler/risk → mns_scheduler-1.1.2.8/mns_scheduler/open}/__init__.py +0 -0
  104. {mns-scheduler-1.1.2.5 → mns_scheduler-1.1.2.8}/mns_scheduler/open/sync_one_day_open_data_to_db_service.py +0 -0
  105. {mns-scheduler-1.1.2.5/mns_scheduler/risk/test → mns_scheduler-1.1.2.8/mns_scheduler/risk}/__init__.py +0 -0
  106. {mns-scheduler-1.1.2.5 → mns_scheduler-1.1.2.8}/mns_scheduler/risk/compliance/__init__.py +0 -0
  107. {mns-scheduler-1.1.2.5 → mns_scheduler-1.1.2.8}/mns_scheduler/risk/compliance/undisclosed_annual_report_api.py +0 -0
  108. {mns-scheduler-1.1.2.5 → mns_scheduler-1.1.2.8}/mns_scheduler/risk/financial/__init__.py +0 -0
  109. {mns-scheduler-1.1.2.5 → mns_scheduler-1.1.2.8}/mns_scheduler/risk/financial/annual_report_audit_check_api.py +0 -0
  110. {mns-scheduler-1.1.2.5 → mns_scheduler-1.1.2.8}/mns_scheduler/risk/financial/net_assets_check_api.py +0 -0
  111. {mns-scheduler-1.1.2.5 → mns_scheduler-1.1.2.8}/mns_scheduler/risk/financial/profit_income_check_api.py +0 -0
  112. {mns-scheduler-1.1.2.5 → mns_scheduler-1.1.2.8}/mns_scheduler/risk/financial/stock_equity_mortgage_check_api.py +0 -0
  113. {mns-scheduler-1.1.2.5 → mns_scheduler-1.1.2.8}/mns_scheduler/risk/financial_report_risk_check_api.py +0 -0
  114. {mns-scheduler-1.1.2.5 → mns_scheduler-1.1.2.8}/mns_scheduler/risk/major_violations/__init__.py +0 -0
  115. {mns-scheduler-1.1.2.5 → mns_scheduler-1.1.2.8}/mns_scheduler/risk/major_violations/register_and_investigate_stock_sync_api.py +0 -0
  116. {mns-scheduler-1.1.2.5 → mns_scheduler-1.1.2.8}/mns_scheduler/risk/self/__init__.py +0 -0
  117. {mns-scheduler-1.1.2.5 → mns_scheduler-1.1.2.8}/mns_scheduler/risk/self/wei_pan_stock_api.py +0 -0
  118. {mns-scheduler-1.1.2.5/mns_scheduler/zt/script → mns_scheduler-1.1.2.8/mns_scheduler/risk/test}/__init__.py +0 -0
  119. {mns-scheduler-1.1.2.5 → mns_scheduler-1.1.2.8}/mns_scheduler/risk/test/fix_blask_list.py +0 -0
  120. {mns-scheduler-1.1.2.5 → mns_scheduler-1.1.2.8}/mns_scheduler/risk/transactions/__init__.py +0 -0
  121. {mns-scheduler-1.1.2.5 → mns_scheduler-1.1.2.8}/mns_scheduler/risk/transactions/transactions_check_api.py +0 -0
  122. {mns-scheduler-1.1.2.5/mns_scheduler/zt/high_chg → mns_scheduler-1.1.2.8/mns_scheduler/trade}/__init__.py +0 -0
  123. {mns-scheduler-1.1.2.5 → mns_scheduler-1.1.2.8}/mns_scheduler/trade/auto_ipo_buy_api.py +0 -0
  124. {mns-scheduler-1.1.2.5/mns_scheduler/zz_task → mns_scheduler-1.1.2.8/mns_scheduler/trade/auto_login}/__init__.py +0 -0
  125. {mns-scheduler-1.1.2.5 → mns_scheduler-1.1.2.8}/mns_scheduler/trade/auto_sell_service_api.py +0 -0
  126. {mns-scheduler-1.1.2.5 → mns_scheduler-1.1.2.8}/mns_scheduler/trade/sync_position_api.py +0 -0
  127. {mns-scheduler-1.1.2.5 → mns_scheduler-1.1.2.8}/mns_scheduler/zb/__init__.py +0 -0
  128. {mns-scheduler-1.1.2.5 → mns_scheduler-1.1.2.8}/mns_scheduler/zb/stock_zb_pool_sync.py +0 -0
  129. {mns-scheduler-1.1.2.5 → mns_scheduler-1.1.2.8}/mns_scheduler/zt/__init__.py +0 -0
  130. {mns-scheduler-1.1.2.5 → mns_scheduler-1.1.2.8}/mns_scheduler/zt/connected_boards/__init__.py +0 -0
  131. {mns-scheduler-1.1.2.5 → mns_scheduler-1.1.2.8}/mns_scheduler/zt/connected_boards/zt_five_boards_sync_api.py +0 -0
  132. {mns-scheduler-1.1.2.5 → mns_scheduler-1.1.2.8}/mns_scheduler/zt/export/__init__.py +0 -0
  133. {mns-scheduler-1.1.2.5 → mns_scheduler-1.1.2.8}/mns_scheduler/zt/export/export_kcx_high_chg_open_data_to_excel.py +0 -0
  134. {mns-scheduler-1.1.2.5 → mns_scheduler-1.1.2.8}/mns_scheduler/zt/high_chg/sync_high_chg_pool_service.py +0 -0
  135. {mns-scheduler-1.1.2.5 → mns_scheduler-1.1.2.8}/mns_scheduler/zt/high_chg/sync_high_chg_real_time_quotes_service.py +0 -0
  136. {mns-scheduler-1.1.2.5 → mns_scheduler-1.1.2.8}/mns_scheduler/zt/open_data/__init__.py +0 -0
  137. {mns-scheduler-1.1.2.5 → mns_scheduler-1.1.2.8}/mns_scheduler/zt/open_data/kcx_high_chg_open_data_sync.py +0 -0
  138. {mns-scheduler-1.1.2.5 → mns_scheduler-1.1.2.8}/mns_scheduler/zt/script/kcx_high_chg_open_his_data_handle.py +0 -0
  139. {mns-scheduler-1.1.2.5 → mns_scheduler-1.1.2.8}/mns_scheduler/zt/script/sync_high_chg_pool_his_data.py +0 -0
  140. {mns-scheduler-1.1.2.5 → mns_scheduler-1.1.2.8}/mns_scheduler/zt/script/sync_now_higt_chg_zt.py +0 -0
  141. {mns-scheduler-1.1.2.5 → mns_scheduler-1.1.2.8}/mns_scheduler/zt/zt_pool/__init__.py +0 -0
  142. {mns-scheduler-1.1.2.5 → mns_scheduler-1.1.2.8}/mns_scheduler/zt/zt_pool/em_zt_pool_sync_api.py +0 -0
  143. {mns-scheduler-1.1.2.5 → mns_scheduler-1.1.2.8}/mns_scheduler.egg-info/dependency_links.txt +0 -0
  144. {mns-scheduler-1.1.2.5 → mns_scheduler-1.1.2.8}/mns_scheduler.egg-info/top_level.txt +0 -0
  145. {mns-scheduler-1.1.2.5 → mns_scheduler-1.1.2.8}/setup.cfg +0 -0
@@ -1,3 +1,3 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: mns-scheduler
3
- Version: 1.1.2.5
3
+ Version: 1.1.2.8
@@ -21,6 +21,7 @@ import mns_common.api.kpl.constant.kpl_constant as kpl_constant
21
21
  import mns_common.component.company.company_common_service_api as company_common_service_api
22
22
  import mns_common.component.k_line.common.k_line_common_service_api as k_line_common_service_api
23
23
  import mns_common.constant.db_name_constant as db_name_constant
24
+ from functools import lru_cache
24
25
 
25
26
  mongodb_util = MongodbUtil('27017')
26
27
  # 分页大小
@@ -128,7 +129,7 @@ def sync_company_base_info(symbol_list):
128
129
  for page in range(page_number): # 0到100页
129
130
  end_count = (page + 1) * MAX_PAGE_NUMBER
130
131
  begin_count = page * MAX_PAGE_NUMBER
131
- page_df = east_money_stock_info.loc[begin_count:end_count]
132
+ page_df = east_money_stock_info.iloc[begin_count:end_count]
132
133
  thread = threading.Thread(target=single_thread_sync_company_info,
133
134
  args=(page_df, kpl_real_time_quotes, exist_company_df))
134
135
  threads.append(thread)
@@ -149,6 +150,7 @@ def single_thread_sync_company_info(east_money_stock_info,
149
150
  for company_one in east_money_stock_info.itertuples():
150
151
  try:
151
152
  company_info_type = ths_company_info_web.get_company_info_detail(company_one.symbol)
153
+ company_info_type = set_kzz_debt(company_info_type, company_one.symbol)
152
154
  company_info_type['first_industry_code'] = company_info_type['hycode'].apply(
153
155
  lambda x: x[1:3] + '0000')
154
156
  company_info_type['second_industry_code'] = company_info_type['hy2code'].apply(
@@ -271,6 +273,32 @@ def set_kpl_data(kpl_real_time_quotes_one, company_info_type, company_one):
271
273
  return company_info_type
272
274
 
273
275
 
276
+ # 获取可转债信息
277
+ @lru_cache(maxsize=None)
278
+ def get_kzz_debt_info():
279
+ query = {}
280
+ kzz_debt_info_df = mongodb_util.find_query_data(db_name_constant.KZZ_DEBT_INFO, query)
281
+ kzz_debt_info_df = kzz_debt_info_df[[
282
+ 'symbol',
283
+ 'name',
284
+ 'stock_code',
285
+ 'apply_date',
286
+ 'list_date',
287
+ 'due_date'
288
+ ]]
289
+ return kzz_debt_info_df
290
+
291
+
292
+ def set_kzz_debt(df, symbol):
293
+ kzz_debt_info_df_all = get_kzz_debt_info()
294
+ kzz_debt_info_df = kzz_debt_info_df_all.loc[kzz_debt_info_df_all['stock_code'] == symbol]
295
+ df.loc[:, 'kzz_debt_list'] = ''
296
+ if data_frame_util.is_not_empty(kzz_debt_info_df):
297
+ kzz_debt_info_df_list = kzz_debt_info_df.to_dict(orient='records')
298
+ df.at[0, 'kzz_debt_list'] = kzz_debt_info_df_list
299
+ return df
300
+
301
+
274
302
  # 保存申万行业分类
275
303
  def save_sw_data(company_info_type):
276
304
  now_date = datetime.now()
@@ -19,9 +19,6 @@ import mns_common.component.common_service_fun_api as common_service_fun_api
19
19
  import mns_common.component.company.company_common_service_api as company_common_service_api
20
20
 
21
21
 
22
-
23
-
24
-
25
22
  # 修改行业信息
26
23
  def fix_company_industry(symbol):
27
24
  if symbol is not None:
@@ -95,7 +92,7 @@ def save_company_info_his(company_info_df):
95
92
  tag = mongodb_util.remove_data(remove_query, db_name_constant.COMPANY_INFO_HIS)
96
93
  success = tag.acknowledged
97
94
  if success:
98
- mongodb_util.insert_mongo(company_info_df, db_name_constant.COMPANY_INFO_HIS)
95
+ mongodb_util.save_mongo(company_info_df, db_name_constant.COMPANY_INFO_HIS)
99
96
 
100
97
 
101
98
  # 更新新上市公司信息
@@ -110,3 +107,7 @@ def new_company_info_update():
110
107
  except BaseException as e:
111
108
  logger.error("出现异常:{}", e)
112
109
  company_common_service_api.company_info_industry_cache_clear
110
+
111
+
112
+ if __name__ == '__main__':
113
+ fix_company_industry(None)
@@ -32,6 +32,7 @@ def get_fix_symbol_industry():
32
32
  ['300215', '电科院', '410110', '电能综合服务'],
33
33
  # 持有上海微电子装备有限公司10%的股份 国产光刻机 主要炒作在芯片概念 不在房地产
34
34
  ['600895', '张江高科', '270108', '半导体设备'],
35
+ ['301112', '信邦智能', '640704', '其他自动化设备'],
35
36
 
36
37
  ],
37
38
  columns=['symbol', 'name', 'new_industry_code', 'new_industry'])
@@ -366,7 +367,8 @@ def filed_sort(company_info):
366
367
  "kpl_most_relative_name",
367
368
  "kpl_plate_list_info",
368
369
  'operate_profit',
369
- 'total_operate_income'
370
+ 'total_operate_income',
371
+ 'kzz_debt_list'
370
372
  ]]
371
373
 
372
374
 
@@ -112,4 +112,4 @@ if __name__ == '__main__':
112
112
  # sync_col_move('2024-05-28')
113
113
  # sync_col_move('2024-05-30')
114
114
  # sync_col_move('2024-05-31')
115
- sync_col_move('2024-06-21')
115
+ sync_col_move('2024-07-02')
@@ -53,7 +53,7 @@ def run_check_real_time_data_sync_status():
53
53
  return False
54
54
  flag = check_max_number()
55
55
  if bool(1 - flag):
56
- all_cmd_processes = cmd_util.get_cmd_processes()
56
+ all_cmd_processes = cmd_util.get_all_process()
57
57
  if data_frame_util.is_empty(all_cmd_processes):
58
58
  return None
59
59
  all_cmd_processes_real_time_task = get_real_time_quotes_task(all_cmd_processes)
@@ -0,0 +1,33 @@
1
+ import sys
2
+ import os
3
+
4
+ file_path = os.path.abspath(__file__)
5
+ end = file_path.index('mns') + 16
6
+ project_path = file_path[0:end]
7
+ sys.path.append(project_path)
8
+ import mns_common.api.em.east_money_debt_api as east_money_debt_api
9
+ from datetime import datetime
10
+ import mns_common.constant.db_name_constant as db_name_constant
11
+ from mns_common.db.MongodbUtil import MongodbUtil
12
+
13
+ mongodb_util = MongodbUtil('27017')
14
+
15
+
16
+ # 同步可转债信息
17
+ def sync_debt_info():
18
+ now_date = datetime.now()
19
+ str_now_day = now_date.strftime('%Y-%m-%d')
20
+ kzz_bond_info_df = east_money_debt_api.get_kzz_bond_info()
21
+ kzz_bond_info_df = kzz_bond_info_df.fillna(0)
22
+ kzz_bond_info_df['apply_date'] = kzz_bond_info_df['apply_date'].astype(str)
23
+ kzz_bond_info_df['winning_date'] = kzz_bond_info_df['winning_date'].astype(str)
24
+ kzz_bond_info_df['list_date'] = kzz_bond_info_df['list_date'].astype(str)
25
+ kzz_bond_info_df['due_date'] = kzz_bond_info_df['due_date'].astype(str)
26
+ kzz_bond_info_df = kzz_bond_info_df.loc[kzz_bond_info_df['due_date'] >= str_now_day]
27
+ mongodb_util.remove_all_data(db_name_constant.KZZ_DEBT_INFO)
28
+ kzz_bond_info_df['_id'] = kzz_bond_info_df['symbol']
29
+ mongodb_util.insert_mongo(kzz_bond_info_df, db_name_constant.KZZ_DEBT_INFO)
30
+
31
+
32
+ if __name__ == '__main__':
33
+ sync_debt_info()
@@ -33,7 +33,10 @@ def handle_month_line(k_line_info, stock_qfq_daily, deal_days):
33
33
  k_line_info['month01'] = month_01
34
34
  k_line_info['month02'] = month_02
35
35
  k_line_info['month01_date'] = list(stock_qfq_daily_month_01.iloc[0:1]['date'])[0]
36
- k_line_info['month02_date'] = list(stock_qfq_daily_month_02.iloc[0:1]['date'])[0]
36
+ if k_line_length != MAX_TRADE_DAYS_PER_MONTH:
37
+ k_line_info['month02_date'] = list(stock_qfq_daily_month_02.iloc[0:1]['date'])[0]
38
+ else:
39
+ k_line_info['month02_date'] = ''
37
40
  elif deal_days > MAX_TRADE_DAYS_PER_MONTH * 2:
38
41
  stock_qfq_daily_month_01 = stock_qfq_daily.iloc[0:MAX_TRADE_DAYS_PER_MONTH]
39
42
  month_01 = round(sum(stock_qfq_daily_month_01['chg']), 2)
@@ -26,5 +26,5 @@ def clean_history_data():
26
26
 
27
27
  if __name__ == '__main__':
28
28
  # 001389 001359
29
- k_line_info_clean_task.sync_k_line_info('2024-07-03', ['603227'])
29
+ k_line_info_clean_task.sync_k_line_info('2024-07-12', ['300784'])
30
30
  # clean_history_data()
@@ -0,0 +1,30 @@
1
+ import sys
2
+ import os
3
+
4
+ file_path = os.path.abspath(__file__)
5
+ end = file_path.index('mns') + 16
6
+ project_path = file_path[0:end]
7
+ sys.path.append(project_path)
8
+ import mns_common.component.deal.deal_service_api as deal_service_api
9
+ from mns_common.component.deal.terminal_enum import TerminalEnum
10
+ import time
11
+
12
+
13
+ # qmt 自动登录
14
+ def qmt_auto_login():
15
+ deal_service_api.auto_login(TerminalEnum.QMT.terminal_code)
16
+
17
+
18
+ # 同花顺自动登陆
19
+ def ths_auto_login():
20
+ deal_service_api.auto_login(TerminalEnum.EASY_TRADER.terminal_code)
21
+
22
+
23
+ def auto_login():
24
+ qmt_auto_login()
25
+ time.sleep(5)
26
+ ths_auto_login()
27
+
28
+
29
+ if __name__ == '__main__':
30
+ auto_login()
@@ -0,0 +1,7 @@
1
+ import sys
2
+ import os
3
+
4
+ file_path = os.path.abspath(__file__)
5
+ end = file_path.index('mns') + 17
6
+ project_path = file_path[0:end]
7
+ sys.path.append(project_path)
@@ -0,0 +1,48 @@
1
+ import sys
2
+ import os
3
+
4
+ file_path = os.path.abspath(__file__)
5
+ end = file_path.index('mns') + 16
6
+ project_path = file_path[0:end]
7
+ sys.path.append(project_path)
8
+ import mns_common.utils.cmd_util as cmd_util
9
+ import time
10
+ import mns_scheduler.trade.auto_login.trader_auto_service as trader_auto_service
11
+ import mns_common.utils.data_frame_util as data_frame_util
12
+ from loguru import logger
13
+
14
+ # 交易任务
15
+ TRADER_SERVER_PATH = 'H:\\mns-trader.bat'
16
+ # 实时行情同步任务 python名称
17
+ TRADER_SERVER_NAME = "mns_trader"
18
+
19
+
20
+ # 打开交易客户端
21
+ def open_trader_terminal():
22
+ # 打开任务进程
23
+ cmd_util.open_bat_file(TRADER_SERVER_PATH)
24
+ # 自动登陆
25
+ trader_auto_service.auto_login()
26
+ time.sleep(5)
27
+ # 需先打开同花顺终端在开始交易服务
28
+ kill_server()
29
+ time.sleep(5)
30
+ # 打开任务进程
31
+ cmd_util.open_bat_file(TRADER_SERVER_PATH)
32
+
33
+
34
+ def kill_server():
35
+ all_cmd_processes = cmd_util.get_all_process()
36
+ all_cmd_processes_trader = all_cmd_processes.loc[
37
+ (all_cmd_processes['total_info'].str.contains(TRADER_SERVER_NAME, case=False, na=False))]
38
+ if data_frame_util.is_not_empty(all_cmd_processes_trader):
39
+ for processes_one in all_cmd_processes_trader.itertuples():
40
+ try:
41
+ process_pid = processes_one.process_pid
42
+ cmd_util.kill_process_by_pid(process_pid)
43
+ except BaseException as e:
44
+ logger.error("杀死进程异常:{}", e)
45
+
46
+
47
+ if __name__ == '__main__':
48
+ open_trader_terminal()
@@ -0,0 +1,7 @@
1
+ import sys
2
+ import os
3
+
4
+ file_path = os.path.abspath(__file__)
5
+ end = file_path.index('mns') + 17
6
+ project_path = file_path[0:end]
7
+ sys.path.append(project_path)
@@ -0,0 +1,7 @@
1
+ import sys
2
+ import os
3
+
4
+ file_path = os.path.abspath(__file__)
5
+ end = file_path.index('mns') + 16
6
+ project_path = file_path[0:end]
7
+ sys.path.append(project_path)
@@ -17,6 +17,7 @@ import mns_common.api.akshare.k_line_api as k_line_api
17
17
  import mns_common.utils.date_handle_util as date_handle_util
18
18
  from mns_common.db.MongodbUtil import MongodbUtil
19
19
  import mns_common.constant.db_name_constant as db_name_constant
20
+ import time
20
21
 
21
22
  mongodb_util = MongodbUtil('27017')
22
23
 
@@ -226,20 +227,22 @@ def save_ths_zt_pool(ths_zt_pool_df, str_day):
226
227
 
227
228
 
228
229
  if __name__ == '__main__':
229
- trade_date = '2024-06-21'
230
+ trade_date = '2015-05-28'
230
231
  zt_df = ths_zt_pool(trade_date, None)
231
232
  save_ths_zt_pool(zt_df, trade_date)
232
- # while True:
233
- # query = {"$and": [{'_id': {"$gte": '2013-07-04'}}, {'_id': {"$lte": '2019-07-04'}}]}
234
- #
235
- # trade_date_list = mongodb_util.find_query_data('trade_date_list', query)
236
- # trade_date_list = trade_date_list.sort_values(by=['trade_date'], ascending=False)
237
- # for trade_one in trade_date_list.itertuples():
238
- # try:
239
- # trade_date = trade_one.trade_date
240
- # zt_df = ths_zt_pool(trade_date, None)
241
- # # zt_df = mongodb_util.find_query_data(db_name_constant.THS_ZT_POOL, query={"str_day": trade_date})
242
- # save_ths_zt_pool(zt_df, trade_date)
243
- # logger.info("同步到日期:{}", trade_date)
244
- # except BaseException as e:
245
- # logger.warning("同步涨停到日期:{},{}", trade_one.trade_date, e)
233
+ while True:
234
+ query = {"$and": [{'_id': {"$gte": '2013-07-04'}}, {'_id': {"$lte": '2015-05-05'}}]}
235
+
236
+ trade_date_list = mongodb_util.find_query_data('trade_date_list', query)
237
+ trade_date_list = trade_date_list.sort_values(by=['trade_date'], ascending=False)
238
+ for trade_one in trade_date_list.itertuples():
239
+ try:
240
+ trade_date = trade_one.trade_date
241
+ zt_df = ths_zt_pool(trade_date, None)
242
+
243
+ # zt_df = mongodb_util.find_query_data(db_name_constant.THS_ZT_POOL, query={"str_day": trade_date})
244
+ save_ths_zt_pool(zt_df, trade_date)
245
+ logger.info("同步到日期:{}", trade_date)
246
+ time.sleep(2)
247
+ except BaseException as e:
248
+ logger.warning("同步涨停到日期:{},{}", trade_one.trade_date, e)
@@ -0,0 +1,7 @@
1
+ import sys
2
+ import os
3
+
4
+ file_path = os.path.abspath(__file__)
5
+ end = file_path.index('mns') + 17
6
+ project_path = file_path[0:end]
7
+ sys.path.append(project_path)
@@ -49,6 +49,7 @@ import mns_scheduler.concept.ths.sync_new_index.sync_ths_concept_new_index_api a
49
49
  import mns_scheduler.company_info.clean.company_info_clean_api as company_info_clean_api
50
50
  import mns_scheduler.zt.zt_pool.ths_zt_pool_sync_api as ths_zt_pool_sync_api
51
51
  import mns_scheduler.db.real_time_task_check as real_time_task_check_api
52
+ import mns_scheduler.trade.task.trader_task_service as trader_task_service
52
53
 
53
54
 
54
55
  # 同步交易日期任务完成
@@ -348,6 +349,11 @@ def real_time_task_check_status():
348
349
  real_time_task_check_api.run_check_real_time_data_sync_status()
349
350
 
350
351
 
352
+ # 打开交易客户端
353
+ def trader_client_auto_login():
354
+ trader_task_service.open_trader_terminal()
355
+
356
+
351
357
  # # 定义BlockingScheduler
352
358
  blockingScheduler = BlockingScheduler()
353
359
  # sync_trade_date 同步交易日期
@@ -429,6 +435,9 @@ blockingScheduler.add_job(sync_all_interactive_questions, 'cron', hour='08,12,17
429
435
  # 实时数据状态同步check
430
436
  blockingScheduler.add_job(real_time_task_check_status, 'interval', seconds=59, max_instances=4)
431
437
 
438
+ # 打开交易客户端
439
+ blockingScheduler.add_job(trader_client_auto_login, 'cron', hour='09,12', minute='05')
440
+
432
441
  print('定时任务启动成功')
433
442
  blockingScheduler.start()
434
443
  #
@@ -1,3 +1,3 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: mns-scheduler
3
- Version: 1.1.2.5
3
+ Version: 1.1.2.8
@@ -48,6 +48,8 @@ mns_scheduler/db/__init__.py
48
48
  mns_scheduler/db/col_move_service.py
49
49
  mns_scheduler/db/db_status.py
50
50
  mns_scheduler/db/real_time_task_check.py
51
+ mns_scheduler/debt/__init__.py
52
+ mns_scheduler/debt/kzz_bond_info_sync.py
51
53
  mns_scheduler/dt/__init__.py
52
54
  mns_scheduler/dt/stock_dt_pool_sync.py
53
55
  mns_scheduler/finance/__init__.py
@@ -113,6 +115,10 @@ mns_scheduler/trade/__init__.py
113
115
  mns_scheduler/trade/auto_ipo_buy_api.py
114
116
  mns_scheduler/trade/auto_sell_service_api.py
115
117
  mns_scheduler/trade/sync_position_api.py
118
+ mns_scheduler/trade/auto_login/__init__.py
119
+ mns_scheduler/trade/auto_login/trader_auto_service.py
120
+ mns_scheduler/trade/task/__init__.py
121
+ mns_scheduler/trade/task/trader_task_service.py
116
122
  mns_scheduler/zb/__init__.py
117
123
  mns_scheduler/zb/stock_zb_pool_sync.py
118
124
  mns_scheduler/zt/__init__.py
@@ -2,7 +2,7 @@ from setuptools import setup, find_packages
2
2
 
3
3
  setup(
4
4
  name='mns-scheduler',
5
- version='1.1.2.5',
5
+ version='1.1.2.8',
6
6
  packages=find_packages(),
7
7
  install_requires=[], # 如果有依赖项,可以在这里列出
8
8
  )
@@ -1,10 +0,0 @@
1
- import sys
2
- import os
3
-
4
- file_path = os.path.abspath(__file__)
5
- end = file_path.index('mns') + 17
6
- project_path = file_path[0:end]
7
- sys.path.append(project_path)
8
- import os
9
-
10
- os.system("exit")