mns-scheduler 1.3.0.3__tar.gz → 1.3.0.6__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 (194) hide show
  1. {mns-scheduler-1.3.0.3 → mns-scheduler-1.3.0.6}/PKG-INFO +1 -1
  2. mns-scheduler-1.3.0.6/mns_scheduler/extraIncome/hk/hk_stock_qfq_daily_k_line.py +97 -0
  3. mns-scheduler-1.3.0.6/mns_scheduler/extraIncome/us/us_stock_qfq_daily_k_line.py +95 -0
  4. {mns-scheduler-1.3.0.3 → mns-scheduler-1.3.0.6}/mns_scheduler/hk/hk_company_info_sync_service_api.py +1 -0
  5. mns-scheduler-1.3.0.6/mns_scheduler/zt/script/__init__.py +7 -0
  6. {mns-scheduler-1.3.0.3 → mns-scheduler-1.3.0.6}/mns_scheduler/zz_task/data_sync_task.py +21 -0
  7. {mns-scheduler-1.3.0.3 → mns-scheduler-1.3.0.6}/mns_scheduler.egg-info/PKG-INFO +1 -1
  8. {mns-scheduler-1.3.0.3 → mns-scheduler-1.3.0.6}/mns_scheduler.egg-info/SOURCES.txt +4 -5
  9. {mns-scheduler-1.3.0.3 → mns-scheduler-1.3.0.6}/setup.py +1 -1
  10. mns-scheduler-1.3.0.3/mns_scheduler/extraIncome/temp/tu_share_data_etf_sync.py +0 -103
  11. mns-scheduler-1.3.0.3/mns_scheduler/extraIncome/temp/tu_share_data_kzz_sync.py +0 -113
  12. mns-scheduler-1.3.0.3/mns_scheduler/extraIncome/temp/tu_share_data_stock_sync.py +0 -137
  13. mns-scheduler-1.3.0.3/mns_scheduler/extraIncome/temp/tu_share_zhi_shu_sync_api.py +0 -107
  14. {mns-scheduler-1.3.0.3 → mns-scheduler-1.3.0.6}/README.md +0 -0
  15. {mns-scheduler-1.3.0.3 → mns-scheduler-1.3.0.6}/mns_scheduler/__init__.py +0 -0
  16. {mns-scheduler-1.3.0.3 → mns-scheduler-1.3.0.6}/mns_scheduler/baidu/__init__.py +0 -0
  17. {mns-scheduler-1.3.0.3 → mns-scheduler-1.3.0.6}/mns_scheduler/baidu/baidu_yun_pan_handle_service.py +0 -0
  18. {mns-scheduler-1.3.0.3 → mns-scheduler-1.3.0.6}/mns_scheduler/big_deal/__init__.py +0 -0
  19. {mns-scheduler-1.3.0.3 → mns-scheduler-1.3.0.6}/mns_scheduler/big_deal/ths_big_deal_sync.py +0 -0
  20. {mns-scheduler-1.3.0.3 → mns-scheduler-1.3.0.6}/mns_scheduler/company_info/__init__.py +0 -0
  21. {mns-scheduler-1.3.0.3 → mns-scheduler-1.3.0.6}/mns_scheduler/company_info/announce/__init__.py +0 -0
  22. {mns-scheduler-1.3.0.3 → mns-scheduler-1.3.0.6}/mns_scheduler/company_info/announce/company_announce_sync_service.py +0 -0
  23. {mns-scheduler-1.3.0.3 → mns-scheduler-1.3.0.6}/mns_scheduler/company_info/base/__init__.py +0 -0
  24. {mns-scheduler-1.3.0.3 → mns-scheduler-1.3.0.6}/mns_scheduler/company_info/base/sync_company_base_info_api.py +0 -0
  25. {mns-scheduler-1.3.0.3 → mns-scheduler-1.3.0.6}/mns_scheduler/company_info/base/sync_company_hold_info_api.py +0 -0
  26. {mns-scheduler-1.3.0.3 → mns-scheduler-1.3.0.6}/mns_scheduler/company_info/clean/__init__.py +0 -0
  27. {mns-scheduler-1.3.0.3 → mns-scheduler-1.3.0.6}/mns_scheduler/company_info/clean/company_info_clean_api.py +0 -0
  28. {mns-scheduler-1.3.0.3 → mns-scheduler-1.3.0.6}/mns_scheduler/company_info/constant/__init__.py +0 -0
  29. {mns-scheduler-1.3.0.3 → mns-scheduler-1.3.0.6}/mns_scheduler/company_info/constant/company_constant_data.py +0 -0
  30. {mns-scheduler-1.3.0.3 → mns-scheduler-1.3.0.6}/mns_scheduler/company_info/de_list_stock/__init__.py +0 -0
  31. {mns-scheduler-1.3.0.3 → mns-scheduler-1.3.0.6}/mns_scheduler/company_info/de_list_stock/de_list_stock_service.py +0 -0
  32. {mns-scheduler-1.3.0.3 → mns-scheduler-1.3.0.6}/mns_scheduler/company_info/em_stock_info/__init__.py +0 -0
  33. {mns-scheduler-1.3.0.3 → mns-scheduler-1.3.0.6}/mns_scheduler/company_info/em_stock_info/sync_em_stock_info_sync.py +0 -0
  34. {mns-scheduler-1.3.0.3 → mns-scheduler-1.3.0.6}/mns_scheduler/company_info/remark/__init__.py +0 -0
  35. {mns-scheduler-1.3.0.3 → mns-scheduler-1.3.0.6}/mns_scheduler/company_info/remark/company_remark_info_sync.py +0 -0
  36. {mns-scheduler-1.3.0.3 → mns-scheduler-1.3.0.6}/mns_scheduler/concept/__init__.py +0 -0
  37. {mns-scheduler-1.3.0.3 → mns-scheduler-1.3.0.6}/mns_scheduler/concept/clean/__init__.py +0 -0
  38. {mns-scheduler-1.3.0.3 → mns-scheduler-1.3.0.6}/mns_scheduler/concept/clean/kpl_concept_clean_api.py +0 -0
  39. {mns-scheduler-1.3.0.3 → mns-scheduler-1.3.0.6}/mns_scheduler/concept/clean/ths_concept_clean_api.py +0 -0
  40. {mns-scheduler-1.3.0.3 → mns-scheduler-1.3.0.6}/mns_scheduler/concept/ths/__init__.py +0 -0
  41. {mns-scheduler-1.3.0.3 → mns-scheduler-1.3.0.6}/mns_scheduler/concept/ths/common/__init__.py +0 -0
  42. {mns-scheduler-1.3.0.3 → mns-scheduler-1.3.0.6}/mns_scheduler/concept/ths/common/ths_concept_sync_common_api.py +0 -0
  43. {mns-scheduler-1.3.0.3 → mns-scheduler-1.3.0.6}/mns_scheduler/concept/ths/common/ths_concept_update_common_api.py +0 -0
  44. {mns-scheduler-1.3.0.3 → mns-scheduler-1.3.0.6}/mns_scheduler/concept/ths/detaill/__init__.py +0 -0
  45. {mns-scheduler-1.3.0.3 → mns-scheduler-1.3.0.6}/mns_scheduler/concept/ths/detaill/ths_concept_detail_api.py +0 -0
  46. {mns-scheduler-1.3.0.3 → mns-scheduler-1.3.0.6}/mns_scheduler/concept/ths/sync_new_index/__init__.py +0 -0
  47. {mns-scheduler-1.3.0.3 → mns-scheduler-1.3.0.6}/mns_scheduler/concept/ths/sync_new_index/sync_ths_concept_new_index_api.py +0 -0
  48. {mns-scheduler-1.3.0.3 → mns-scheduler-1.3.0.6}/mns_scheduler/concept/ths/update_concept_info/__init__.py +0 -0
  49. {mns-scheduler-1.3.0.3 → mns-scheduler-1.3.0.6}/mns_scheduler/concept/ths/update_concept_info/sync_one_concept_all_symbols_api.py +0 -0
  50. {mns-scheduler-1.3.0.3 → mns-scheduler-1.3.0.6}/mns_scheduler/concept/ths/update_concept_info/sync_one_symbol_all_concepts_api.py +0 -0
  51. {mns-scheduler-1.3.0.3 → mns-scheduler-1.3.0.6}/mns_scheduler/db/__init__.py +0 -0
  52. {mns-scheduler-1.3.0.3 → mns-scheduler-1.3.0.6}/mns_scheduler/db/col_move_service.py +0 -0
  53. {mns-scheduler-1.3.0.3 → mns-scheduler-1.3.0.6}/mns_scheduler/db/db_status.py +0 -0
  54. {mns-scheduler-1.3.0.3 → mns-scheduler-1.3.0.6}/mns_scheduler/db/script/__init__.py +0 -0
  55. {mns-scheduler-1.3.0.3 → mns-scheduler-1.3.0.6}/mns_scheduler/db/script/col_move_script.py +0 -0
  56. {mns-scheduler-1.3.0.3 → mns-scheduler-1.3.0.6}/mns_scheduler/db/script/db_move/__init__.py +0 -0
  57. {mns-scheduler-1.3.0.3 → mns-scheduler-1.3.0.6}/mns_scheduler/db/script/db_move/col_move_one_service.py +0 -0
  58. {mns-scheduler-1.3.0.3 → mns-scheduler-1.3.0.6}/mns_scheduler/db/script/sync/__init__.py +0 -0
  59. {mns-scheduler-1.3.0.3 → mns-scheduler-1.3.0.6}/mns_scheduler/db/script/sync/local_mongo_util.py +0 -0
  60. {mns-scheduler-1.3.0.3 → mns-scheduler-1.3.0.6}/mns_scheduler/db/script/sync/remote_data_sync_to_local.py +0 -0
  61. {mns-scheduler-1.3.0.3 → mns-scheduler-1.3.0.6}/mns_scheduler/db/script/sync/remote_mongo_util.py +0 -0
  62. {mns-scheduler-1.3.0.3 → mns-scheduler-1.3.0.6}/mns_scheduler/db/script/sync/sync_hui_ce_test_data.py +0 -0
  63. {mns-scheduler-1.3.0.3 → mns-scheduler-1.3.0.6}/mns_scheduler/db/script/sync/sync_hui_ce_test_data_01.py +0 -0
  64. {mns-scheduler-1.3.0.3 → mns-scheduler-1.3.0.6}/mns_scheduler/db/script/update/__init__.py +0 -0
  65. {mns-scheduler-1.3.0.3 → mns-scheduler-1.3.0.6}/mns_scheduler/db/script/update/update_col_field.py +0 -0
  66. {mns-scheduler-1.3.0.3 → mns-scheduler-1.3.0.6}/mns_scheduler/debt/__init__.py +0 -0
  67. {mns-scheduler-1.3.0.3 → mns-scheduler-1.3.0.6}/mns_scheduler/debt/kzz_bond_info_sync.py +0 -0
  68. {mns-scheduler-1.3.0.3 → mns-scheduler-1.3.0.6}/mns_scheduler/dt/__init__.py +0 -0
  69. {mns-scheduler-1.3.0.3 → mns-scheduler-1.3.0.6}/mns_scheduler/dt/stock_dt_pool_sync.py +0 -0
  70. {mns-scheduler-1.3.0.3 → mns-scheduler-1.3.0.6}/mns_scheduler/extraIncome/__init__.py +0 -0
  71. {mns-scheduler-1.3.0.3/mns_scheduler/extraIncome/one_minute → mns-scheduler-1.3.0.6/mns_scheduler/extraIncome/hk}/__init__.py +0 -0
  72. {mns-scheduler-1.3.0.3/mns_scheduler/extraIncome/one_minute/common → mns-scheduler-1.3.0.6/mns_scheduler/extraIncome/one_minute}/__init__.py +0 -0
  73. {mns-scheduler-1.3.0.3/mns_scheduler/extraIncome/one_minute/etf → mns-scheduler-1.3.0.6/mns_scheduler/extraIncome/one_minute/common}/__init__.py +0 -0
  74. {mns-scheduler-1.3.0.3 → mns-scheduler-1.3.0.6}/mns_scheduler/extraIncome/one_minute/common/db_create_index.py +0 -0
  75. {mns-scheduler-1.3.0.3 → mns-scheduler-1.3.0.6}/mns_scheduler/extraIncome/one_minute/common/symbol_handle_util.py +0 -0
  76. {mns-scheduler-1.3.0.3/mns_scheduler/extraIncome/one_minute/index → mns-scheduler-1.3.0.6/mns_scheduler/extraIncome/one_minute/etf}/__init__.py +0 -0
  77. {mns-scheduler-1.3.0.3 → mns-scheduler-1.3.0.6}/mns_scheduler/extraIncome/one_minute/etf/etf_one_minute_sync_task.py +0 -0
  78. {mns-scheduler-1.3.0.3/mns_scheduler/extraIncome/one_minute/kzz → mns-scheduler-1.3.0.6/mns_scheduler/extraIncome/one_minute/index}/__init__.py +0 -0
  79. {mns-scheduler-1.3.0.3 → mns-scheduler-1.3.0.6}/mns_scheduler/extraIncome/one_minute/index/main_index_sync_task.py +0 -0
  80. {mns-scheduler-1.3.0.3/mns_scheduler/extraIncome/one_minute/stock → mns-scheduler-1.3.0.6/mns_scheduler/extraIncome/one_minute/kzz}/__init__.py +0 -0
  81. {mns-scheduler-1.3.0.3 → mns-scheduler-1.3.0.6}/mns_scheduler/extraIncome/one_minute/kzz/kzz_one_minute_sync_task.py +0 -0
  82. {mns-scheduler-1.3.0.3 → mns-scheduler-1.3.0.6}/mns_scheduler/extraIncome/one_minute/one_minute_sync_task.py +0 -0
  83. {mns-scheduler-1.3.0.3/mns_scheduler/extraIncome/one_minute/upload → mns-scheduler-1.3.0.6/mns_scheduler/extraIncome/one_minute/stock}/__init__.py +0 -0
  84. {mns-scheduler-1.3.0.3 → mns-scheduler-1.3.0.6}/mns_scheduler/extraIncome/one_minute/stock/stock_one_minute_sync_task.py +0 -0
  85. {mns-scheduler-1.3.0.3/mns_scheduler/extraIncome/temp → mns-scheduler-1.3.0.6/mns_scheduler/extraIncome/one_minute/upload}/__init__.py +0 -0
  86. {mns-scheduler-1.3.0.3 → mns-scheduler-1.3.0.6}/mns_scheduler/extraIncome/one_minute/upload/upload_to_baidu_task.py +0 -0
  87. {mns-scheduler-1.3.0.3/mns_scheduler/finance → mns-scheduler-1.3.0.6/mns_scheduler/extraIncome/us}/__init__.py +0 -0
  88. {mns-scheduler-1.3.0.3/mns_scheduler/hk → mns-scheduler-1.3.0.6/mns_scheduler/finance}/__init__.py +0 -0
  89. {mns-scheduler-1.3.0.3 → mns-scheduler-1.3.0.6}/mns_scheduler/finance/em_financial_asset_liability_sync_service_api.py +0 -0
  90. {mns-scheduler-1.3.0.3 → mns-scheduler-1.3.0.6}/mns_scheduler/finance/em_financial_profit_sync_service_api.py +0 -0
  91. {mns-scheduler-1.3.0.3 → mns-scheduler-1.3.0.6}/mns_scheduler/finance/finance_common_api.py +0 -0
  92. {mns-scheduler-1.3.0.3 → mns-scheduler-1.3.0.6}/mns_scheduler/finance/sync_financial_report_service_api.py +0 -0
  93. {mns-scheduler-1.3.0.3/mns_scheduler/industry → mns-scheduler-1.3.0.6/mns_scheduler/hk}/__init__.py +0 -0
  94. {mns-scheduler-1.3.0.3 → mns-scheduler-1.3.0.6}/mns_scheduler/hk/hk_industry_info_sync_service_api.py +0 -0
  95. {mns-scheduler-1.3.0.3/mns_scheduler/industry/ths → mns-scheduler-1.3.0.6/mns_scheduler/industry}/__init__.py +0 -0
  96. {mns-scheduler-1.3.0.3/mns_scheduler/irm → mns-scheduler-1.3.0.6/mns_scheduler/industry/ths}/__init__.py +0 -0
  97. {mns-scheduler-1.3.0.3 → mns-scheduler-1.3.0.6}/mns_scheduler/industry/ths/ths_industry_index_service.py +0 -0
  98. {mns-scheduler-1.3.0.3 → mns-scheduler-1.3.0.6}/mns_scheduler/industry/ths/ths_industry_sync_service.py +0 -0
  99. {mns-scheduler-1.3.0.3/mns_scheduler/irm/api → mns-scheduler-1.3.0.6/mns_scheduler/irm}/__init__.py +0 -0
  100. {mns-scheduler-1.3.0.3/mns_scheduler/k_line/clean/daily → mns-scheduler-1.3.0.6/mns_scheduler/irm/api}/__init__.py +0 -0
  101. {mns-scheduler-1.3.0.3 → mns-scheduler-1.3.0.6}/mns_scheduler/irm/api/sh_stock_sns_sse_info_api.py +0 -0
  102. {mns-scheduler-1.3.0.3 → mns-scheduler-1.3.0.6}/mns_scheduler/irm/api/sz_stock_sns_sse_info_api.py +0 -0
  103. {mns-scheduler-1.3.0.3 → mns-scheduler-1.3.0.6}/mns_scheduler/irm/stock_irm_cninfo_service.py +0 -0
  104. {mns-scheduler-1.3.0.3 → mns-scheduler-1.3.0.6}/mns_scheduler/k_line/__init__.py +0 -0
  105. {mns-scheduler-1.3.0.3 → mns-scheduler-1.3.0.6}/mns_scheduler/k_line/clean/__init__.py +0 -0
  106. {mns-scheduler-1.3.0.3/mns_scheduler/k_line/clean/week_month → mns-scheduler-1.3.0.6/mns_scheduler/k_line/clean/daily}/__init__.py +0 -0
  107. {mns-scheduler-1.3.0.3 → mns-scheduler-1.3.0.6}/mns_scheduler/k_line/clean/daily/daily_k_line_clean_common_service.py +0 -0
  108. {mns-scheduler-1.3.0.3 → mns-scheduler-1.3.0.6}/mns_scheduler/k_line/clean/daily/daily_k_line_service.py +0 -0
  109. {mns-scheduler-1.3.0.3 → mns-scheduler-1.3.0.6}/mns_scheduler/k_line/clean/k_line_info_clean_impl.py +0 -0
  110. {mns-scheduler-1.3.0.3 → mns-scheduler-1.3.0.6}/mns_scheduler/k_line/clean/k_line_info_clean_task.py +0 -0
  111. {mns-scheduler-1.3.0.3/mns_scheduler/k_line/hot_stocks → mns-scheduler-1.3.0.6/mns_scheduler/k_line/clean/week_month}/__init__.py +0 -0
  112. {mns-scheduler-1.3.0.3 → mns-scheduler-1.3.0.6}/mns_scheduler/k_line/clean/week_month/normal_week_month_k_line_service.py +0 -0
  113. {mns-scheduler-1.3.0.3 → mns-scheduler-1.3.0.6}/mns_scheduler/k_line/clean/week_month/sub_new_week_month_k_line_service.py +0 -0
  114. {mns-scheduler-1.3.0.3/mns_scheduler/k_line/test → mns-scheduler-1.3.0.6/mns_scheduler/k_line/hot_stocks}/__init__.py +0 -0
  115. {mns-scheduler-1.3.0.3 → mns-scheduler-1.3.0.6}/mns_scheduler/k_line/hot_stocks/recent_hot_stocks_clean_service.py +0 -0
  116. {mns-scheduler-1.3.0.3 → mns-scheduler-1.3.0.6}/mns_scheduler/k_line/month_week_daily/__init__.py +0 -0
  117. {mns-scheduler-1.3.0.3 → mns-scheduler-1.3.0.6}/mns_scheduler/k_line/month_week_daily/bfq_k_line_sync.py +0 -0
  118. {mns-scheduler-1.3.0.3 → mns-scheduler-1.3.0.6}/mns_scheduler/k_line/month_week_daily/daily_week_month_line_sync.py +0 -0
  119. {mns-scheduler-1.3.0.3/mns_scheduler/k_line/year_quarter → mns-scheduler-1.3.0.6/mns_scheduler/k_line/test}/__init__.py +0 -0
  120. {mns-scheduler-1.3.0.3 → mns-scheduler-1.3.0.6}/mns_scheduler/k_line/test/k_line_info_clean_his_data.py +0 -0
  121. {mns-scheduler-1.3.0.3/mns_scheduler/lhb → mns-scheduler-1.3.0.6/mns_scheduler/k_line/year_quarter}/__init__.py +0 -0
  122. {mns-scheduler-1.3.0.3 → mns-scheduler-1.3.0.6}/mns_scheduler/k_line/year_quarter/year_quarter_line_sync.py +0 -0
  123. {mns-scheduler-1.3.0.3 → mns-scheduler-1.3.0.6}/mns_scheduler/kpl/__init__.py +0 -0
  124. {mns-scheduler-1.3.0.3 → mns-scheduler-1.3.0.6}/mns_scheduler/kpl/selection/__init__.py +0 -0
  125. {mns-scheduler-1.3.0.3 → mns-scheduler-1.3.0.6}/mns_scheduler/kpl/selection/index/__init__.py +0 -0
  126. {mns-scheduler-1.3.0.3 → mns-scheduler-1.3.0.6}/mns_scheduler/kpl/selection/index/sync_best_choose_his_index.py +0 -0
  127. {mns-scheduler-1.3.0.3 → mns-scheduler-1.3.0.6}/mns_scheduler/kpl/selection/index/sync_best_choose_index.py +0 -0
  128. {mns-scheduler-1.3.0.3 → mns-scheduler-1.3.0.6}/mns_scheduler/kpl/selection/symbol/__init__.py +0 -0
  129. {mns-scheduler-1.3.0.3 → mns-scheduler-1.3.0.6}/mns_scheduler/kpl/selection/symbol/sync_best_choose_symbol.py +0 -0
  130. {mns-scheduler-1.3.0.3 → mns-scheduler-1.3.0.6}/mns_scheduler/kpl/selection/total/__init__.py +0 -0
  131. {mns-scheduler-1.3.0.3 → mns-scheduler-1.3.0.6}/mns_scheduler/kpl/selection/total/sync_kpl_best_total_sync_api.py +0 -0
  132. {mns-scheduler-1.3.0.3/mns_scheduler/open → mns-scheduler-1.3.0.6/mns_scheduler/lhb}/__init__.py +0 -0
  133. {mns-scheduler-1.3.0.3 → mns-scheduler-1.3.0.6}/mns_scheduler/lhb/stock_lhb_sync_service.py +0 -0
  134. {mns-scheduler-1.3.0.3/mns_scheduler/risk → mns-scheduler-1.3.0.6/mns_scheduler/open}/__init__.py +0 -0
  135. {mns-scheduler-1.3.0.3 → mns-scheduler-1.3.0.6}/mns_scheduler/open/sync_one_day_open_data_to_db_service.py +0 -0
  136. {mns-scheduler-1.3.0.3/mns_scheduler/risk/test → mns-scheduler-1.3.0.6/mns_scheduler/risk}/__init__.py +0 -0
  137. {mns-scheduler-1.3.0.3 → mns-scheduler-1.3.0.6}/mns_scheduler/risk/compliance/__init__.py +0 -0
  138. {mns-scheduler-1.3.0.3 → mns-scheduler-1.3.0.6}/mns_scheduler/risk/compliance/undisclosed_annual_report_api.py +0 -0
  139. {mns-scheduler-1.3.0.3 → mns-scheduler-1.3.0.6}/mns_scheduler/risk/financial/__init__.py +0 -0
  140. {mns-scheduler-1.3.0.3 → mns-scheduler-1.3.0.6}/mns_scheduler/risk/financial/annual_report_audit_check_api.py +0 -0
  141. {mns-scheduler-1.3.0.3 → mns-scheduler-1.3.0.6}/mns_scheduler/risk/financial/net_assets_check_api.py +0 -0
  142. {mns-scheduler-1.3.0.3 → mns-scheduler-1.3.0.6}/mns_scheduler/risk/financial/profit_income_check_api.py +0 -0
  143. {mns-scheduler-1.3.0.3 → mns-scheduler-1.3.0.6}/mns_scheduler/risk/financial/stock_equity_mortgage_check_api.py +0 -0
  144. {mns-scheduler-1.3.0.3 → mns-scheduler-1.3.0.6}/mns_scheduler/risk/financial_report_risk_check_api.py +0 -0
  145. {mns-scheduler-1.3.0.3 → mns-scheduler-1.3.0.6}/mns_scheduler/risk/major_violations/__init__.py +0 -0
  146. {mns-scheduler-1.3.0.3 → mns-scheduler-1.3.0.6}/mns_scheduler/risk/major_violations/register_and_investigate_stock_sync_api.py +0 -0
  147. {mns-scheduler-1.3.0.3 → mns-scheduler-1.3.0.6}/mns_scheduler/risk/self/__init__.py +0 -0
  148. {mns-scheduler-1.3.0.3 → mns-scheduler-1.3.0.6}/mns_scheduler/risk/self/wei_pan_stock_api.py +0 -0
  149. {mns-scheduler-1.3.0.3/mns_scheduler/self_choose → mns-scheduler-1.3.0.6/mns_scheduler/risk/test}/__init__.py +0 -0
  150. {mns-scheduler-1.3.0.3 → mns-scheduler-1.3.0.6}/mns_scheduler/risk/test/fix_blask_list.py +0 -0
  151. {mns-scheduler-1.3.0.3 → mns-scheduler-1.3.0.6}/mns_scheduler/risk/transactions/__init__.py +0 -0
  152. {mns-scheduler-1.3.0.3 → mns-scheduler-1.3.0.6}/mns_scheduler/risk/transactions/transactions_check_api.py +0 -0
  153. {mns-scheduler-1.3.0.3/mns_scheduler/trade/balance → mns-scheduler-1.3.0.6/mns_scheduler/self_choose}/__init__.py +0 -0
  154. {mns-scheduler-1.3.0.3 → mns-scheduler-1.3.0.6}/mns_scheduler/self_choose/ths_self_choose_service.py +0 -0
  155. {mns-scheduler-1.3.0.3 → mns-scheduler-1.3.0.6}/mns_scheduler/trade/__init__.py +0 -0
  156. {mns-scheduler-1.3.0.3 → mns-scheduler-1.3.0.6}/mns_scheduler/trade/auto_ipo_buy_api.py +0 -0
  157. {mns-scheduler-1.3.0.3 → mns-scheduler-1.3.0.6}/mns_scheduler/trade/auto_login/__init__.py +0 -0
  158. {mns-scheduler-1.3.0.3 → mns-scheduler-1.3.0.6}/mns_scheduler/trade/auto_login/trader_auto_service.py +0 -0
  159. {mns-scheduler-1.3.0.3 → mns-scheduler-1.3.0.6}/mns_scheduler/trade/auto_sell_service_api.py +0 -0
  160. {mns-scheduler-1.3.0.3/mns_scheduler/trade/tfp → mns-scheduler-1.3.0.6/mns_scheduler/trade/balance}/__init__.py +0 -0
  161. {mns-scheduler-1.3.0.3 → mns-scheduler-1.3.0.6}/mns_scheduler/trade/balance/ths_account_balance_service.py +0 -0
  162. {mns-scheduler-1.3.0.3 → mns-scheduler-1.3.0.6}/mns_scheduler/trade/sync_position_api.py +0 -0
  163. {mns-scheduler-1.3.0.3 → mns-scheduler-1.3.0.6}/mns_scheduler/trade/task/__init__.py +0 -0
  164. {mns-scheduler-1.3.0.3 → mns-scheduler-1.3.0.6}/mns_scheduler/trade/task/trader_task_service.py +0 -0
  165. {mns-scheduler-1.3.0.3/mns_scheduler/us → mns-scheduler-1.3.0.6/mns_scheduler/trade/tfp}/__init__.py +0 -0
  166. {mns-scheduler-1.3.0.3 → mns-scheduler-1.3.0.6}/mns_scheduler/trade/tfp/stock_tfp_info_sync.py +0 -0
  167. {mns-scheduler-1.3.0.3/mns_scheduler/zt/script → mns-scheduler-1.3.0.6/mns_scheduler/us}/__init__.py +0 -0
  168. {mns-scheduler-1.3.0.3 → mns-scheduler-1.3.0.6}/mns_scheduler/us/baidu_yun_pan_handle_service.py +0 -0
  169. {mns-scheduler-1.3.0.3 → mns-scheduler-1.3.0.6}/mns_scheduler/us/k_line.py +0 -0
  170. {mns-scheduler-1.3.0.3 → mns-scheduler-1.3.0.6}/mns_scheduler/us/us_company_info_sync_service_api.py +0 -0
  171. {mns-scheduler-1.3.0.3 → mns-scheduler-1.3.0.6}/mns_scheduler/zb/__init__.py +0 -0
  172. {mns-scheduler-1.3.0.3 → mns-scheduler-1.3.0.6}/mns_scheduler/zb/stock_zb_pool_sync.py +0 -0
  173. {mns-scheduler-1.3.0.3 → mns-scheduler-1.3.0.6}/mns_scheduler/zt/__init__.py +0 -0
  174. {mns-scheduler-1.3.0.3 → mns-scheduler-1.3.0.6}/mns_scheduler/zt/connected_boards/__init__.py +0 -0
  175. {mns-scheduler-1.3.0.3 → mns-scheduler-1.3.0.6}/mns_scheduler/zt/connected_boards/zt_five_boards_sync_api.py +0 -0
  176. {mns-scheduler-1.3.0.3 → mns-scheduler-1.3.0.6}/mns_scheduler/zt/export/__init__.py +0 -0
  177. {mns-scheduler-1.3.0.3 → mns-scheduler-1.3.0.6}/mns_scheduler/zt/export/export_kcx_high_chg_open_data_to_excel.py +0 -0
  178. {mns-scheduler-1.3.0.3 → mns-scheduler-1.3.0.6}/mns_scheduler/zt/high_chg/__init__.py +0 -0
  179. {mns-scheduler-1.3.0.3 → mns-scheduler-1.3.0.6}/mns_scheduler/zt/high_chg/sync_high_chg_pool_service.py +0 -0
  180. {mns-scheduler-1.3.0.3 → mns-scheduler-1.3.0.6}/mns_scheduler/zt/high_chg/sync_high_chg_real_time_quotes_service.py +0 -0
  181. {mns-scheduler-1.3.0.3 → mns-scheduler-1.3.0.6}/mns_scheduler/zt/open_data/__init__.py +0 -0
  182. {mns-scheduler-1.3.0.3 → mns-scheduler-1.3.0.6}/mns_scheduler/zt/open_data/kcx_high_chg_open_data_sync.py +0 -0
  183. {mns-scheduler-1.3.0.3 → mns-scheduler-1.3.0.6}/mns_scheduler/zt/script/fix_error_deal_day.py +0 -0
  184. {mns-scheduler-1.3.0.3 → mns-scheduler-1.3.0.6}/mns_scheduler/zt/script/kcx_high_chg_open_his_data_handle.py +0 -0
  185. {mns-scheduler-1.3.0.3 → mns-scheduler-1.3.0.6}/mns_scheduler/zt/script/sync_high_chg_pool_his_data.py +0 -0
  186. {mns-scheduler-1.3.0.3 → mns-scheduler-1.3.0.6}/mns_scheduler/zt/script/sync_now_higt_chg_zt.py +0 -0
  187. {mns-scheduler-1.3.0.3 → mns-scheduler-1.3.0.6}/mns_scheduler/zt/zt_pool/__init__.py +0 -0
  188. {mns-scheduler-1.3.0.3 → mns-scheduler-1.3.0.6}/mns_scheduler/zt/zt_pool/em_zt_pool_sync_api.py +0 -0
  189. {mns-scheduler-1.3.0.3 → mns-scheduler-1.3.0.6}/mns_scheduler/zt/zt_pool/ths_zt_pool_sync_api.py +0 -0
  190. {mns-scheduler-1.3.0.3 → mns-scheduler-1.3.0.6}/mns_scheduler/zt/zt_pool/update_null_zt_reason_api.py +0 -0
  191. {mns-scheduler-1.3.0.3 → mns-scheduler-1.3.0.6}/mns_scheduler/zz_task/__init__.py +0 -0
  192. {mns-scheduler-1.3.0.3 → mns-scheduler-1.3.0.6}/mns_scheduler.egg-info/dependency_links.txt +0 -0
  193. {mns-scheduler-1.3.0.3 → mns-scheduler-1.3.0.6}/mns_scheduler.egg-info/top_level.txt +0 -0
  194. {mns-scheduler-1.3.0.3 → mns-scheduler-1.3.0.6}/setup.cfg +0 -0
@@ -1,3 +1,3 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: mns-scheduler
3
- Version: 1.3.0.3
3
+ Version: 1.3.0.6
@@ -0,0 +1,97 @@
1
+ import os
2
+ import sys
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
+
9
+ from mns_common.db.MongodbUtil import MongodbUtil
10
+ from mns_common.db.v2.MongodbUtilV2 import MongodbUtilV2
11
+ import mns_common.constant.extra_income_db_name as extra_income_db_name
12
+ import mns_common.constant.db_name_constant as db_name_constant
13
+ import akshare as ak
14
+ from loguru import logger
15
+ import mns_scheduler.baidu.baidu_yun_pan_handle_service as baidu_yun_pan_handle_service
16
+ import mns_scheduler.hk.hk_company_info_sync_service_api as hk_company_info_sync_service_api
17
+
18
+ mongodb_util_27017 = MongodbUtil('27017')
19
+ mongodbUtilV2_27019 = MongodbUtilV2('27019', extra_income_db_name.EXTRA_INCOME)
20
+
21
+
22
+ def hk_stock_daily_qfq_sync():
23
+ hk_stock_path = '/港股/qfq/'
24
+ hk_stock_info_df = mongodb_util_27017.find_all_data(db_name_constant.EM_HK_STOCK_INFO)
25
+ hk_stock_info_df = hk_stock_info_df.sort_values(by=['amount'], ascending=False)
26
+ del hk_stock_info_df['_id']
27
+ # 上传港股列表
28
+ baidu_yun_pan_handle_service.upload_to_baidu('港股列表', hk_stock_path, hk_stock_info_df)
29
+ hk_ggt_component_df = hk_company_info_sync_service_api.get_hk_ggt_component()
30
+ # 上传港股通列表
31
+ hk_stock_info_ggt_df = hk_stock_info_df.loc[hk_stock_info_df['symbol'].isin(hk_ggt_component_df['symbol'])]
32
+ baidu_yun_pan_handle_service.upload_to_baidu('港股通列表', hk_stock_path, hk_stock_info_ggt_df)
33
+
34
+ fail_list = []
35
+
36
+ for hk_stock_one in hk_stock_info_df.itertuples():
37
+ symbol = hk_stock_one.symbol
38
+ name = hk_stock_one.name
39
+ try:
40
+ save_one_symbol(symbol, hk_stock_path)
41
+
42
+ except BaseException as e:
43
+ logger.error("同步出现异常:{},{},{}", e, symbol, name)
44
+ fail_list.append(symbol)
45
+ # 处理失败的
46
+ for symbol_fail in fail_list:
47
+ try:
48
+ save_one_symbol(symbol_fail, hk_stock_path)
49
+ except BaseException as e:
50
+ logger.error("同步出现异常:{},{},{}", e, symbol, name)
51
+
52
+
53
+ def save_one_symbol(symbol, hk_stock_path):
54
+ hk_stock_k_line_df = hk_stock_k_line_api(symbol, k_line_period='daily', start_date='18000101',
55
+ end_date='22220101', fq='qfq')
56
+
57
+ hk_stock_k_line_df["date"] = hk_stock_k_line_df["date"].astype(str)
58
+
59
+ hk_stock_k_line_df['_id'] = hk_stock_k_line_df['date'] + '_' + symbol
60
+ hk_stock_k_line_df['symbol'] = symbol
61
+
62
+ query = {'symbol': symbol}
63
+ if mongodbUtilV2_27019.remove_data(query, extra_income_db_name.HK_STOCK_DAILY_QFQ_K_LINE).acknowledged > 0:
64
+ mongodbUtilV2_27019.insert_mongo(hk_stock_k_line_df, extra_income_db_name.HK_STOCK_DAILY_QFQ_K_LINE)
65
+ del hk_stock_k_line_df['_id']
66
+ del hk_stock_k_line_df['symbol']
67
+ # 上传列表
68
+ baidu_yun_pan_handle_service.upload_to_baidu(symbol, hk_stock_path, hk_stock_k_line_df)
69
+
70
+
71
+ def hk_stock_k_line_api(symbol='00001', k_line_period='daily', start_date='18000101',
72
+ end_date='22220101', fq='qfq'):
73
+ stock_hk_hist_df = ak.stock_hk_hist(symbol=symbol,
74
+ period=k_line_period,
75
+ start_date=start_date,
76
+ end_date=end_date,
77
+ adjust=fq)
78
+ stock_hk_hist_df = stock_hk_hist_df.rename(columns={
79
+ "日期": "date",
80
+ "涨跌额": "change_price",
81
+ "涨跌幅": "chg",
82
+ "开盘": "open",
83
+ "最高": "high",
84
+ "最低": "low",
85
+ "收盘": "close",
86
+ "成交量": "volume",
87
+ "成交额": "amount",
88
+ "振幅": "pct_chg",
89
+ "换手率": "exchange"
90
+ })
91
+
92
+ return stock_hk_hist_df
93
+
94
+
95
+ if __name__ == '__main__':
96
+ # us_stock_k_line_api()
97
+ hk_stock_daily_qfq_sync()
@@ -0,0 +1,95 @@
1
+ import os
2
+ import sys
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
+
9
+ from mns_common.db.MongodbUtil import MongodbUtil
10
+ from mns_common.db.v2.MongodbUtilV2 import MongodbUtilV2
11
+ import mns_common.constant.extra_income_db_name as extra_income_db_name
12
+ import mns_common.constant.db_name_constant as db_name_constant
13
+ import akshare as ak
14
+ from loguru import logger
15
+ import mns_scheduler.baidu.baidu_yun_pan_handle_service as baidu_yun_pan_handle_service
16
+
17
+ mongodb_util_27017 = MongodbUtil('27017')
18
+ mongodbUtilV2_27019 = MongodbUtilV2('27019', extra_income_db_name.EXTRA_INCOME)
19
+
20
+
21
+ def us_stock_daily_qfq_sync():
22
+ us_stock_path = '/美股/qfq/'
23
+ em_us_stock_info_df = mongodb_util_27017.find_all_data(db_name_constant.EM_US_STOCK_INFO)
24
+ # 将列 A 转为字符串,并提取前三位
25
+ em_us_stock_info_df["simple_symbol"] = em_us_stock_info_df["simple_symbol"].astype(str).str[:3]
26
+ em_us_stock_info_df = em_us_stock_info_df.sort_values(by=['amount'], ascending=False)
27
+ # 上传列表
28
+ baidu_yun_pan_handle_service.upload_to_baidu('美股列表', us_stock_path, em_us_stock_info_df)
29
+ fail_list = []
30
+ for us_stock_one in em_us_stock_info_df.itertuples():
31
+ symbol = us_stock_one.symbol
32
+ name = us_stock_one.name
33
+ try:
34
+ save_one_symbol(us_stock_one, us_stock_path, symbol)
35
+ except BaseException as e:
36
+ logger.error("同步出现异常:{},{},{}", e, symbol, name)
37
+ fail_list.append(symbol)
38
+ fail_stock_df = em_us_stock_info_df.loc[em_us_stock_info_df['symbol'].isin(fail_list)]
39
+
40
+ for us_stock_fail_one in fail_stock_df.itertuples():
41
+ symbol = us_stock_fail_one.symbol
42
+ name = us_stock_fail_one.name
43
+ try:
44
+ save_one_symbol(us_stock_fail_one, us_stock_path, symbol)
45
+ except BaseException as e:
46
+ logger.error("同步出现异常:{},{},{}", e, symbol, name)
47
+ fail_list.append(symbol)
48
+
49
+
50
+ def save_one_symbol(us_stock_one, us_stock_path, symbol):
51
+ simple_symbol = us_stock_one.simple_symbol
52
+ code = simple_symbol + '.' + symbol
53
+
54
+ us_stock_k_line_df = us_stock_k_line_api(code, k_line_period='daily', start_date='18000101',
55
+ end_date='22220101', fq='qfq')
56
+ us_stock_k_line_df['_id'] = us_stock_k_line_df['date'] + '_' + symbol
57
+ us_stock_k_line_df['symbol'] = symbol
58
+
59
+ query = {'symbol': symbol}
60
+ if mongodbUtilV2_27019.remove_data(query, extra_income_db_name.US_STOCK_DAILY_QFQ_K_LINE).acknowledged > 0:
61
+ mongodbUtilV2_27019.insert_mongo(us_stock_k_line_df, extra_income_db_name.US_STOCK_DAILY_QFQ_K_LINE)
62
+ del us_stock_k_line_df['_id']
63
+ del us_stock_k_line_df['symbol']
64
+
65
+ # 上传列表
66
+ baidu_yun_pan_handle_service.upload_to_baidu(symbol, us_stock_path, us_stock_k_line_df)
67
+
68
+
69
+ def us_stock_k_line_api(symbol='106.GE', k_line_period='daily', start_date='18000101',
70
+ end_date='22220101', fq='hfq'):
71
+ stock_us_hist_df = ak.stock_us_hist(symbol=symbol,
72
+ period=k_line_period,
73
+ start_date=start_date,
74
+ end_date=end_date,
75
+ adjust=fq)
76
+ stock_us_hist_df = stock_us_hist_df.rename(columns={
77
+ "日期": "date",
78
+ "涨跌额": "change_price",
79
+ "涨跌幅": "chg",
80
+ "开盘": "open",
81
+ "最高": "high",
82
+ "最低": "low",
83
+ "收盘": "close",
84
+ "成交量": "volume",
85
+ "成交额": "amount",
86
+ "振幅": "pct_chg",
87
+ "换手率": "exchange"
88
+ })
89
+
90
+ return stock_us_hist_df
91
+
92
+
93
+ if __name__ == '__main__':
94
+ # us_stock_k_line_api()
95
+ us_stock_daily_qfq_sync()
@@ -99,4 +99,5 @@ def sync_hk_company_info():
99
99
 
100
100
 
101
101
  if __name__ == '__main__':
102
+ get_hk_ggt_component()
102
103
  sync_hk_company_info()
@@ -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)
@@ -63,6 +63,9 @@ import mns_scheduler.industry.ths.ths_industry_sync_service as ths_industry_sync
63
63
  import mns_scheduler.k_line.year_quarter.year_quarter_line_sync as year_quarter_line_sync
64
64
  import mns_common.component.task.real_time_data_sync_check as real_time_data_sync_check
65
65
  import mns_scheduler.extraIncome.one_minute.one_minute_sync_task as one_minute_sync_task
66
+ import mns_scheduler.extraIncome.hk.hk_stock_qfq_daily_k_line as hk_stock_qfq_daily_k_line
67
+ import mns_scheduler.extraIncome.us.us_stock_qfq_daily_k_line as us_stock_qfq_daily_k_line
68
+ import mns_scheduler.extraIncome.one_minute.upload.upload_to_baidu_task as upload_to_baidu_task
66
69
 
67
70
 
68
71
  # 同步交易日期任务完成
@@ -443,12 +446,30 @@ def sync_all_em_stock_info():
443
446
  sync_em_stock_info_sync.sync_all_em_stock_info()
444
447
 
445
448
 
449
+ # 同步外快收入数据
450
+ def sync_extra_income_data():
451
+ # 上传一分钟数据到百度网盘
452
+ upload_to_baidu_task.upload_stock_to_baidu()
453
+ # hk前复权k线数据
454
+ hk_stock_qfq_daily_k_line.hk_stock_daily_qfq_sync()
455
+ # us前复权k线数据
456
+ us_stock_qfq_daily_k_line.us_stock_daily_qfq_sync()
457
+
458
+
446
459
  # # 定义BlockingScheduler
447
460
  blockingScheduler = BlockingScheduler()
448
461
 
449
462
  # 同步东方财富a,etf,kzz,us,hk信息
450
463
  blockingScheduler.add_job(sync_all_em_stock_info, 'cron', hour='07', minute='31')
451
464
  blockingScheduler.add_job(sync_all_em_stock_info, 'cron', hour='15', minute='20')
465
+ # 同步外快收入数据
466
+ blockingScheduler.add_job(
467
+ sync_extra_income_data,
468
+ 'cron',
469
+ day_of_week='sat,sun', # 周六和周日
470
+ hour='07,18', # 16点和21点
471
+ minute='37' # 37分
472
+ )
452
473
 
453
474
  # 开盘前同步当天交易需要的k线数据
454
475
  blockingScheduler.add_job(sync_today_trade_k_line_info, 'cron', hour='07', minute='50')
@@ -1,3 +1,3 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: mns-scheduler
3
- Version: 1.3.0.3
3
+ Version: 1.3.0.6
@@ -60,6 +60,8 @@ mns_scheduler/debt/kzz_bond_info_sync.py
60
60
  mns_scheduler/dt/__init__.py
61
61
  mns_scheduler/dt/stock_dt_pool_sync.py
62
62
  mns_scheduler/extraIncome/__init__.py
63
+ mns_scheduler/extraIncome/hk/__init__.py
64
+ mns_scheduler/extraIncome/hk/hk_stock_qfq_daily_k_line.py
63
65
  mns_scheduler/extraIncome/one_minute/__init__.py
64
66
  mns_scheduler/extraIncome/one_minute/one_minute_sync_task.py
65
67
  mns_scheduler/extraIncome/one_minute/common/__init__.py
@@ -75,11 +77,8 @@ mns_scheduler/extraIncome/one_minute/stock/__init__.py
75
77
  mns_scheduler/extraIncome/one_minute/stock/stock_one_minute_sync_task.py
76
78
  mns_scheduler/extraIncome/one_minute/upload/__init__.py
77
79
  mns_scheduler/extraIncome/one_minute/upload/upload_to_baidu_task.py
78
- mns_scheduler/extraIncome/temp/__init__.py
79
- mns_scheduler/extraIncome/temp/tu_share_data_etf_sync.py
80
- mns_scheduler/extraIncome/temp/tu_share_data_kzz_sync.py
81
- mns_scheduler/extraIncome/temp/tu_share_data_stock_sync.py
82
- mns_scheduler/extraIncome/temp/tu_share_zhi_shu_sync_api.py
80
+ mns_scheduler/extraIncome/us/__init__.py
81
+ mns_scheduler/extraIncome/us/us_stock_qfq_daily_k_line.py
83
82
  mns_scheduler/finance/__init__.py
84
83
  mns_scheduler/finance/em_financial_asset_liability_sync_service_api.py
85
84
  mns_scheduler/finance/em_financial_profit_sync_service_api.py
@@ -2,7 +2,7 @@ from setuptools import setup, find_packages
2
2
 
3
3
  setup(
4
4
  name='mns-scheduler',
5
- version='1.3.0.3',
5
+ version='1.3.0.6',
6
6
  packages=find_packages(),
7
7
  install_requires=[], # 如果有依赖项,可以在这里列出
8
8
  )
@@ -1,103 +0,0 @@
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_etf_api as east_money_etf_api
9
- import pandas as pd
10
- from loguru import logger
11
- import time
12
- import mns_common.utils.data_frame_util as data_frame_util
13
- from mns_common.db.MongodbUtil import MongodbUtil
14
- import tushare as ts
15
- from mns_common.db.v2.MongodbUtilV2 import MongodbUtilV2
16
- import mns_scheduler.extraIncome.one_minute.common.db_create_index as db_create_index
17
- import mns_common.constant.extra_income_db_name as extra_income_db_name
18
-
19
- mongodb_util_27017 = MongodbUtil('27017')
20
- mongodbUtilV2_27019 = MongodbUtilV2('27019', extra_income_db_name.EXTRA_INCOME)
21
- pro = ts.pro_api('782213d20640249f1dbae50a7f56b22684b8e915a61e435e015579a1')
22
-
23
-
24
- def get_minute_data(symbol, freq, start_date, end_date):
25
- # 获取浦发银行60000.SH的历史分钟数据
26
- df = pro.stk_mins(ts_code=symbol, freq=freq, start_date=start_date, end_date=end_date)
27
- return df
28
-
29
-
30
- def sync_etf_one_minute(trade_date_list_df):
31
- etf_real_time_quotes_df = east_money_etf_api.get_etf_real_time_quotes()
32
- etf_real_time_quotes_df = classify_symbol(etf_real_time_quotes_df)
33
- etf_real_time_quotes_df['symbol'] = etf_real_time_quotes_df.apply(
34
- lambda row: row['symbol'] + '.SZ' if row['classification'] in ['S', 'C']
35
- else row['symbol'] + '.BJ' if row['classification'] in ['X']
36
- else row['symbol'] + '.SH',
37
- axis=1
38
- )
39
-
40
- db_name = extra_income_db_name.ONE_MINUTE_K_LINE_BFQ_ETF
41
- db_create_index.create_index(mongodbUtilV2_27019, db_name)
42
- for stock_one in etf_real_time_quotes_df.itertuples():
43
- trade_date_list_df_copy = trade_date_list_df.copy()
44
- symbol = stock_one.symbol
45
- for i in range(0, len(trade_date_list_df_copy), 28):
46
- try:
47
- new_df = trade_date_list_df_copy.iloc[i:i + 28]
48
- first_df = new_df.iloc[0] # 第一个 DataFrame
49
- last_df = new_df.iloc[-1] # 最后一个 DataFrame
50
- begin_date = first_df.trade_date + ' 09:20:00'
51
- end_date = last_df.trade_date + ' 15:00:00'
52
-
53
- df = get_minute_data(symbol, '1min', begin_date, end_date)
54
- if data_frame_util.is_not_empty(df):
55
- df = df.rename(columns={
56
- "trade_time": "time",
57
- "ts_code": "symbol",
58
- "vol": "volume",
59
- })
60
- df['time_tick'] = df['time'].str[11:19]
61
- df = df.loc[df['time_tick'] <= '15:00:00']
62
- del df['time_tick']
63
- df['_id'] = df['symbol'] + '_' + df['time']
64
- mongodbUtilV2_27019.insert_mongo(df, db_name)
65
- except BaseException as e:
66
- time.sleep(2)
67
- first_df = new_df.iloc[0] # 第一个 DataFrame
68
- last_df = new_df.iloc[-1] # 最后一个 DataFrame
69
- begin_date = first_df.trade_date + ' 09:20:00'
70
- end_date = last_df.trade_date + ' 15:00:00'
71
- fail_dict = {'begin_date': begin_date,
72
- 'end_date': end_date,
73
- 'symbol': symbol,
74
- 'db_name': db_name
75
- }
76
- fail_df = pd.DataFrame(fail_dict, index=[1])
77
- mongodbUtilV2_27019.insert_mongo(fail_df, db_name + '_fail')
78
-
79
- logger.error("同步数据出现异常:{},{},{},{}", e, symbol, begin_date, end_date)
80
- logger.info("同步完数据:{},{}", stock_one.symbol, stock_one.name)
81
-
82
- return etf_real_time_quotes_df
83
-
84
-
85
- def classify_symbol(debt_real_time_quotes_df):
86
- debt_real_time_quotes_df['classification'] = debt_real_time_quotes_df['market'].apply(
87
- lambda market: classify_symbol_one(market))
88
- return debt_real_time_quotes_df
89
-
90
-
91
- # 单个股票分类
92
- def classify_symbol_one(market):
93
- if market == 0:
94
- return 'S'
95
- else:
96
- return 'H'
97
-
98
-
99
- if __name__ == '__main__':
100
- query_trade = {"$and": [{"trade_date": {"$gte": "2025-03-08"}}, {"trade_date": {"$lte": "2025-03-16"}}]}
101
- trade_date_list_df_all = mongodb_util_27017.find_query_data('trade_date_list', query_trade)
102
-
103
- sync_etf_one_minute(trade_date_list_df_all)
@@ -1,113 +0,0 @@
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
-
9
- import mns_common.api.em.east_money_debt_api as east_money_debt_api
10
- import pandas as pd
11
- from loguru import logger
12
- import time
13
- import mns_common.utils.data_frame_util as data_frame_util
14
- from mns_common.db.MongodbUtil import MongodbUtil
15
- import tushare as ts
16
- from mns_common.db.v2.MongodbUtilV2 import MongodbUtilV2
17
- import mns_scheduler.extraIncome.one_minute.common.db_create_index as db_create_index
18
- import mns_common.constant.extra_income_db_name as extra_income_db_name
19
- mongodb_util_27017 = MongodbUtil('27017')
20
- mongodbUtilV2_27019 = MongodbUtilV2('27019', extra_income_db_name.EXTRA_INCOME)
21
- pro = ts.pro_api('782213d20640249f1dbae50a7f56b22684b8e915a61e435e015579a1')
22
-
23
-
24
- def get_minute_data(symbol, freq, start_date, end_date):
25
- # 获取浦发银行60000.SH的历史分钟数据
26
- df = pro.stk_mins(ts_code=symbol, freq=freq, start_date=start_date, end_date=end_date)
27
- return df
28
-
29
-
30
- def sync_kzz_one_minute(trade_date_list_df):
31
- debt_real_time_quotes = east_money_debt_api.get_debt_real_time_quotes()
32
- debt_real_time_quotes = classify_symbol(debt_real_time_quotes)
33
- debt_real_time_quotes['symbol'] = debt_real_time_quotes.apply(
34
- lambda row: row['symbol'] + '.SZ' if row['classification'] in ['S', 'C']
35
- else row['symbol'] + '.BJ' if row['classification'] in ['X']
36
- else row['symbol'] + '.SH',
37
- axis=1
38
- )
39
- # 假设数字格式为 YYYYMMDD
40
- # debt_real_time_quotes['list_date'] = pd.to_datetime(debt_real_time_quotes['list_date'],
41
- # format='%Y%m%d').dt.strftime('%Y-%m-%d')
42
-
43
- db_name = extra_income_db_name.ONE_MINUTE_K_LINE_BFQ_KZZ
44
- db_create_index.create_index(mongodbUtilV2_27019, db_name)
45
-
46
- for stock_one in debt_real_time_quotes.itertuples():
47
-
48
- trade_date_list_df_copy = trade_date_list_df.copy()
49
-
50
- # list_date = stock_one.list_date
51
- # trade_date_list_df_copy = trade_date_list_df_copy.loc[trade_date_list_df_copy['_id'] >= list_date]
52
-
53
- symbol = stock_one.symbol
54
-
55
- for i in range(0, len(trade_date_list_df_copy), 28):
56
- try:
57
- new_df = trade_date_list_df_copy.iloc[i:i + 28]
58
- first_df = new_df.iloc[0] # 第一个 DataFrame
59
- last_df = new_df.iloc[-1] # 最后一个 DataFrame
60
- begin_date = first_df.trade_date + ' 09:20:00'
61
- end_date = last_df.trade_date + ' 15:00:00'
62
-
63
- df = get_minute_data(symbol, '1min', begin_date, end_date)
64
- if data_frame_util.is_not_empty(df):
65
- df = df.rename(columns={
66
- "trade_time": "time",
67
- "ts_code": "symbol",
68
- "vol": "volume",
69
- })
70
- df['time_tick'] = df['time'].str[11:19]
71
- df = df.loc[df['time_tick'] <= '15:00:00']
72
- del df['time_tick']
73
- df['_id'] = df['symbol'] + '_' + df['time']
74
- mongodbUtilV2_27019.insert_mongo(df, db_name)
75
- except BaseException as e:
76
- time.sleep(2)
77
- first_df = new_df.iloc[0] # 第一个 DataFrame
78
- last_df = new_df.iloc[-1] # 最后一个 DataFrame
79
- begin_date = first_df.trade_date + ' 09:20:00'
80
- end_date = last_df.trade_date + ' 15:00:00'
81
- fail_dict = {'begin_date': begin_date,
82
- 'end_date': end_date,
83
- 'symbol': symbol,
84
- 'db_name': db_name
85
- }
86
- fail_df = pd.DataFrame(fail_dict, index=[1])
87
- mongodbUtilV2_27019.insert_mongo(fail_df, db_name + '_fail')
88
-
89
- logger.error("同步数据出现异常:{},{},{},{}", e, symbol, begin_date, end_date)
90
- logger.info("同步完数据:{},{}", stock_one.symbol, stock_one.name)
91
-
92
- return debt_real_time_quotes
93
-
94
-
95
- def classify_symbol(debt_real_time_quotes_df):
96
- debt_real_time_quotes_df['classification'] = debt_real_time_quotes_df['market'].apply(
97
- lambda market: classify_symbol_one(market))
98
- return debt_real_time_quotes_df
99
-
100
-
101
- # 单个股票分类
102
- def classify_symbol_one(market):
103
- if market == 0:
104
- return 'S'
105
- else:
106
- return 'H'
107
-
108
-
109
- if __name__ == '__main__':
110
- query_trade = {"$and": [{"trade_date": {"$gte": "2025-03-08"}}, {"trade_date": {"$lte": "2025-03-16"}}]}
111
- trade_date_list_df_all = mongodb_util_27017.find_query_data('trade_date_list', query_trade)
112
-
113
- sync_kzz_one_minute(trade_date_list_df_all)
@@ -1,137 +0,0 @@
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
-
9
- import tushare as ts
10
- from mns_common.db.v2.MongodbUtilV2 import MongodbUtilV2
11
- from mns_common.db.MongodbUtil import MongodbUtil
12
- import mns_common.component.common_service_fun_api as common_service_fun_api
13
-
14
- import pandas as pd
15
- from loguru import logger
16
- import mns_common.utils.data_frame_util as data_frame_util
17
- import mns_common.component.em.em_stock_info_api as em_stock_info_api
18
- import time
19
-
20
- mongodb_util_27017 = MongodbUtil('27017')
21
- mongodbUtilV2 = MongodbUtilV2('27019', 'extraIncome')
22
-
23
- pro = ts.pro_api('782213d20640249f1dbae50a7f56b22684b8e915a61e435e015579a1')
24
-
25
-
26
- def get_minute_data(symbol, freq, start_date, end_date):
27
- # 获取浦发银行60000.SH的历史分钟数据
28
- df = pro.stk_mins(ts_code=symbol, freq=freq, start_date=start_date, end_date=end_date)
29
- return df
30
-
31
-
32
- def sync_all_stock(trade_date_list_df):
33
- de_list_stock_df = mongodb_util_27017.find_all_data('de_list_stock')
34
- de_list_stock_df = common_service_fun_api.classify_symbol(de_list_stock_df)
35
- de_list_stock_df = de_list_stock_df.loc[
36
- de_list_stock_df['classification'].isin(['K', 'C', 'S', 'H', 'X'])]
37
- # 对 classification 为 S 或 K 的数据,symbol 列加上 '.SH',其他加上 '.SZ'
38
-
39
- de_list_stock_df['symbol'] = de_list_stock_df.apply(
40
- lambda row: row['symbol'] + '.SZ' if row['classification'] in ['S', 'C']
41
- else row['symbol'] + '.BJ' if row['classification'] in ['X']
42
- else row['symbol'] + '.SH',
43
- axis=1
44
- )
45
-
46
- real_time_quotes_all_stocks_df = em_stock_info_api.get_a_stock_info()
47
-
48
- # 假设数字格式为 YYYYMMDD
49
- real_time_quotes_all_stocks_df['list_date'] = pd.to_datetime(real_time_quotes_all_stocks_df['list_date'],
50
- format='%Y%m%d')
51
-
52
- # 将日期格式化为字符串(YYYY-MM-DD)
53
- real_time_quotes_all_stocks_df['list_date'] = real_time_quotes_all_stocks_df['list_date'].dt.strftime('%Y-%m-%d')
54
- real_time_quotes_all_stocks_df = common_service_fun_api.classify_symbol(real_time_quotes_all_stocks_df)
55
-
56
- # 对 classification 为 S 或 K 的数据,symbol 列加上 '.SH',其他加上 '.SZ'
57
- real_time_quotes_all_stocks_df['symbol'] = real_time_quotes_all_stocks_df.apply(
58
- lambda row: row['symbol'] + '.SZ' if row['classification'] in ['S', 'C']
59
- else row['symbol'] + '.BJ' if row['classification'] in ['X']
60
- else row['symbol'] + '.SH',
61
- axis=1
62
- )
63
-
64
- real_time_quotes_all_stocks_df['number'] = real_time_quotes_all_stocks_df['chg'].rank(method='first').astype(int)
65
-
66
- for stock_one in real_time_quotes_all_stocks_df.itertuples():
67
- classification = stock_one.classification
68
- if classification == 'X':
69
- db_name = 'one_minute_k_line_bfq_bj'
70
- elif classification == 'S':
71
- db_name = 'one_minute_k_line_bfq_s'
72
-
73
- elif classification == 'H':
74
- db_name = 'one_minute_k_line_bfq_h'
75
- elif classification == 'K':
76
- db_name = 'one_minute_k_line_bfq_k'
77
- elif classification == 'C':
78
- db_name = 'one_minute_k_line_bfq_c'
79
-
80
- trade_date_list_df_copy = trade_date_list_df.copy()
81
-
82
- list_date = stock_one.list_date
83
- trade_date_list_df_copy = trade_date_list_df_copy.loc[trade_date_list_df_copy['_id'] >= list_date]
84
-
85
- symbol = stock_one.symbol
86
-
87
- de_list_stock_df_one = de_list_stock_df.loc[de_list_stock_df['symbol'] == symbol]
88
-
89
- if data_frame_util.is_not_empty(de_list_stock_df_one):
90
- de_list_date = list(de_list_stock_df_one['de_list_date'])[0]
91
- trade_date_list_df_copy = trade_date_list_df_copy.loc[trade_date_list_df_copy['_id'] <= de_list_date]
92
-
93
- for i in range(0, len(trade_date_list_df_copy), 28):
94
- try:
95
- new_df = trade_date_list_df_copy.iloc[i:i + 28]
96
- first_df = new_df.iloc[0] # 第一个 DataFrame
97
- last_df = new_df.iloc[-1] # 最后一个 DataFrame
98
- begin_date = first_df.trade_date + ' 09:20:00'
99
- end_date = last_df.trade_date + ' 15:00:00'
100
-
101
- df = get_minute_data(symbol, '1min', begin_date, end_date)
102
- if data_frame_util.is_not_empty(df):
103
- df = df.rename(columns={
104
- "trade_time": "time",
105
- "ts_code": "symbol",
106
- "vol": "volume",
107
- })
108
- df['time_tick'] = df['time'].str[11:19]
109
- df = df.loc[df['time_tick'] <= '15:00:00']
110
- del df['time_tick']
111
- df['_id'] = df['symbol'] + '_' + df['time']
112
- mongodbUtilV2.insert_mongo(df, db_name)
113
- except BaseException as e:
114
- time.sleep(2)
115
- first_df = new_df.iloc[0] # 第一个 DataFrame
116
- last_df = new_df.iloc[-1] # 最后一个 DataFrame
117
- begin_date = first_df.trade_date + ' 09:20:00'
118
- end_date = last_df.trade_date + ' 15:00:00'
119
- fail_dict = {'begin_date': begin_date,
120
- 'end_date': end_date,
121
- 'symbol': symbol,
122
- 'db_name': db_name
123
- }
124
- fail_df = pd.DataFrame(fail_dict, index=[1])
125
- mongodbUtilV2.insert_mongo(fail_df, 'one_minute_k_line_bfq_fail')
126
-
127
- logger.error("同步数据出现异常:{},{},{},{}", e, symbol, begin_date, end_date)
128
- logger.info("同步完数据:{},{}", stock_one.symbol, stock_one.name)
129
-
130
-
131
- if __name__ == '__main__':
132
- # get_minute_data('833284.BJ', '1min', '2025-02-28 09:30:00', '2025-02-28 15:00:00')
133
-
134
- query_trade = {"$and": [{"trade_date": {"$gte": "2025-03-08"}}, {"trade_date": {"$lte": "2025-03-18"}}]}
135
- trade_date_list_df_all = mongodb_util_27017.find_query_data('trade_date_list', query_trade)
136
-
137
- sync_all_stock(trade_date_list_df_all)