mns-scheduler 1.1.2.0__tar.gz → 1.1.2.2__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 (139) hide show
  1. {mns-scheduler-1.1.2.0 → mns-scheduler-1.1.2.2}/PKG-INFO +1 -1
  2. mns-scheduler-1.1.2.2/mns_scheduler/backup/data/collection_move.py +53 -0
  3. mns-scheduler-1.1.2.2/mns_scheduler/backup/data/sync_data_to_local.py +55 -0
  4. mns-scheduler-1.1.2.2/mns_scheduler/backup/data/sync_remote_by_str_day.py +33 -0
  5. {mns-scheduler-1.1.2.0 → mns-scheduler-1.1.2.2}/mns_scheduler/company_info/constant/company_constant_data.py +2 -2
  6. {mns-scheduler-1.1.2.0 → mns-scheduler-1.1.2.2}/mns_scheduler/concept/ths/update_concept_info/sync_one_symbol_all_concepts_api.py +1 -1
  7. {mns-scheduler-1.1.2.0 → mns-scheduler-1.1.2.2}/mns_scheduler/k_line/clean/daily/daily_k_line_service.py +6 -0
  8. mns-scheduler-1.1.2.2/mns_scheduler/k_line/clean/week_month/sub_new_week_month_k_line_service.py +99 -0
  9. {mns-scheduler-1.1.2.0 → mns-scheduler-1.1.2.2}/mns_scheduler/k_line/sync/daily_week_month_line_sync.py +3 -3
  10. {mns-scheduler-1.1.2.0 → mns-scheduler-1.1.2.2}/mns_scheduler/k_line/test/k_line_info_clean_his_data.py +1 -1
  11. mns-scheduler-1.1.2.2/mns_scheduler/zt/script/__init__.py +7 -0
  12. {mns-scheduler-1.1.2.0 → mns-scheduler-1.1.2.2}/mns_scheduler/zt/script/kcx_high_chg_open_his_data_handle.py +1 -1
  13. {mns-scheduler-1.1.2.0 → mns-scheduler-1.1.2.2}/mns_scheduler/zt/script/sync_high_chg_pool_his_data.py +1 -1
  14. mns-scheduler-1.1.2.2/mns_scheduler/zt/script/sync_now_higt_chg_zt.py +42 -0
  15. {mns-scheduler-1.1.2.0 → mns-scheduler-1.1.2.2}/mns_scheduler/zt/zt_pool/em_zt_pool_sync_api.py +1 -1
  16. {mns-scheduler-1.1.2.0 → mns-scheduler-1.1.2.2}/mns_scheduler.egg-info/PKG-INFO +1 -1
  17. {mns-scheduler-1.1.2.0 → mns-scheduler-1.1.2.2}/mns_scheduler.egg-info/SOURCES.txt +5 -0
  18. {mns-scheduler-1.1.2.0 → mns-scheduler-1.1.2.2}/setup.py +1 -1
  19. mns-scheduler-1.1.2.0/mns_scheduler/k_line/clean/week_month/sub_new_week_month_k_line_service.py +0 -47
  20. {mns-scheduler-1.1.2.0 → mns-scheduler-1.1.2.2}/README.md +0 -0
  21. {mns-scheduler-1.1.2.0 → mns-scheduler-1.1.2.2}/mns_scheduler/__init__.py +0 -0
  22. {mns-scheduler-1.1.2.0 → mns-scheduler-1.1.2.2}/mns_scheduler/backup/__init__.py +0 -0
  23. {mns-scheduler-1.1.2.0/mns_scheduler/company_info/base → mns-scheduler-1.1.2.2/mns_scheduler/backup/data}/__init__.py +0 -0
  24. {mns-scheduler-1.1.2.0 → mns-scheduler-1.1.2.2}/mns_scheduler/backup/em/__init__.py +0 -0
  25. {mns-scheduler-1.1.2.0 → mns-scheduler-1.1.2.2}/mns_scheduler/backup/em/em_new_concept_his_sync.py +0 -0
  26. {mns-scheduler-1.1.2.0 → mns-scheduler-1.1.2.2}/mns_scheduler/backup/em/em_new_concept_sync_common_api.py +0 -0
  27. {mns-scheduler-1.1.2.0 → mns-scheduler-1.1.2.2}/mns_scheduler/backup/em/em_new_concept_sync_web.py +0 -0
  28. {mns-scheduler-1.1.2.0 → mns-scheduler-1.1.2.2}/mns_scheduler/backup/ths/__init__.py +0 -0
  29. {mns-scheduler-1.1.2.0 → mns-scheduler-1.1.2.2}/mns_scheduler/backup/ths/sync_ths_concept_by_ak_api.py +0 -0
  30. {mns-scheduler-1.1.2.0 → mns-scheduler-1.1.2.2}/mns_scheduler/backup/ths/sync_ths_new_concept_by_web_api.py +0 -0
  31. {mns-scheduler-1.1.2.0 → mns-scheduler-1.1.2.2}/mns_scheduler/big_deal/__init__.py +0 -0
  32. {mns-scheduler-1.1.2.0 → mns-scheduler-1.1.2.2}/mns_scheduler/big_deal/ths_big_deal_sync.py +0 -0
  33. {mns-scheduler-1.1.2.0 → mns-scheduler-1.1.2.2}/mns_scheduler/company_info/__init__.py +0 -0
  34. {mns-scheduler-1.1.2.0/mns_scheduler/company_info/clean → mns-scheduler-1.1.2.2/mns_scheduler/company_info/base}/__init__.py +0 -0
  35. {mns-scheduler-1.1.2.0 → mns-scheduler-1.1.2.2}/mns_scheduler/company_info/base/sync_company_base_info_api.py +0 -0
  36. {mns-scheduler-1.1.2.0/mns_scheduler/company_info/constant → mns-scheduler-1.1.2.2/mns_scheduler/company_info/clean}/__init__.py +0 -0
  37. {mns-scheduler-1.1.2.0 → mns-scheduler-1.1.2.2}/mns_scheduler/company_info/clean/company_info_clean_api.py +0 -0
  38. {mns-scheduler-1.1.2.0/mns_scheduler/company_info/de_list_stock → mns-scheduler-1.1.2.2/mns_scheduler/company_info/constant}/__init__.py +0 -0
  39. {mns-scheduler-1.1.2.0/mns_scheduler/finance → mns-scheduler-1.1.2.2/mns_scheduler/company_info/de_list_stock}/__init__.py +0 -0
  40. {mns-scheduler-1.1.2.0 → mns-scheduler-1.1.2.2}/mns_scheduler/company_info/de_list_stock/de_list_stock_service.py +0 -0
  41. {mns-scheduler-1.1.2.0 → mns-scheduler-1.1.2.2}/mns_scheduler/concept/__init__.py +0 -0
  42. {mns-scheduler-1.1.2.0 → mns-scheduler-1.1.2.2}/mns_scheduler/concept/clean/__init__.py +0 -0
  43. {mns-scheduler-1.1.2.0 → mns-scheduler-1.1.2.2}/mns_scheduler/concept/clean/kpl_concept_clean_api.py +0 -0
  44. {mns-scheduler-1.1.2.0 → mns-scheduler-1.1.2.2}/mns_scheduler/concept/clean/ths_concept_clean_api.py +0 -0
  45. {mns-scheduler-1.1.2.0 → mns-scheduler-1.1.2.2}/mns_scheduler/concept/common/__init__.py +0 -0
  46. {mns-scheduler-1.1.2.0 → mns-scheduler-1.1.2.2}/mns_scheduler/concept/common/detaill/__init__.py +0 -0
  47. {mns-scheduler-1.1.2.0 → mns-scheduler-1.1.2.2}/mns_scheduler/concept/common/detaill/ths_concept_detail_api.py +0 -0
  48. {mns-scheduler-1.1.2.0 → mns-scheduler-1.1.2.2}/mns_scheduler/concept/ths/__init__.py +0 -0
  49. {mns-scheduler-1.1.2.0 → mns-scheduler-1.1.2.2}/mns_scheduler/concept/ths/common/__init__.py +0 -0
  50. {mns-scheduler-1.1.2.0 → mns-scheduler-1.1.2.2}/mns_scheduler/concept/ths/common/ths_concept_sync_common_api.py +0 -0
  51. {mns-scheduler-1.1.2.0 → mns-scheduler-1.1.2.2}/mns_scheduler/concept/ths/common/ths_concept_update_common_api.py +0 -0
  52. {mns-scheduler-1.1.2.0 → mns-scheduler-1.1.2.2}/mns_scheduler/concept/ths/sync_new_index/__init__.py +0 -0
  53. {mns-scheduler-1.1.2.0 → mns-scheduler-1.1.2.2}/mns_scheduler/concept/ths/sync_new_index/sync_ths_concept_new_index_api.py +0 -0
  54. {mns-scheduler-1.1.2.0 → mns-scheduler-1.1.2.2}/mns_scheduler/concept/ths/update_concept_info/__init__.py +0 -0
  55. {mns-scheduler-1.1.2.0 → mns-scheduler-1.1.2.2}/mns_scheduler/concept/ths/update_concept_info/sync_one_concept_all_symbols_api.py +0 -0
  56. {mns-scheduler-1.1.2.0 → mns-scheduler-1.1.2.2}/mns_scheduler/db/__init__.py +0 -0
  57. {mns-scheduler-1.1.2.0 → mns-scheduler-1.1.2.2}/mns_scheduler/db/col_move_service.py +0 -0
  58. {mns-scheduler-1.1.2.0 → mns-scheduler-1.1.2.2}/mns_scheduler/db/db_status.py +0 -0
  59. {mns-scheduler-1.1.2.0 → mns-scheduler-1.1.2.2}/mns_scheduler/db/real_time_task_check.py +0 -0
  60. {mns-scheduler-1.1.2.0 → mns-scheduler-1.1.2.2}/mns_scheduler/dt/__init__.py +0 -0
  61. {mns-scheduler-1.1.2.0 → mns-scheduler-1.1.2.2}/mns_scheduler/dt/stock_dt_pool_sync.py +0 -0
  62. {mns-scheduler-1.1.2.0/mns_scheduler/hk → mns-scheduler-1.1.2.2/mns_scheduler/finance}/__init__.py +0 -0
  63. {mns-scheduler-1.1.2.0 → mns-scheduler-1.1.2.2}/mns_scheduler/finance/em_financial_asset_liability_sync_service_api.py +0 -0
  64. {mns-scheduler-1.1.2.0 → mns-scheduler-1.1.2.2}/mns_scheduler/finance/em_financial_profit_sync_service_api.py +0 -0
  65. {mns-scheduler-1.1.2.0 → mns-scheduler-1.1.2.2}/mns_scheduler/finance/finance_common_api.py +0 -0
  66. {mns-scheduler-1.1.2.0 → mns-scheduler-1.1.2.2}/mns_scheduler/finance/sync_financial_report_service_api.py +0 -0
  67. {mns-scheduler-1.1.2.0/mns_scheduler/irm → mns-scheduler-1.1.2.2/mns_scheduler/hk}/__init__.py +0 -0
  68. {mns-scheduler-1.1.2.0 → mns-scheduler-1.1.2.2}/mns_scheduler/hk/hk_company_info_sync_service_api.py +0 -0
  69. {mns-scheduler-1.1.2.0/mns_scheduler/irm/api → mns-scheduler-1.1.2.2/mns_scheduler/irm}/__init__.py +0 -0
  70. {mns-scheduler-1.1.2.0/mns_scheduler/k_line/clean/daily → mns-scheduler-1.1.2.2/mns_scheduler/irm/api}/__init__.py +0 -0
  71. {mns-scheduler-1.1.2.0 → mns-scheduler-1.1.2.2}/mns_scheduler/irm/api/sh_stock_sns_sse_info_api.py +0 -0
  72. {mns-scheduler-1.1.2.0 → mns-scheduler-1.1.2.2}/mns_scheduler/irm/api/sz_stock_sns_sse_info_api.py +0 -0
  73. {mns-scheduler-1.1.2.0 → mns-scheduler-1.1.2.2}/mns_scheduler/irm/stock_irm_cninfo_service.py +0 -0
  74. {mns-scheduler-1.1.2.0 → mns-scheduler-1.1.2.2}/mns_scheduler/k_line/__init__.py +0 -0
  75. {mns-scheduler-1.1.2.0 → mns-scheduler-1.1.2.2}/mns_scheduler/k_line/clean/__init__.py +0 -0
  76. {mns-scheduler-1.1.2.0/mns_scheduler/k_line/clean/week_month → mns-scheduler-1.1.2.2/mns_scheduler/k_line/clean/daily}/__init__.py +0 -0
  77. {mns-scheduler-1.1.2.0 → mns-scheduler-1.1.2.2}/mns_scheduler/k_line/clean/daily/daily_k_line_clean_common_service.py +0 -0
  78. {mns-scheduler-1.1.2.0 → mns-scheduler-1.1.2.2}/mns_scheduler/k_line/clean/k_line_info_clean_impl.py +0 -0
  79. {mns-scheduler-1.1.2.0 → mns-scheduler-1.1.2.2}/mns_scheduler/k_line/clean/k_line_info_clean_task.py +0 -0
  80. {mns-scheduler-1.1.2.0/mns_scheduler/k_line/hot_stocks → mns-scheduler-1.1.2.2/mns_scheduler/k_line/clean/week_month}/__init__.py +0 -0
  81. {mns-scheduler-1.1.2.0 → mns-scheduler-1.1.2.2}/mns_scheduler/k_line/clean/week_month/normal_week_month_k_line_service.py +0 -0
  82. {mns-scheduler-1.1.2.0/mns_scheduler/k_line/test → mns-scheduler-1.1.2.2/mns_scheduler/k_line/hot_stocks}/__init__.py +0 -0
  83. {mns-scheduler-1.1.2.0 → mns-scheduler-1.1.2.2}/mns_scheduler/k_line/hot_stocks/recent_hot_stocks_clean_service.py +0 -0
  84. {mns-scheduler-1.1.2.0 → mns-scheduler-1.1.2.2}/mns_scheduler/k_line/sync/__init__.py +0 -0
  85. {mns-scheduler-1.1.2.0 → mns-scheduler-1.1.2.2}/mns_scheduler/k_line/sync/bfq_k_line_sync.py +0 -0
  86. {mns-scheduler-1.1.2.0/mns_scheduler/lhb → mns-scheduler-1.1.2.2/mns_scheduler/k_line/test}/__init__.py +0 -0
  87. {mns-scheduler-1.1.2.0 → mns-scheduler-1.1.2.2}/mns_scheduler/kpl/__init__.py +0 -0
  88. {mns-scheduler-1.1.2.0 → mns-scheduler-1.1.2.2}/mns_scheduler/kpl/selection/__init__.py +0 -0
  89. {mns-scheduler-1.1.2.0 → mns-scheduler-1.1.2.2}/mns_scheduler/kpl/selection/index/__init__.py +0 -0
  90. {mns-scheduler-1.1.2.0 → mns-scheduler-1.1.2.2}/mns_scheduler/kpl/selection/index/sync_best_choose_his_index.py +0 -0
  91. {mns-scheduler-1.1.2.0 → mns-scheduler-1.1.2.2}/mns_scheduler/kpl/selection/index/sync_best_choose_index.py +0 -0
  92. {mns-scheduler-1.1.2.0 → mns-scheduler-1.1.2.2}/mns_scheduler/kpl/selection/symbol/__init__.py +0 -0
  93. {mns-scheduler-1.1.2.0 → mns-scheduler-1.1.2.2}/mns_scheduler/kpl/selection/symbol/sync_best_choose_symbol.py +0 -0
  94. {mns-scheduler-1.1.2.0 → mns-scheduler-1.1.2.2}/mns_scheduler/kpl/selection/total/__init__.py +0 -0
  95. {mns-scheduler-1.1.2.0 → mns-scheduler-1.1.2.2}/mns_scheduler/kpl/selection/total/sync_kpl_best_total_sync_api.py +0 -0
  96. {mns-scheduler-1.1.2.0/mns_scheduler/open → mns-scheduler-1.1.2.2/mns_scheduler/lhb}/__init__.py +0 -0
  97. {mns-scheduler-1.1.2.0 → mns-scheduler-1.1.2.2}/mns_scheduler/lhb/stock_lhb_sync_service.py +0 -0
  98. {mns-scheduler-1.1.2.0/mns_scheduler/risk → mns-scheduler-1.1.2.2/mns_scheduler/open}/__init__.py +0 -0
  99. {mns-scheduler-1.1.2.0 → mns-scheduler-1.1.2.2}/mns_scheduler/open/sync_one_day_open_data_to_db_service.py +0 -0
  100. {mns-scheduler-1.1.2.0/mns_scheduler/risk/test → mns-scheduler-1.1.2.2/mns_scheduler/risk}/__init__.py +0 -0
  101. {mns-scheduler-1.1.2.0 → mns-scheduler-1.1.2.2}/mns_scheduler/risk/compliance/__init__.py +0 -0
  102. {mns-scheduler-1.1.2.0 → mns-scheduler-1.1.2.2}/mns_scheduler/risk/compliance/undisclosed_annual_report_api.py +0 -0
  103. {mns-scheduler-1.1.2.0 → mns-scheduler-1.1.2.2}/mns_scheduler/risk/financial/__init__.py +0 -0
  104. {mns-scheduler-1.1.2.0 → mns-scheduler-1.1.2.2}/mns_scheduler/risk/financial/annual_report_audit_check_api.py +0 -0
  105. {mns-scheduler-1.1.2.0 → mns-scheduler-1.1.2.2}/mns_scheduler/risk/financial/net_assets_check_api.py +0 -0
  106. {mns-scheduler-1.1.2.0 → mns-scheduler-1.1.2.2}/mns_scheduler/risk/financial/profit_income_check_api.py +0 -0
  107. {mns-scheduler-1.1.2.0 → mns-scheduler-1.1.2.2}/mns_scheduler/risk/financial/stock_equity_mortgage_check_api.py +0 -0
  108. {mns-scheduler-1.1.2.0 → mns-scheduler-1.1.2.2}/mns_scheduler/risk/financial_report_risk_check_api.py +0 -0
  109. {mns-scheduler-1.1.2.0 → mns-scheduler-1.1.2.2}/mns_scheduler/risk/major_violations/__init__.py +0 -0
  110. {mns-scheduler-1.1.2.0 → mns-scheduler-1.1.2.2}/mns_scheduler/risk/major_violations/register_and_investigate_stock_sync_api.py +0 -0
  111. {mns-scheduler-1.1.2.0 → mns-scheduler-1.1.2.2}/mns_scheduler/risk/self/__init__.py +0 -0
  112. {mns-scheduler-1.1.2.0 → mns-scheduler-1.1.2.2}/mns_scheduler/risk/self/wei_pan_stock_api.py +0 -0
  113. {mns-scheduler-1.1.2.0/mns_scheduler/zt/script → mns-scheduler-1.1.2.2/mns_scheduler/risk/test}/__init__.py +0 -0
  114. {mns-scheduler-1.1.2.0 → mns-scheduler-1.1.2.2}/mns_scheduler/risk/test/fix_blask_list.py +0 -0
  115. {mns-scheduler-1.1.2.0 → mns-scheduler-1.1.2.2}/mns_scheduler/risk/transactions/__init__.py +0 -0
  116. {mns-scheduler-1.1.2.0 → mns-scheduler-1.1.2.2}/mns_scheduler/risk/transactions/transactions_check_api.py +0 -0
  117. {mns-scheduler-1.1.2.0 → mns-scheduler-1.1.2.2}/mns_scheduler/trade/__init__.py +0 -0
  118. {mns-scheduler-1.1.2.0 → mns-scheduler-1.1.2.2}/mns_scheduler/trade/auto_ipo_buy_api.py +0 -0
  119. {mns-scheduler-1.1.2.0 → mns-scheduler-1.1.2.2}/mns_scheduler/trade/auto_sell_service_api.py +0 -0
  120. {mns-scheduler-1.1.2.0 → mns-scheduler-1.1.2.2}/mns_scheduler/trade/sync_position_api.py +0 -0
  121. {mns-scheduler-1.1.2.0 → mns-scheduler-1.1.2.2}/mns_scheduler/zb/__init__.py +0 -0
  122. {mns-scheduler-1.1.2.0 → mns-scheduler-1.1.2.2}/mns_scheduler/zb/stock_zb_pool_sync.py +0 -0
  123. {mns-scheduler-1.1.2.0 → mns-scheduler-1.1.2.2}/mns_scheduler/zt/__init__.py +0 -0
  124. {mns-scheduler-1.1.2.0 → mns-scheduler-1.1.2.2}/mns_scheduler/zt/connected_boards/__init__.py +0 -0
  125. {mns-scheduler-1.1.2.0 → mns-scheduler-1.1.2.2}/mns_scheduler/zt/connected_boards/zt_five_boards_sync_api.py +0 -0
  126. {mns-scheduler-1.1.2.0 → mns-scheduler-1.1.2.2}/mns_scheduler/zt/export/__init__.py +0 -0
  127. {mns-scheduler-1.1.2.0 → mns-scheduler-1.1.2.2}/mns_scheduler/zt/export/export_kcx_high_chg_open_data_to_excel.py +0 -0
  128. {mns-scheduler-1.1.2.0 → mns-scheduler-1.1.2.2}/mns_scheduler/zt/high_chg/__init__.py +0 -0
  129. {mns-scheduler-1.1.2.0 → mns-scheduler-1.1.2.2}/mns_scheduler/zt/high_chg/sync_high_chg_pool_service.py +0 -0
  130. {mns-scheduler-1.1.2.0 → mns-scheduler-1.1.2.2}/mns_scheduler/zt/high_chg/sync_high_chg_real_time_quotes_service.py +0 -0
  131. {mns-scheduler-1.1.2.0 → mns-scheduler-1.1.2.2}/mns_scheduler/zt/open_data/__init__.py +0 -0
  132. {mns-scheduler-1.1.2.0 → mns-scheduler-1.1.2.2}/mns_scheduler/zt/open_data/kcx_high_chg_open_data_sync.py +0 -0
  133. {mns-scheduler-1.1.2.0 → mns-scheduler-1.1.2.2}/mns_scheduler/zt/zt_pool/__init__.py +0 -0
  134. {mns-scheduler-1.1.2.0 → mns-scheduler-1.1.2.2}/mns_scheduler/zt/zt_pool/ths_zt_pool_sync_api.py +0 -0
  135. {mns-scheduler-1.1.2.0 → mns-scheduler-1.1.2.2}/mns_scheduler/zz_task/__init__.py +0 -0
  136. {mns-scheduler-1.1.2.0 → mns-scheduler-1.1.2.2}/mns_scheduler/zz_task/data_sync_task.py +0 -0
  137. {mns-scheduler-1.1.2.0 → mns-scheduler-1.1.2.2}/mns_scheduler.egg-info/dependency_links.txt +0 -0
  138. {mns-scheduler-1.1.2.0 → mns-scheduler-1.1.2.2}/mns_scheduler.egg-info/top_level.txt +0 -0
  139. {mns-scheduler-1.1.2.0 → mns-scheduler-1.1.2.2}/setup.cfg +0 -0
@@ -1,3 +1,3 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: mns-scheduler
3
- Version: 1.1.2.0
3
+ Version: 1.1.2.2
@@ -0,0 +1,53 @@
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
+ from loguru import logger
9
+
10
+ db_name_list = [
11
+ # 'company_info', 'company_info_base', 'company_info_his', 'company_info_hk', 'de_list_stock',
12
+ # 'em_stock_asset_liability',
13
+ # 'em_stock_profit',
14
+ # 'k_line_info',
15
+ 'kpl_best_choose_daily', 'kpl_best_choose_his', 'kpl_best_choose_index',
16
+ 'kpl_best_choose_index_detail',
17
+ 'kpl_his_quotes', 'recent_hot_stocks', 'self_black_stock', 'self_choose_plate', 'self_choose_stock', 'sse_info_uid',
18
+ 'stock_gdfx_free_top_10', 'stock_high_chg_pool', 'stock_interactive_question', 'stock_qfq_daily',
19
+ 'stock_qfq_monthly', 'stock_qfq_weekly', 'stock_zt_pool', 'stock_zt_pool_five', 'stock_zb_pool', 'sw_industry',
20
+ 'ths_concept_list', 'ths_stock_concept_detail', 'ths_stock_concept_detail_app', 'ths_zt_pool',
21
+ 'today_new_concept_list',
22
+ 'trade_date_list', 'realtime_quotes_now_zt_new', 'realtime_quotes_now_open', 'realtime_quotes_now_zt_new_kc_open']
23
+
24
+
25
+ def db_export(db, col):
26
+ cmd = 'F:/mongo/bin/mongodump.exe --host ' + db + ' -d patience -c ' + col + ' -o D:/back'
27
+ os.system(cmd)
28
+ logger.info("export finished:{}", col)
29
+
30
+
31
+ def db_import(db, col):
32
+ cmd = 'F:/mongo/bin/mongorestore.exe --host ' + db + ' -d patience -c ' + col + ' D:/back/patience/' + col + '.bson'
33
+ os.system(cmd)
34
+
35
+ path = 'D:\\back\\patience\\' + col + '.bson'
36
+ cmd_del = 'del /F /S /Q ' + path
37
+ os.system(cmd_del)
38
+
39
+ logger.info("import finished:{}", col)
40
+
41
+
42
+ def collection_to_local():
43
+ for db_name in db_name_list:
44
+ try:
45
+ db_export('127.0.0.1:27017', db_name)
46
+ db_import('192.168.1.6:27017', db_name)
47
+ logger.info("同步到集合:{}", db_name)
48
+ except BaseException as e:
49
+ logger.error("出现异常:{}", e)
50
+
51
+
52
+ if __name__ == '__main__':
53
+ collection_to_local()
@@ -0,0 +1,55 @@
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
+ from mns_common.db.MongodbUtil import MongodbUtil
9
+ from loguru import logger
10
+
11
+ mongodb_util = MongodbUtil('27017')
12
+
13
+ from mns_common.db.MongodbUtilLocal import MongodbUtil as MongodbUtilLocal
14
+
15
+ mongodbUtilLocal = MongodbUtilLocal('27017')
16
+
17
+ db_name_list = [
18
+ # 'company_info', 'company_info_base', 'company_info_his', 'company_info_hk', 'de_list_stock',
19
+ # 'em_stock_asset_liability',
20
+ # 'em_stock_profit',
21
+ # 'k_line_info',
22
+ # 'kpl_best_choose_daily',
23
+ # 'kpl_best_choose_his',
24
+ # 'kpl_best_choose_index',
25
+ # 'kpl_best_choose_index_detail',
26
+ # 'kpl_his_quotes',
27
+ # 'stock_qfq_daily',
28
+ # 'stock_qfq_monthly',
29
+ # 'stock_qfq_weekly',
30
+ # 'stock_gdfx_free_top_10',
31
+ # 'recent_hot_stocks',
32
+ # 'self_black_stock',
33
+ # 'self_choose_plate', 'self_choose_stock', 'sse_info_uid',
34
+ # 'stock_high_chg_pool', 'stock_interactive_question',
35
+ # 'stock_zt_pool', 'stock_zt_pool_five', 'stock_zb_pool', 'sw_industry',
36
+ # 'ths_concept_list', 'ths_stock_concept_detail','ths_zt_pool',
37
+ # 'today_new_concept_list',
38
+ # 'trade_date_list',
39
+ # 'ths_stock_concept_detail_app',
40
+ "stock_zt_pool"
41
+ ]
42
+
43
+
44
+ def sync_collection_to_local():
45
+ for db_name in db_name_list:
46
+ try:
47
+ df_data = mongodb_util.find_all_data(db_name)
48
+ mongodbUtilLocal.save_mongo(df_data, db_name)
49
+ logger.info("同步到集合:{}", db_name)
50
+ except BaseException as e:
51
+ logger.error("出现异常:{}", e)
52
+
53
+
54
+ if __name__ == '__main__':
55
+ sync_collection_to_local()
@@ -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
+ from mns_common.db.MongodbUtil import MongodbUtil
9
+ from loguru import logger
10
+
11
+ mongodb_util = MongodbUtil('27017')
12
+ from mns_common.db.MongodbUtilLocal import MongodbUtil as MongodbUtilLocal
13
+
14
+ mongodbUtilLocal = MongodbUtilLocal('27017')
15
+
16
+
17
+ def sync_remote_open_data(str_day):
18
+ query_remote = {"str_day": str_day}
19
+ realtime_quotes_now_open_df = mongodb_util.find_query_data('realtime_quotes_now_open', query_remote)
20
+ mongodbUtilLocal.insert_mongo(realtime_quotes_now_open_df, 'realtime_quotes_now_open')
21
+
22
+
23
+ if __name__ == '__main__':
24
+ query = {'$and': [{"_id": {"$gte": "2022-03-16"}},
25
+ {"_id": {"$lte": "2024-06-28"}}]}
26
+ trade_date_list = mongodb_util.find_query_data('trade_date_list', query)
27
+ for trade_one in trade_date_list.itertuples():
28
+ try:
29
+ sync_str_day = trade_one.trade_date
30
+ sync_remote_open_data(sync_str_day)
31
+ logger.info('str_day:{}', sync_str_day)
32
+ except BaseException as e:
33
+ logger.error("同步远程数据异常:{}", e)
@@ -26,8 +26,8 @@ def get_fix_symbol_industry():
26
26
  ['300042', '朗科科技', '270108', '半导体设备'],
27
27
  ['688507', '索辰科技', '710402', '横向通用软件'],
28
28
  ['301387', '光大同创', '270504', '消费电子零部件及组装'],
29
- ['300295', '三六五网', '430300', '物业管理'],
30
- ['300947', '德必集团', '430300', '物业管理'],
29
+ ['300295', '三六五网', '430301', '物业管理'],
30
+ ['300947', '德必集团', '430301', '物业管理'],
31
31
  ['300483', '首华燃气', '410301', '燃气Ⅲ'],
32
32
  ['300215', '电科院', '410110', '电能综合服务'],
33
33
  # 持有上海微电子装备有限公司10%的股份 国产光刻机 主要炒作在芯片概念 不在房地产
@@ -178,4 +178,4 @@ def sync_symbol_all_concept(symbol):
178
178
 
179
179
 
180
180
  if __name__ == '__main__':
181
- sync_symbol_all_concept('301218')
181
+ sync_symbol_all_concept(None)
@@ -10,6 +10,7 @@ import mns_common.utils.date_handle_util as date_handle_util
10
10
  import mns_scheduler.k_line.hot_stocks.recent_hot_stocks_clean_service as recent_hot_stocks_clean_service
11
11
  import mns_scheduler.k_line.clean.daily.daily_k_line_clean_common_service as daily_k_line_clean_common_service
12
12
  from mns_common.component.classify.symbol_classify_param import stock_type_classify_param
13
+ import mns_scheduler.k_line.clean.week_month.sub_new_week_month_k_line_service as sub_new_week_month_k_line_service
13
14
 
14
15
  mongodb_util = MongodbUtil('27017')
15
16
  # 普通股日线查询数据 60
@@ -62,6 +63,11 @@ def handle_day_line_sub_new(k_line_info, str_day, symbol, deal_days):
62
63
  k_line_info = daily_k_line_clean_common_service.calculate_open_chg(stock_qfq_daily, k_line_info)
63
64
  # 计算 昨日最高点到开盘涨幅差值 and # 昨日最高点到当日收盘涨幅之间的差值 and # 昨日收盘到当日开盘涨幅之间的差值
64
65
  k_line_info = daily_k_line_clean_common_service.calculate_chg_diff_value(k_line_info)
66
+ # 计算 月线
67
+ k_line_info = sub_new_week_month_k_line_service.handle_month_line(k_line_info, stock_qfq_daily, deal_days)
68
+ # 计算周线
69
+ k_line_info = sub_new_week_month_k_line_service.handle_week_line(k_line_info, stock_qfq_daily, deal_days)
70
+
65
71
  # 排除最近有三板以上的股票 todo
66
72
  # 计算最近热门大涨的股票
67
73
  recent_hot_stocks_clean_service.calculate_recent_hot_stocks(stock_qfq_daily, symbol, str_day)
@@ -0,0 +1,99 @@
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
+ # 每月最大交易天数
10
+ MAX_TRADE_DAYS_PER_MONTH = 23
11
+ # 每周最大交易天数
12
+ MAX_TRADE_DAYS_PER_WEEK = 5
13
+
14
+
15
+ def handle_month_line(k_line_info, stock_qfq_daily, deal_days):
16
+ # 上市2-23天
17
+ if 1 < deal_days <= MAX_TRADE_DAYS_PER_MONTH:
18
+ month_01 = round(sum(stock_qfq_daily['chg']), 2)
19
+ k_line_info['sum_month'] = month_01
20
+ k_line_info['month_num'] = 1
21
+ k_line_info['month01'] = month_01
22
+ k_line_info['month01_date'] = list(stock_qfq_daily.iloc[0:1]['date'])[0]
23
+ # 上市23-23*2天
24
+ elif (deal_days > MAX_TRADE_DAYS_PER_MONTH) \
25
+ and (deal_days <= MAX_TRADE_DAYS_PER_MONTH * 2):
26
+ stock_qfq_daily_month_01 = stock_qfq_daily.iloc[0:MAX_TRADE_DAYS_PER_MONTH]
27
+ month_01 = round(sum(stock_qfq_daily_month_01['chg']), 2)
28
+ k_line_length = stock_qfq_daily.shape[0]
29
+ stock_qfq_daily_month_02 = stock_qfq_daily.iloc[MAX_TRADE_DAYS_PER_MONTH, k_line_length]
30
+ month_02 = round(sum(stock_qfq_daily_month_02['chg']), 2)
31
+ k_line_info['sum_month'] = round(month_01 + month_02, 2)
32
+ k_line_info['month_num'] = 2
33
+ k_line_info['month01'] = month_01
34
+ k_line_info['month02'] = month_02
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]
37
+ elif deal_days > MAX_TRADE_DAYS_PER_MONTH * 2:
38
+ stock_qfq_daily_month_01 = stock_qfq_daily.iloc[0:MAX_TRADE_DAYS_PER_MONTH]
39
+ month_01 = round(sum(stock_qfq_daily_month_01['chg']), 2)
40
+ stock_qfq_daily_month_02 = stock_qfq_daily.iloc[MAX_TRADE_DAYS_PER_MONTH:MAX_TRADE_DAYS_PER_MONTH * 2]
41
+ month_02 = round(sum(stock_qfq_daily_month_02['chg']), 2)
42
+ k_line_info['month01_date'] = list(stock_qfq_daily_month_01.iloc[0:1]['date'])[0]
43
+ k_line_info['month02_date'] = list(stock_qfq_daily_month_02.iloc[0:1]['date'])[0]
44
+ k_line_info['sum_month'] = round(month_01 + month_02, 2)
45
+ k_line_info['month_num'] = 2
46
+ k_line_info['month01'] = month_01
47
+ k_line_info['month02'] = month_02
48
+
49
+ return k_line_info
50
+
51
+
52
+ def handle_week_line(k_line_info, stock_qfq_daily, deal_days):
53
+ if 1 < deal_days <= MAX_TRADE_DAYS_PER_WEEK:
54
+ week_01 = round(sum(stock_qfq_daily['chg']), 2)
55
+ k_line_info['sum_week'] = week_01
56
+ k_line_info['week_num'] = 1
57
+ k_line_info['week01'] = week_01
58
+ k_line_info['week_last_day'] = list(stock_qfq_daily.iloc[0:1]['date'])[0]
59
+ elif MAX_TRADE_DAYS_PER_WEEK < deal_days <= MAX_TRADE_DAYS_PER_WEEK * 2:
60
+ stock_qfq_daily_week_01 = stock_qfq_daily.iloc[0:MAX_TRADE_DAYS_PER_WEEK]
61
+ stock_qfq_daily_week_02 = stock_qfq_daily.iloc[MAX_TRADE_DAYS_PER_WEEK:MAX_TRADE_DAYS_PER_WEEK * 2]
62
+ week_01 = round(sum(stock_qfq_daily_week_01['chg']), 2)
63
+ week_02 = round(sum(stock_qfq_daily_week_02['chg']), 2)
64
+ k_line_info['sum_week'] = week_01 + week_02
65
+ k_line_info['week_num'] = 2
66
+ k_line_info['week01'] = week_01
67
+ k_line_info['week02'] = week_02
68
+ k_line_info['week_last_day'] = list(stock_qfq_daily_week_01.iloc[0:1]['date'])[0]
69
+ elif MAX_TRADE_DAYS_PER_WEEK < deal_days <= MAX_TRADE_DAYS_PER_WEEK * 3:
70
+ stock_qfq_daily_week_01 = stock_qfq_daily.iloc[0:MAX_TRADE_DAYS_PER_WEEK]
71
+ stock_qfq_daily_week_02 = stock_qfq_daily.iloc[MAX_TRADE_DAYS_PER_WEEK: MAX_TRADE_DAYS_PER_WEEK * 2]
72
+ stock_qfq_daily_week_03 = stock_qfq_daily.iloc[MAX_TRADE_DAYS_PER_WEEK * 2: MAX_TRADE_DAYS_PER_WEEK * 3]
73
+ week_01 = round(sum(stock_qfq_daily_week_01['chg']), 2)
74
+ week_02 = round(sum(stock_qfq_daily_week_02['chg']), 2)
75
+ week_03 = round(sum(stock_qfq_daily_week_03['chg']), 2)
76
+ k_line_info['sum_week'] = week_01 + week_02 + week_03
77
+ k_line_info['week_num'] = 3
78
+ k_line_info['week01'] = week_01
79
+ k_line_info['week02'] = week_02
80
+ k_line_info['week03'] = week_03
81
+ k_line_info['week_last_day'] = list(stock_qfq_daily_week_01.iloc[0:1]['date'])[0]
82
+
83
+ elif MAX_TRADE_DAYS_PER_WEEK * 3 < deal_days:
84
+ stock_qfq_daily_week_01 = stock_qfq_daily.iloc[0:MAX_TRADE_DAYS_PER_WEEK]
85
+ stock_qfq_daily_week_02 = stock_qfq_daily.iloc[MAX_TRADE_DAYS_PER_WEEK:MAX_TRADE_DAYS_PER_WEEK * 2]
86
+ stock_qfq_daily_week_03 = stock_qfq_daily.iloc[MAX_TRADE_DAYS_PER_WEEK * 2: MAX_TRADE_DAYS_PER_WEEK * 3]
87
+ stock_qfq_daily_week_04 = stock_qfq_daily.iloc[MAX_TRADE_DAYS_PER_WEEK * 3: MAX_TRADE_DAYS_PER_WEEK * 4]
88
+ week_01 = round(sum(stock_qfq_daily_week_01['chg']), 2)
89
+ week_02 = round(sum(stock_qfq_daily_week_02['chg']), 2)
90
+ week_03 = round(sum(stock_qfq_daily_week_03['chg']), 2)
91
+ week_04 = round(sum(stock_qfq_daily_week_04['chg']), 2)
92
+ k_line_info['sum_week'] = week_01 + week_02 + week_03 + week_04
93
+ k_line_info['week_num'] = 4
94
+ k_line_info['week01'] = week_01
95
+ k_line_info['week02'] = week_02
96
+ k_line_info['week03'] = week_03
97
+ k_line_info['week04'] = week_04
98
+ k_line_info['week_last_day'] = stock_qfq_daily_week_01.iloc[0:1]['date']
99
+ return k_line_info
@@ -63,7 +63,7 @@ def sync_all_daily_data(period='daily',
63
63
  hq='hfq',
64
64
  hq_col='stock_hfq_daily',
65
65
  end_date='22220101',
66
- symbol=None):
66
+ symbol_list=None):
67
67
  create_db_index(hq_col)
68
68
 
69
69
  real_time_quotes_now_es = east_money_stock_api.get_real_time_quotes_all_stocks()
@@ -71,8 +71,8 @@ def sync_all_daily_data(period='daily',
71
71
  real_time_quotes_now = common_service_fun_api.exclude_b_symbol(real_time_quotes_now_es.copy())
72
72
 
73
73
  real_time_quotes_now = common_service_fun_api.total_mv_classification(real_time_quotes_now.copy())
74
- if symbol is not None:
75
- real_time_quotes_now = real_time_quotes_now.loc[real_time_quotes_now['symbol'] == symbol]
74
+ if symbol_list is not None:
75
+ real_time_quotes_now = real_time_quotes_now.loc[real_time_quotes_now['symbol'].isin(symbol_list)]
76
76
 
77
77
  real_time_quotes_now = real_time_quotes_now.sort_values(by=['chg'], ascending=False)
78
78
  fail_symbol_list = []
@@ -25,5 +25,5 @@ def clean_history_data():
25
25
 
26
26
 
27
27
  if __name__ == '__main__':
28
- k_line_info_clean_task.sync_k_line_info('2023-12-29', ['301578'])
28
+ k_line_info_clean_task.sync_k_line_info('2024-06-13', ['301591'])
29
29
  # clean_history_data()
@@ -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)
@@ -83,7 +83,7 @@ def fix_miss_data(str_end):
83
83
 
84
84
 
85
85
  if __name__ == '__main__':
86
- kcx_high_chg_open_data_sync.sync_all_kc_zt_data('2024-06-24', None)
86
+ kcx_high_chg_open_data_sync.sync_all_kc_zt_data('2024-06-25', None)
87
87
  # sync_all_kc_zt_data('2023-08-16')
88
88
  # sync_all_kc_zt_data('2023-07-07')
89
89
  # realtime_quotes_now_zt_new_kc_open_sync()
@@ -36,4 +36,4 @@ def sync_his_zt_pool_data(begin_day, end_day):
36
36
 
37
37
 
38
38
  if __name__ == '__main__':
39
- sync_high_chg_pool_service.sync_stock_high_chg_pool_list('2024-06-24', None)
39
+ sync_high_chg_pool_service.sync_stock_high_chg_pool_list('2024-06-25', None)
@@ -0,0 +1,42 @@
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_stock_api as east_money_stock_api
9
+ import mns_common.component.common_service_fun_api as common_service_fun_api
10
+ import mns_scheduler.k_line.sync.daily_week_month_line_sync as daily_week_month_line_sync
11
+ from datetime import datetime
12
+ import mns_scheduler.zt.zt_pool.em_zt_pool_sync_api as em_zt_pool_sync_api
13
+ import mns_scheduler.zt.high_chg.sync_high_chg_pool_service as sync_high_chg_pool_service
14
+ import mns_scheduler.zt.open_data.kcx_high_chg_open_data_sync as kcx_high_chg_open_data_sync
15
+ import mns_scheduler.zt.high_chg.sync_high_chg_real_time_quotes_service as sync_high_chg_real_time_quotes_service
16
+
17
+
18
+ def sync_now_day_high_chg():
19
+ real_time_quotes_now_es = east_money_stock_api.get_real_time_quotes_all_stocks()
20
+ real_time_quotes_now_es_high_chg = real_time_quotes_now_es.loc[
21
+ real_time_quotes_now_es['chg'] > common_service_fun_api.ZT_CHG]
22
+ # 同步qfq k线
23
+ daily_week_month_line_sync.sync_all_daily_data('daily', 'qfq', 'stock_qfq_daily', None,
24
+ list(real_time_quotes_now_es_high_chg['symbol']))
25
+
26
+ now_date = datetime.now()
27
+
28
+ str_now_day = now_date.strftime('%Y-%m-%d')
29
+ # 同步当前涨停
30
+ em_zt_pool_sync_api.save_zt_info(str_now_day)
31
+
32
+ # 同步涨幅列表
33
+ sync_high_chg_pool_service.sync_stock_high_chg_pool_list(str_now_day, None)
34
+
35
+ # 同步kcx 集合竞价数据
36
+ kcx_high_chg_open_data_sync.sync_all_kc_zt_data(str_now_day, None)
37
+ # 同步实时行情数据
38
+ sync_high_chg_real_time_quotes_service.sync_high_chg_real_time_quotes(str_now_day)
39
+
40
+
41
+ if __name__ == '__main__':
42
+ sync_now_day_high_chg()
@@ -132,7 +132,7 @@ def save_zt_info(str_day):
132
132
 
133
133
 
134
134
  if __name__ == '__main__':
135
- save_zt_info('2024-06-21')
135
+ save_zt_info('2024-06-25')
136
136
  # from datetime import datetime
137
137
  #
138
138
  # if __name__ == '__main__':
@@ -1,3 +1,3 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: mns-scheduler
3
- Version: 1.1.2.0
3
+ Version: 1.1.2.2
@@ -6,6 +6,10 @@ mns_scheduler.egg-info/SOURCES.txt
6
6
  mns_scheduler.egg-info/dependency_links.txt
7
7
  mns_scheduler.egg-info/top_level.txt
8
8
  mns_scheduler/backup/__init__.py
9
+ mns_scheduler/backup/data/__init__.py
10
+ mns_scheduler/backup/data/collection_move.py
11
+ mns_scheduler/backup/data/sync_data_to_local.py
12
+ mns_scheduler/backup/data/sync_remote_by_str_day.py
9
13
  mns_scheduler/backup/em/__init__.py
10
14
  mns_scheduler/backup/em/em_new_concept_his_sync.py
11
15
  mns_scheduler/backup/em/em_new_concept_sync_common_api.py
@@ -124,6 +128,7 @@ mns_scheduler/zt/open_data/kcx_high_chg_open_data_sync.py
124
128
  mns_scheduler/zt/script/__init__.py
125
129
  mns_scheduler/zt/script/kcx_high_chg_open_his_data_handle.py
126
130
  mns_scheduler/zt/script/sync_high_chg_pool_his_data.py
131
+ mns_scheduler/zt/script/sync_now_higt_chg_zt.py
127
132
  mns_scheduler/zt/zt_pool/__init__.py
128
133
  mns_scheduler/zt/zt_pool/em_zt_pool_sync_api.py
129
134
  mns_scheduler/zt/zt_pool/ths_zt_pool_sync_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.1.2.0',
5
+ version='1.1.2.2',
6
6
  packages=find_packages(),
7
7
  install_requires=[], # 如果有依赖项,可以在这里列出
8
8
  )
@@ -1,47 +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
- # 每月最大交易天数
10
- MAX_TRADE_DAYS_PER_MONTH = 23
11
- # 每周最大交易天数
12
- MAX_TRADE_DAYS_PER_MONTH = 5
13
-
14
-
15
- def handle_month_week_line(k_line_info, stock_qfq_daily, deal_days):
16
- if 1 < deal_days < MAX_TRADE_DAYS_PER_MONTH:
17
- month_01 = round(sum(stock_qfq_daily['chg']), 2)
18
- k_line_info['sum_month'] = month_01
19
- k_line_info['month_num'] = 1
20
- k_line_info['month01'] = month_01
21
- elif (deal_days >= MAX_TRADE_DAYS_PER_MONTH) \
22
- and (deal_days < MAX_TRADE_DAYS_PER_MONTH * 2):
23
- stock_qfq_daily_month_01 = stock_qfq_daily.iloc[0:MAX_TRADE_DAYS_PER_MONTH]
24
- month_01 = round(sum(stock_qfq_daily_month_01['chg']), 2)
25
- stock_qfq_daily_month_02 = stock_qfq_daily.iloc[MAX_TRADE_DAYS_PER_MONTH + 1, deal_days - 1]
26
- month_02 = round(sum(stock_qfq_daily_month_02['chg']), 2)
27
- k_line_info['sum_month'] = round(month_01 + month_02, 2)
28
- k_line_info['month_num'] = 2
29
- k_line_info['month01'] = month_01
30
- k_line_info['month_02'] = month_02
31
- elif deal_days >= MAX_TRADE_DAYS_PER_MONTH * 2:
32
- stock_qfq_daily_month_01 = stock_qfq_daily.iloc[0:MAX_TRADE_DAYS_PER_MONTH]
33
- month_01 = round(sum(stock_qfq_daily_month_01['chg']), 2)
34
- stock_qfq_daily_month_02 = stock_qfq_daily.iloc[MAX_TRADE_DAYS_PER_MONTH + 1, MAX_TRADE_DAYS_PER_MONTH * 2]
35
- month_02 = round(sum(stock_qfq_daily_month_02['chg']), 2)
36
-
37
- stock_qfq_daily_week_sum = stock_qfq_daily.iloc[MAX_TRADE_DAYS_PER_MONTH * 2 + 1, deal_days - 1]
38
-
39
- week_sum = round(sum(stock_qfq_daily_week_sum['chg']), 2)
40
-
41
- k_line_info['sum_month'] = round(month_01 + month_02, 2)
42
- k_line_info['month_num'] = 2
43
- k_line_info['month01'] = month_01
44
- k_line_info['month_02'] = month_02
45
-
46
- k_line_info['week_num'] = week_sum
47
- return k_line_info