mns-scheduler 1.0.8.7__py3-none-any.whl → 1.4.3.2__py3-none-any.whl

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.
Files changed (156) hide show
  1. mns_scheduler/__init__.py +1 -3
  2. mns_scheduler/company_info/announce/company_announce_sync_service.py +65 -0
  3. mns_scheduler/company_info/{company_info_sync_api.py → base/sync_company_base_info_api.py} +239 -227
  4. mns_scheduler/company_info/base/sync_company_hold_info_api.py +37 -0
  5. mns_scheduler/company_info/base/sync_company_product_area_industry.py +161 -0
  6. mns_scheduler/company_info/clean/company_info_clean_api.py +133 -0
  7. mns_scheduler/company_info/constant/company_constant_data.py +497 -0
  8. mns_scheduler/company_info/{de_list_stock_service.py → de_list_stock/de_list_stock_service.py} +1 -1
  9. mns_scheduler/company_info/em_stock_info/__init__.py +7 -0
  10. mns_scheduler/company_info/em_stock_info/sync_em_stock_info_sync.py +80 -0
  11. mns_scheduler/company_info/remark/__init__.py +7 -0
  12. mns_scheduler/company_info/remark/company_remark_info_sync.py +46 -0
  13. mns_scheduler/concept/clean/kpl_concept_clean_api.py +1 -1
  14. mns_scheduler/concept/clean/ths_concept_clean_api.py +74 -51
  15. mns_scheduler/concept/ths/common/ths_concept_sync_common_api.py +112 -56
  16. mns_scheduler/concept/ths/common/ths_concept_update_common_api.py +6 -6
  17. mns_scheduler/concept/ths/detaill/__init__.py +0 -0
  18. mns_scheduler/concept/ths/detaill/ths_concept_detail_api.py +226 -0
  19. mns_scheduler/concept/ths/sync_new_index/sync_ths_concept_new_index_api.py +169 -0
  20. mns_scheduler/concept/ths/update_concept_info/sync_one_concept_all_symbols_api.py +11 -23
  21. mns_scheduler/concept/ths/update_concept_info/sync_one_symbol_all_concepts_api.py +19 -15
  22. mns_scheduler/db/col_move_service.py +10 -7
  23. mns_scheduler/db/db_status.py +1 -1
  24. mns_scheduler/db/script/__init__.py +7 -0
  25. mns_scheduler/db/script/col_move_script.py +45 -0
  26. mns_scheduler/db/script/db_move/__init__.py +7 -0
  27. mns_scheduler/db/script/db_move/col_move_one_service.py +34 -0
  28. mns_scheduler/db/script/sync/__init__.py +7 -0
  29. mns_scheduler/db/script/sync/local_mongo_util.py +231 -0
  30. mns_scheduler/db/script/sync/remote_data_sync_to_local.py +105 -0
  31. mns_scheduler/db/script/sync/remote_mongo_util.py +306 -0
  32. mns_scheduler/db/script/sync/sync_hui_ce_test_data.py +80 -0
  33. mns_scheduler/db/script/sync/sync_hui_ce_test_data_01.py +69 -0
  34. mns_scheduler/db/script/update/__init__.py +7 -0
  35. mns_scheduler/db/script/update/update_col_field.py +36 -0
  36. mns_scheduler/finance/__init__.py +1 -1
  37. mns_scheduler/finance/{em_financial_asset_liability_sync_service_api.py → em/em_financial_asset_liability_sync_service_api.py} +3 -3
  38. mns_scheduler/finance/{em_financial_profit_sync_service_api.py → em/em_financial_profit_sync_service_api.py} +30 -25
  39. mns_scheduler/finance/{finance_common_api.py → em/finance_common_api.py} +4 -4
  40. mns_scheduler/finance/sync_financial_report_service_task.py +202 -0
  41. mns_scheduler/finance/xue_qiu/down_load_xueqiu_report_api.py +77 -0
  42. mns_scheduler/finance/xue_qiu/sync_xue_qiu_fiance_data.py +161 -0
  43. mns_scheduler/hk/__init__.py +1 -1
  44. mns_scheduler/hk/hk_company_info_sync_service_api.py +49 -5
  45. mns_scheduler/hk/hk_industry_info_sync_service_api.py +68 -0
  46. mns_scheduler/industry/__init__.py +7 -0
  47. mns_scheduler/industry/ths/__init__.py +7 -0
  48. mns_scheduler/industry/ths/ths_industry_index_service.py +58 -0
  49. mns_scheduler/industry/ths/ths_industry_sync_service.py +68 -0
  50. mns_scheduler/irm/__init__.py +1 -1
  51. mns_scheduler/irm/api/__init__.py +1 -1
  52. mns_scheduler/irm/api/sh_stock_sns_sse_info_api.py +1 -1
  53. mns_scheduler/irm/api/sz_stock_sns_sse_info_api.py +1 -1
  54. mns_scheduler/irm/stock_irm_cninfo_service.py +15 -13
  55. mns_scheduler/k_line/clean/daily/__init__.py +1 -1
  56. mns_scheduler/k_line/clean/daily/daily_k_line_clean_common_service.py +57 -7
  57. mns_scheduler/k_line/clean/daily/daily_k_line_service.py +16 -3
  58. mns_scheduler/k_line/clean/k_line_info_clean_impl.py +3 -2
  59. mns_scheduler/k_line/clean/k_line_info_clean_task.py +42 -31
  60. mns_scheduler/k_line/clean/week_month/__init__.py +1 -1
  61. mns_scheduler/k_line/clean/week_month/normal_week_month_k_line_service.py +125 -27
  62. mns_scheduler/k_line/clean/week_month/sub_new_week_month_k_line_service.py +72 -17
  63. mns_scheduler/k_line/common/__init__.py +7 -0
  64. mns_scheduler/k_line/common/k_line_common_api.py +188 -0
  65. mns_scheduler/k_line/hot_stocks/__init__.py +1 -1
  66. mns_scheduler/k_line/hot_stocks/recent_hot_stocks_clean_service.py +1 -1
  67. mns_scheduler/k_line/month_week_daily/bfq_k_line_sync.py +77 -0
  68. mns_scheduler/k_line/{sync → month_week_daily}/daily_week_month_line_sync.py +14 -14
  69. mns_scheduler/k_line/sync_status/__init__.py +7 -0
  70. mns_scheduler/k_line/sync_status/k_line_sync_status_check.py +54 -0
  71. mns_scheduler/k_line/test/__init__.py +7 -0
  72. mns_scheduler/k_line/test/k_line_info_clean_his_data.py +41 -0
  73. mns_scheduler/k_line/year_quarter/__init__.py +7 -0
  74. mns_scheduler/k_line/year_quarter/year_quarter_line_sync.py +76 -0
  75. mns_scheduler/kpl/selection/symbol/sync_best_choose_symbol.py +4 -2
  76. mns_scheduler/kpl/selection/symbol/sync_kpl_concept_symbol_choose_reason_api.py +108 -0
  77. mns_scheduler/kpl/selection/total/sync_kpl_best_total_sync_api.py +12 -7
  78. mns_scheduler/lhb/__init__.py +1 -1
  79. mns_scheduler/lhb/stock_lhb_sync_service.py +1 -1
  80. mns_scheduler/open/__init__.py +1 -1
  81. mns_scheduler/open/sync_one_day_open_data_to_db_service.py +6 -22
  82. mns_scheduler/risk/__init__.py +1 -1
  83. mns_scheduler/risk/compliance/__init__.py +0 -0
  84. mns_scheduler/risk/compliance/undisclosed_annual_report_api.py +71 -0
  85. mns_scheduler/risk/financial/__init__.py +0 -0
  86. mns_scheduler/risk/financial/annual_report_audit_check_api.py +54 -0
  87. mns_scheduler/risk/financial/net_assets_check_api.py +75 -0
  88. mns_scheduler/risk/financial/profit_income_check_api.py +80 -0
  89. mns_scheduler/risk/financial/stock_equity_mortgage_check_api.py +1 -0
  90. mns_scheduler/risk/financial_report_risk_check_api.py +42 -0
  91. mns_scheduler/risk/major_violations/__init__.py +0 -0
  92. mns_scheduler/risk/{register_and_investigate_stock_sync_api.py → major_violations/register_and_investigate_stock_sync_api.py} +17 -8
  93. mns_scheduler/risk/self/__init__.py +0 -0
  94. mns_scheduler/risk/{wei_pan_stock_api.py → self/wei_pan_stock_api.py} +10 -4
  95. mns_scheduler/risk/test/__init__.py +7 -0
  96. mns_scheduler/{finance → risk}/test/fix_blask_list.py +6 -10
  97. mns_scheduler/risk/transactions/__init__.py +0 -0
  98. mns_scheduler/risk/transactions/transactions_check_api.py +183 -0
  99. mns_scheduler/self_choose/__init__.py +7 -0
  100. mns_scheduler/self_choose/ths_self_choose_service.py +158 -0
  101. mns_scheduler/trade/auto_ipo_buy_api.py +2 -2
  102. mns_scheduler/trade/auto_login/__init__.py +7 -0
  103. mns_scheduler/trade/auto_login/trader_auto_service.py +32 -0
  104. mns_scheduler/trade/auto_sell_service_api.py +10 -8
  105. mns_scheduler/trade/balance/__init__.py +7 -0
  106. mns_scheduler/trade/balance/ths_account_balance_service.py +7 -0
  107. mns_scheduler/trade/sync_position_api.py +41 -8
  108. mns_scheduler/trade/task/__init__.py +7 -0
  109. mns_scheduler/trade/task/trader_task_service.py +65 -0
  110. mns_scheduler/trade/tfp/__init__.py +7 -0
  111. mns_scheduler/trade/tfp/stock_tfp_info_sync.py +56 -0
  112. mns_scheduler/zb/stock_zb_pool_sync.py +1 -15
  113. mns_scheduler/zt/high_chg/sync_high_chg_pool_service.py +2 -3
  114. mns_scheduler/zt/high_chg/sync_high_chg_real_time_quotes_service.py +12 -8
  115. mns_scheduler/zt/open_data/kcx_high_chg_open_data_sync.py +10 -25
  116. mns_scheduler/zt/script/__init__.py +1 -1
  117. mns_scheduler/zt/script/fix_error_deal_day.py +41 -0
  118. mns_scheduler/zt/script/kcx_high_chg_open_his_data_handle.py +2 -11
  119. mns_scheduler/zt/script/sync_high_chg_pool_his_data.py +2 -2
  120. mns_scheduler/zt/script/sync_now_higt_chg_zt.py +43 -0
  121. mns_scheduler/zt/zt_pool/em_zt_pool_sync_api.py +413 -0
  122. mns_scheduler/zt/zt_pool/ths_zt_pool_sync_api.py +193 -0
  123. mns_scheduler/zt/zt_pool/update_null_zt_reason_api.py +58 -0
  124. mns_scheduler/zz_task/compensation/__init__.py +0 -0
  125. mns_scheduler/zz_task/compensation/compensate_task.py +161 -0
  126. mns_scheduler/zz_task/compensation/compensate_task_one_day.py +142 -0
  127. mns_scheduler/zz_task/data_sync_task.py +271 -121
  128. {mns_scheduler-1.0.8.7.dist-info → mns_scheduler-1.4.3.2.dist-info}/METADATA +1 -1
  129. mns_scheduler-1.4.3.2.dist-info/RECORD +169 -0
  130. {mns_scheduler-1.0.8.7.dist-info → mns_scheduler-1.4.3.2.dist-info}/WHEEL +1 -1
  131. mns_scheduler/backup/app/ths_new_concept_sync_app.py +0 -122
  132. mns_scheduler/backup/em/em_new_concept_his_sync.py +0 -99
  133. mns_scheduler/backup/em/em_new_concept_sync_common_api.py +0 -139
  134. mns_scheduler/backup/em/em_new_concept_sync_web.py +0 -55
  135. mns_scheduler/backup/wen_cai/wen_cai_concept_sync.py +0 -51
  136. mns_scheduler/big_deal/ths_big_deal_sync.py +0 -98
  137. mns_scheduler/company_info/company_constant_data.py +0 -322
  138. mns_scheduler/concept/ths/sync_new_index/sync_ths_concept_by_ak_api.py +0 -103
  139. mns_scheduler/concept/ths/sync_new_index/sync_ths_new_concept_by_web_api.py +0 -89
  140. mns_scheduler/finance/financial_high_risk_stock_clean_service_api.py +0 -202
  141. mns_scheduler/finance/sync_financial_report_service_api.py +0 -113
  142. mns_scheduler/real_time/realtime_quotes_now_create_db_index.py +0 -27
  143. mns_scheduler/real_time/realtime_quotes_now_sync.py +0 -232
  144. mns_scheduler/risk/stock_equity_mortgage_sync_api.py +0 -32
  145. mns_scheduler/zt/zt_pool/zt_pool_sync_api.py +0 -151
  146. mns_scheduler/zz_task/sync_realtime_quotes_task.py +0 -28
  147. mns_scheduler-1.0.8.7.dist-info/RECORD +0 -112
  148. /mns_scheduler/{backup/app → company_info/announce}/__init__.py +0 -0
  149. /mns_scheduler/{backup/em → company_info/base}/__init__.py +0 -0
  150. /mns_scheduler/{backup/wen_cai → company_info/clean}/__init__.py +0 -0
  151. /mns_scheduler/{big_deal → company_info/constant}/__init__.py +0 -0
  152. /mns_scheduler/{real_time → company_info/de_list_stock}/__init__.py +0 -0
  153. /mns_scheduler/{backup → finance/em}/__init__.py +0 -0
  154. /mns_scheduler/finance/{test → xue_qiu}/__init__.py +0 -0
  155. /mns_scheduler/k_line/{sync → month_week_daily}/__init__.py +0 -0
  156. {mns_scheduler-1.0.8.7.dist-info → mns_scheduler-1.4.3.2.dist-info}/top_level.txt +0 -0
@@ -5,8 +5,14 @@ file_path = os.path.abspath(__file__)
5
5
  end = file_path.index('mns') + 17
6
6
  project_path = file_path[0:end]
7
7
  sys.path.append(project_path)
8
-
9
- import mns_scheduler.risk.register_and_investigate_stock_sync_api as register_and_investigate_stock_sync_api
8
+ import warnings
9
+
10
+ # 忽略所有警告
11
+ warnings.filterwarnings("ignore")
12
+ import mns_scheduler.company_info.em_stock_info.sync_em_stock_info_sync as sync_em_stock_info_sync
13
+ import mns_scheduler.self_choose.ths_self_choose_service as ths_self_choose_service
14
+ import mns_scheduler.risk.major_violations.register_and_investigate_stock_sync_api \
15
+ as register_and_investigate_stock_sync_api
10
16
  from loguru import logger
11
17
  from apscheduler.schedulers.blocking import BlockingScheduler
12
18
  from datetime import datetime
@@ -14,37 +20,48 @@ import mns_scheduler.dt.stock_dt_pool_sync as stock_dt_pool_sync_api
14
20
  import mns_scheduler.zb.stock_zb_pool_sync as stock_zb_pool_sync_api
15
21
  import mns_common.component.trade_date.trade_date_common_service_api as trade_date_common_service_api
16
22
  import mns_common.utils.date_handle_util as date_handle_util
17
- import mns_scheduler.k_line.sync.daily_week_month_line_sync as daily_week_month_line_sync_api
18
- import mns_common.utils.ip_util as ip_util
23
+ import mns_scheduler.k_line.month_week_daily.daily_week_month_line_sync as daily_week_month_line_sync_api
24
+ import mns_scheduler.company_info.announce.company_announce_sync_service as company_announce_sync_service
19
25
  import mns_scheduler.db.col_move_service as col_move_service
20
26
  import mns_scheduler.db.db_status as db_status_api
21
- import mns_scheduler.big_deal.ths_big_deal_sync as ths_big_deal_sync_api
22
27
  import mns_scheduler.zt.open_data.kcx_high_chg_open_data_sync as kcx_high_chg_open_data_sync
23
28
  import mns_scheduler.zt.export.export_kcx_high_chg_open_data_to_excel as export_kcx_high_chg_open_data_to_excel
24
29
  import mns_scheduler.zt.connected_boards.zt_five_boards_sync_api as zt_five_boards_sync_api
25
- import mns_scheduler.zt.zt_pool.zt_pool_sync_api as zt_pool_sync_api
30
+ import mns_scheduler.zt.zt_pool.em_zt_pool_sync_api as em_zt_pool_sync_api
26
31
  import mns_scheduler.k_line.clean.k_line_info_clean_task as k_line_info_clean_service
27
32
  import mns_scheduler.concept.clean.ths_concept_clean_api as ths_concept_choose_api
28
- import mns_common.api.em.east_money_stock_gdfx_free_top_10_api as east_money_stock_gdfx_free_top_10_api
33
+ import mns_common.api.em.gd.east_money_stock_gdfx_free_top_10_api as east_money_stock_gdfx_free_top_10_api
29
34
  import \
30
35
  mns_scheduler.concept.ths.update_concept_info.sync_one_concept_all_symbols_api as sync_one_concept_all_symbols_api
31
36
  import \
32
37
  mns_scheduler.concept.ths.update_concept_info.sync_one_symbol_all_concepts_api as sync_one_symbol_all_concepts_api
33
- import mns_scheduler.concept.ths.sync_new_index.sync_ths_new_concept_by_web_api as sync_ths_new_concept_by_web_api
34
- import mns_scheduler.concept.ths.sync_new_index.sync_ths_concept_by_ak_api as sync_ths_concept_by_ak_api
35
38
  import mns_scheduler.kpl.selection.total.sync_kpl_best_total_sync_api as sync_kpl_best_total_sync_api
36
- import mns_scheduler.company_info.company_info_sync_api as company_info_sync_api
39
+ import mns_scheduler.company_info.base.sync_company_base_info_api as company_info_sync_api
37
40
  import mns_scheduler.trade.auto_ipo_buy_api as auto_ipo_buy_api
38
41
  import mns_scheduler.kpl.selection.index.sync_best_choose_his_index as sync_best_choose_his_index
39
42
  import mns_scheduler.concept.ths.common.ths_concept_update_common_api as ths_concept_update_common_api
40
43
  import mns_scheduler.trade.sync_position_api as sync_position_api
41
44
  import mns_scheduler.concept.clean.kpl_concept_clean_api as kpl_concept_clean_api
42
- import mns_scheduler.company_info.de_list_stock_service as de_list_stock_service
45
+ import mns_scheduler.company_info.de_list_stock.de_list_stock_service as de_list_stock_service
43
46
  import mns_scheduler.irm.stock_irm_cninfo_service as stock_irm_cninfo_service
44
47
  import mns_scheduler.open.sync_one_day_open_data_to_db_service as sync_one_day_open_data_to_db_service
45
48
  import mns_scheduler.zt.high_chg.sync_high_chg_pool_service as sync_high_chg_pool_service
46
49
  import mns_scheduler.zt.high_chg.sync_high_chg_real_time_quotes_service as sync_high_chg_real_time_quotes_service
47
- import mns_scheduler.risk.wei_pan_stock_api as wei_pan_stock_api
50
+ import mns_scheduler.risk.transactions.transactions_check_api as transactions_check_api
51
+ import mns_scheduler.concept.ths.sync_new_index.sync_ths_concept_new_index_api as sync_ths_concept_new_index_api
52
+ import mns_scheduler.company_info.clean.company_info_clean_api as company_info_clean_api
53
+ import mns_scheduler.zt.zt_pool.ths_zt_pool_sync_api as ths_zt_pool_sync_api
54
+ import mns_scheduler.trade.task.trader_task_service as trader_task_service
55
+ import mns_scheduler.company_info.remark.company_remark_info_sync as company_remark_info_sync
56
+ import mns_scheduler.finance.sync_financial_report_service_task as sync_financial_report_service_task
57
+ import mns_scheduler.hk.hk_industry_info_sync_service_api as hk_industry_info_sync_service_api
58
+ import mns_scheduler.hk.hk_company_info_sync_service_api as hk_company_info_sync_service_api
59
+ import mns_scheduler.zt.zt_pool.update_null_zt_reason_api as update_null_zt_reason_api
60
+ import mns_scheduler.trade.tfp.stock_tfp_info_sync as stock_tfp_info_sync
61
+ import mns_scheduler.industry.ths.ths_industry_sync_service as ths_industry_sync_service
62
+ import mns_scheduler.k_line.year_quarter.year_quarter_line_sync as year_quarter_line_sync
63
+ import mns_scheduler.k_line.sync_status.k_line_sync_status_check as k_line_sync_status_check
64
+ import mns_scheduler.company_info.base.sync_company_product_area_industry as sync_company_product_area_industry_api
48
65
 
49
66
 
50
67
  # 同步交易日期任务完成
@@ -68,7 +85,9 @@ def sync_stock_zb_pool():
68
85
  str_now_day = now_date.strftime('%Y-%m-%d')
69
86
  if trade_date_common_service_api.is_trade_day(str_now_day):
70
87
  stock_zb_pool_sync_api.sync_stock_zb_pool(str_now_day)
71
- logger.info("同步跌停信息任务执行成功:{}", str_now_day)
88
+ logger.info("同步炸板信息任务执行成功:{}", str_now_day)
89
+ # 同步停复牌信息
90
+ sync_stock_tfp()
72
91
 
73
92
 
74
93
  # 定时同步每周交易行情数据(前复权)
@@ -77,7 +96,7 @@ def stock_sync_qfq_weekly():
77
96
  str_now_date = now_date.strftime('%Y-%m-%d')
78
97
  if date_handle_util.last_day_of_week(now_date):
79
98
  logger.info('同步每周行情数据(前复权):' + str_now_date)
80
- daily_week_month_line_sync_api.sync_all_daily_data('weekly', 'qfq', 'stock_qfq_weekly', None)
99
+ daily_week_month_line_sync_api.sync_all_daily_data('weekly', 'qfq', 'stock_qfq_weekly', str_now_date)
81
100
 
82
101
 
83
102
  # # 定时同步每周交易行情数据(前复权)
@@ -87,7 +106,7 @@ def stock_sync_qfq_monthly():
87
106
  if date_handle_util.last_day_month(now_date):
88
107
  logger.info('同步每周行情数据(前复权):' + str_now_date)
89
108
  daily_week_month_line_sync_api.sync_all_daily_data('monthly', 'qfq', 'stock_qfq_monthly',
90
- None)
109
+ str_now_date)
91
110
 
92
111
 
93
112
  # 当天实时数据备份
@@ -96,12 +115,7 @@ def col_data_move():
96
115
  str_day = now_date.strftime('%Y-%m-%d')
97
116
  logger.info('当天实时数据备份:{}', str_day)
98
117
  if trade_date_common_service_api.is_trade_day(str_day):
99
- mac_address = ip_util.get_mac_address()
100
- if mac_address is not None and mac_address == ip_util.MAC_ADDRESS_CD:
101
- col_move_service.sync_col_move(str_day)
102
- else:
103
- # 删除最早一天数据
104
- col_move_service.delete_exist_data(str_day)
118
+ col_move_service.sync_col_move(str_day)
105
119
 
106
120
 
107
121
  # db 状态check
@@ -109,13 +123,13 @@ def db_status_check():
109
123
  db_status_api.db_status_check()
110
124
 
111
125
 
112
- # 同步大单数据
113
- def sync_ths_big_deal():
114
- now_date = datetime.now()
115
- str_now_day = now_date.strftime('%Y-%m-%d')
116
- if trade_date_common_service_api.is_trade_day(str_now_day):
117
- logger.info('更新大单数据')
118
- ths_big_deal_sync_api.sync_ths_big_deal(False)
126
+ # # 同步大单数据
127
+ # def sync_ths_big_deal():
128
+ # now_date = datetime.now()
129
+ # str_now_day = now_date.strftime('%Y-%m-%d')
130
+ # if trade_date_common_service_api.is_trade_day(str_now_day):
131
+ # logger.info('更新大单数据')
132
+ # ths_big_deal_sync_api.sync_ths_big_deal(False)
119
133
 
120
134
 
121
135
  # 定时同步每日交易行情数据(前复权)
@@ -124,7 +138,7 @@ def stock_daily_sync_qfq():
124
138
  str_now_date = now_date.strftime('%Y-%m-%d')
125
139
  logger.info('同步每日行情数据(前复权):' + str_now_date)
126
140
  daily_week_month_line_sync_api.sync_all_daily_data('daily',
127
- 'qfq', 'stock_qfq_daily', None)
141
+ 'qfq', 'stock_qfq_daily', str_now_date)
128
142
 
129
143
 
130
144
  # 同步当日k c x 高涨幅数据
@@ -146,8 +160,11 @@ def sync_stock_zt_pool():
146
160
  str_day = now_date.strftime('%Y-%m-%d')
147
161
  if trade_date_common_service_api.is_trade_day(str_day):
148
162
  logger.info('同步当天涨停池股开始')
149
- stock_zt_pool = zt_pool_sync_api.save_zt_info(str_day)
150
- zt_five_boards_sync_api.update_five_connected_boards_task(stock_zt_pool)
163
+ em_stock_zt_pool = em_zt_pool_sync_api.save_zt_info(str_day)
164
+ zt_five_boards_sync_api.update_five_connected_boards_task(em_stock_zt_pool)
165
+ logger.info('同步ths股票涨停池')
166
+ ths_zt_pool_df = ths_zt_pool_sync_api.ths_zt_pool(str_day, None)
167
+ ths_zt_pool_sync_api.save_ths_zt_pool(ths_zt_pool_df, str_day)
151
168
  logger.info('同步当天涨停池股票完成')
152
169
 
153
170
 
@@ -159,7 +176,7 @@ def sync_toady_stock_zt_pool():
159
176
  # 同步高涨幅实时行情
160
177
  sync_high_chg_real_time_quotes_service.sync_high_chg_real_time_quotes(str_day)
161
178
  # 同步高涨幅列表
162
- sync_high_chg_pool_service.sync_stock_high_chg_pool_list(str_day,None)
179
+ sync_high_chg_pool_service.sync_stock_high_chg_pool_list(str_day, None)
163
180
 
164
181
 
165
182
  # 计算下一个交易日k线数据
@@ -167,7 +184,11 @@ def generate_new_day_k_line_info():
167
184
  now_date = datetime.now()
168
185
  str_day = now_date.strftime('%Y-%m-%d')
169
186
  # 生成下一个交易日日期k线数据 number=2 获取下一个交易日 日期
170
- next_trade_day = trade_date_common_service_api.get_further_trade_date(str_day, 2)
187
+ if trade_date_common_service_api.is_trade_day(str_day):
188
+ dis_number = 2
189
+ else:
190
+ dis_number = 1
191
+ next_trade_day = trade_date_common_service_api.get_further_trade_date(str_day, dis_number)
171
192
  k_line_info_clean_service.sync_k_line_info_task(next_trade_day)
172
193
  logger.info('计算当日k线信息完成:{}', str_day)
173
194
 
@@ -233,35 +254,23 @@ def concept_info_clean():
233
254
 
234
255
 
235
256
  # 同步概念下所有股票组成 by 概念指数
236
- def update_one_concept_all_symbol_detail():
257
+ def update_concept_all_detail_info():
237
258
  logger.info('同步概念下所有股票组成')
238
- sync_one_concept_all_symbols_api.update_concept_all_symbol_detail()
239
- update_ths_concept_choose_null_reason()
259
+ sync_one_concept_all_symbols_api.update_concept_all_detail_info()
260
+ ths_concept_update_common_api.update_ths_concept_choose_null_reason()
240
261
 
241
262
 
242
263
  # 同步单只股票下所有概念 by 股票代码
243
264
  def update_one_symbol_all_concepts():
244
265
  logger.info('同步单只股票所有概念组成')
245
266
  sync_one_symbol_all_concepts_api.sync_symbol_all_concept(None)
246
- update_ths_concept_choose_null_reason()
247
-
248
-
249
- # 同步同花顺新增概念指数通过web端接口爬取 8开头
250
- def sync_new_concept_data_by_web():
251
- sync_ths_new_concept_by_web_api.sync_new_concept_data_by_web()
252
-
253
-
254
- # 同步同花顺新增概念指数通过ak_share接口爬取 3开头
255
- def sync_new_ths_concept_by_ak_api():
256
- sync_ths_concept_by_ak_api.sync_new_ths_concept_by_ak_api()
267
+ ths_concept_update_common_api.update_ths_concept_choose_null_reason()
257
268
 
258
269
 
259
270
  # 同步开盘啦精选指数
260
271
  def sync_all_kpl_plate_info():
261
272
  logger.info('同步开盘啦精选指数开始')
262
273
  sync_kpl_best_total_sync_api.sync_all_plate_info()
263
- logger.info('同步新概念通过web端')
264
- sync_new_concept_data_by_web()
265
274
 
266
275
 
267
276
  # 更新一二级关系
@@ -270,26 +279,28 @@ def update_best_choose_plate_relation():
270
279
  sync_kpl_best_total_sync_api.update_best_choose_plate_relation()
271
280
 
272
281
 
273
- # 同步新概念通过web端
274
- def sync_new_concept_data_web():
275
- # 同步同花顺新增概念指数通过web端接口爬取
276
- sync_new_concept_data_by_web()
277
- # 同步同花顺新增概念指数通过ak_share接口爬取
278
- sync_new_ths_concept_by_ak_api()
279
- update_ths_concept_choose_null_reason()
280
- logger.info("同步新概念web端数据任务完成")
282
+ # 同步ths新概念
283
+ def sync_new_concept_index():
284
+ sync_ths_concept_new_index_api.sync_ths_concept_new_index()
285
+ logger.info("同步ths新概念任务完成")
281
286
 
282
-
283
- # 更新空的入选概念
284
- def update_ths_concept_choose_null_reason():
285
- logger.info("更新空的入选概念")
286
287
  ths_concept_update_common_api.update_ths_concept_choose_null_reason()
288
+ logger.info("更新空的入选概念任务完成")
289
+
290
+
291
+ # 同步ths新概念 轮训任务
292
+ def sync_new_concept_index_task():
293
+ now_date = datetime.now()
294
+ hour = now_date.hour
295
+ if hour != 9:
296
+ sync_ths_concept_new_index_api.sync_ths_concept_new_index()
297
+ logger.info("同步ths新概念任务完成")
287
298
 
288
299
 
289
300
  # 清洗公司基本信息
290
301
  def update_company_base_info():
291
302
  company_info_sync_api.sync_company_base_info(None)
292
- company_info_sync_api.fix_company_industry(None)
303
+ company_info_clean_api.clean_company_info(None)
293
304
  # 退市股票同步
294
305
  de_list_stock_service.sync_de_list_stock()
295
306
  logger.info('同步公司基本信息任务完成')
@@ -310,7 +321,7 @@ def sync_position():
310
321
  # 同步持仓
311
322
  if trade_date_common_service_api.is_trade_day(str_day):
312
323
  logger.info('同步持仓任务完成')
313
- sync_position_api.sync_position()
324
+ sync_position_api.sync_position_qmt()
314
325
 
315
326
 
316
327
  # 同步开盘啦当日精选指数行情数据
@@ -324,106 +335,245 @@ def sync_kpl_best_his_quotes():
324
335
  logger.info('同步开盘啦当日精选指数行情数据任务完成')
325
336
 
326
337
 
327
- # 同步被立案调查的股票
328
- def sync_new_high_risk_stocks():
338
+ # 同步高风险的股票
339
+ def sync_high_risk_stocks():
329
340
  logger.info('同步被立案调查的股票')
330
- register_and_investigate_stock_sync_api.sync_new_high_risk_stocks()
331
- reason_detail = '微盘股拉黑'
332
- concept_code_wei_pan = '883418'
333
- wei_pan_stock_api.add_concept_to_lack_list(concept_code_wei_pan, reason_detail)
341
+ register_and_investigate_stock_sync_api.sync_register_and_investigate_stocks()
342
+ # reason_detail = '微盘股拉黑'
343
+ # concept_code_wei_pan = '883418'
344
+ # wei_pan_stock_api.add_concept_to_lack_list(concept_code_wei_pan, reason_detail)
345
+ logger.info('同步交易类风险的股票')
346
+ transactions_check_api.transactions_check_task()
334
347
 
335
348
 
336
349
  # 同步互动回答
337
350
  def sync_all_interactive_questions():
338
351
  now_date = datetime.now()
339
352
  str_day = now_date.strftime('%Y-%m-%d')
340
- hour = now_date.hour
341
- tag = (bool(1 - trade_date_common_service_api.is_trade_day(str_day))) or (hour >= 17)
353
+ # 非交易日同步
354
+ tag = bool(1 - trade_date_common_service_api.is_trade_day(str_day))
342
355
  if tag:
343
356
  logger.info('同步互动回答')
344
- stock_irm_cninfo_service.sync_all_interactive_questions(None)
357
+ stock_irm_cninfo_service.sync_symbols_interactive_questions([])
345
358
 
346
359
 
347
- # # 定义BlockingScheduler
348
- blockingScheduler = BlockingScheduler()
349
- # sync_trade_date 同步交易日期
350
- blockingScheduler.add_job(sync_trade_date, 'cron', hour='20', minute='43')
360
+ # # 重开定时任务同步
361
+ # def real_time_sync_task_open():
362
+ # logger.info("开启实时行情同步任务")
363
+ # real_time_data_sync_check.real_time_sync_task_open()
351
364
 
352
- # 跌停信息同步
353
- blockingScheduler.add_job(sync_stock_dt_pool, 'cron', hour='15,17,21,03,07', minute='37')
365
+ #
366
+ # # 关闭实时行情任务
367
+ # def real_time_sync_task_close():
368
+ # logger.info("关闭实时行情同步任务")
369
+ # real_time_data_sync_check.real_time_sync_task_close()
354
370
 
355
- # 炸板信息同步
356
- blockingScheduler.add_job(sync_stock_zb_pool, 'cron', hour='15,17,21,03,07', minute='55')
357
371
 
358
- # (前复权--周k线)
359
- blockingScheduler.add_job(stock_sync_qfq_weekly, 'cron', day_of_week='fri', hour=16, minute=20)
372
+ # 打开交易客户端
373
+ def trader_client_auto_login():
374
+ logger.info('打开交易客户端')
375
+ trader_task_service.open_trader_terminal()
360
376
 
361
- # (前复权--月k线)
362
- blockingScheduler.add_job(stock_sync_qfq_monthly, 'cron', hour='15,18', minute='35')
363
377
 
364
- # 数据备份
365
- blockingScheduler.add_job(col_data_move, 'cron', hour='15', minute='33')
378
+ # 同步公司备注信息
379
+ def sync_company_remark_info():
380
+ logger.info('同步公司备注信息')
381
+ company_remark_info_sync.sync_company_remark_info()
366
382
 
367
- # 数据库健康检查
368
- blockingScheduler.add_job(db_status_check, 'interval', seconds=30, max_instances=4)
369
383
 
370
- # 同步大单数据 暂停同步 20240430
371
- # blockingScheduler.add_job(sync_ths_big_deal, 'cron', hour='09', minute='30', max_instances=4)
384
+ # 自选股操作任务
385
+ def self_choose_stock_task():
386
+ ths_self_choose_service.self_choose_stock_handle()
372
387
 
373
- # todo 需要前后顺序执行
374
- # todo 当日k线信息
375
- # 同步一天k线 涨停 数据
376
- blockingScheduler.add_job(sync_daily_data_info, 'cron', hour='15,20', minute='21')
388
+
389
+ # 同步财务报表
390
+ def sync_financial_report_task():
391
+ logger.info('同步财务报表任务')
392
+ sync_financial_report_service_task.sync_financial_report()
393
+
394
+
395
+ # 同步hk公司信息
396
+ def sync_hk_company_industry_info():
397
+ # 同步所有港股信息
398
+ hk_company_info_sync_service_api.sync_hk_company_info()
399
+ # 同步所有港股行业信息
400
+ hk_industry_info_sync_service_api.sync_hk_company_industry()
401
+
402
+
403
+ # 更新空的涨停原因股票
404
+ def update_null_zt_reason():
405
+ now_date = datetime.now()
406
+ str_now_day = now_date.strftime('%Y-%m-%d')
407
+ if trade_date_common_service_api.is_trade_day(str_now_day):
408
+ update_null_zt_reason_api.update_null_zt_reason(str_now_day)
409
+ logger.info("更新空涨停原因信息:{}", str_now_day)
410
+
411
+
412
+ # 同步公告信息
413
+ def sync_company_announce():
414
+ company_announce_sync_service.sync_company_announce(None)
415
+
416
+
417
+ # 同步停复牌信息
418
+ def sync_stock_tfp():
419
+ now_date = datetime.now()
420
+ str_day = now_date.strftime('%Y-%m-%d')
421
+ stock_tfp_info_sync.sync_stock_tfp(str_day)
422
+
423
+
424
+ # 同步同花顺行业信息
425
+ def sync_ths_industry_info():
426
+ logger.info("同步同花顺行业信息开始")
427
+ ths_industry_sync_service.sync_ths_industry_index()
428
+ ths_industry_sync_service.sync_ths_industry_detail()
429
+ logger.info("同步同花顺行业信息完成")
430
+
431
+
432
+ # 同步年线数据
433
+ def sync_year_k_line():
434
+ logger.info("同步年线数据")
435
+ year_quarter_line_sync.sync_year_k_line()
436
+
437
+
438
+ # 同步东方财富股票信息
439
+ def sync_all_em_stock_info():
440
+ sync_em_stock_info_sync.sync_all_em_stock_info()
441
+
442
+
443
+ # check 前复权k线和下一个交易日策略k线数据同步状态
444
+ def check_k_line_sync_count():
445
+ logger.info("check前复权k线和下一个交易日策略k线数据同步状态")
446
+ k_line_sync_status_check.check_k_line_sync_count()
447
+
448
+
449
+ # 同步公司产品区域信息
450
+ def sync_company_product_area_industry():
451
+ sync_company_product_area_industry_api.sync_company_product_area_industry_task(None)
452
+
453
+
454
+ # # 定义BlockingScheduler
455
+ blockingScheduler = BlockingScheduler()
456
+
457
+ # 同步东方财富a,etf,kzz,us,hk信息
458
+ blockingScheduler.add_job(sync_all_em_stock_info, 'cron', hour='07', minute='31')
459
+ blockingScheduler.add_job(sync_all_em_stock_info, 'cron', hour='15', minute='20')
377
460
 
378
461
  # 开盘前同步当天交易需要的k线数据
379
- blockingScheduler.add_job(sync_today_trade_k_line_info, 'cron', hour='08', minute='30')
462
+ blockingScheduler.add_job(sync_today_trade_k_line_info, 'cron', hour='07', minute='50')
463
+
464
+ # 同步单只股票下所有概念 by 股票代码
465
+ blockingScheduler.add_job(update_one_symbol_all_concepts, 'cron', hour='07,08,18', minute='45')
466
+
467
+ # 打开交易客户端
468
+ blockingScheduler.add_job(trader_client_auto_login, 'cron', hour='08,09', minute='04')
469
+
470
+ # 获取当前持仓
471
+ blockingScheduler.add_job(sync_position, 'cron', hour='0,08,09', minute='14')
472
+
473
+ # 同步公司基本信息
474
+ blockingScheduler.add_job(update_company_base_info, 'cron', hour='08,18', minute='05')
475
+
476
+ # 同步互动回答
477
+ blockingScheduler.add_job(sync_all_interactive_questions, 'cron', hour='06,17', minute='30')
380
478
 
381
479
  # 同步十大流通股东信息
382
- blockingScheduler.add_job(sync_stock_gdfx_free_top_10_one_day, 'cron', hour='08,22', minute='23')
480
+ blockingScheduler.add_job(sync_stock_gdfx_free_top_10_one_day, 'cron', hour='06,18', minute='05')
383
481
 
384
- # 更新同花顺概念信息
385
- blockingScheduler.add_job(concept_info_clean, 'cron', hour='9,12,20', minute='24')
482
+ # 同步港股公司和行业信息
483
+ blockingScheduler.add_job(sync_hk_company_industry_info, 'cron', hour='08,15', minute='10')
386
484
 
387
485
  # 更新概念指数下所有股票组成 by 概念代码
388
- blockingScheduler.add_job(update_one_concept_all_symbol_detail, 'cron', hour='08,18,12', minute='30')
486
+ blockingScheduler.add_job(update_concept_all_detail_info, 'cron', hour='08,18,12', minute='30')
389
487
 
390
- # 同步单只股票下所有概念 by 股票代码
391
- blockingScheduler.add_job(update_one_symbol_all_concepts, 'cron', hour='09,18,12', minute='15')
488
+ # 自选股操作
489
+ blockingScheduler.add_job(self_choose_stock_task, 'cron', hour='08,17,21', minute='35')
392
490
 
393
491
  # 开盘前同步同花顺新概念指数
394
- blockingScheduler.add_job(sync_new_concept_data_web, 'cron', hour='09', minute='05,10,15,20,25,29')
492
+ blockingScheduler.add_job(sync_new_concept_index, 'cron', hour='09,22', minute='01,10,20,28,41,58')
395
493
 
396
- # 同步同花顺新增概念指数(定时轮训,暂时10分钟)
397
- blockingScheduler.add_job(sync_new_concept_data_web, 'interval', minutes=10, max_instances=4)
494
+ # 更新同花顺概念信息
495
+ blockingScheduler.add_job(concept_info_clean, 'cron', hour='9,12,20', minute='24')
398
496
 
399
- # 同步开盘啦新增精选概念(定时轮训,暂时五分钟)
400
- blockingScheduler.add_job(sync_all_kpl_plate_info, 'interval', minutes=5, max_instances=4)
497
+ # 更新开盘啦指数关系
498
+ blockingScheduler.add_job(update_best_choose_plate_relation, 'cron', hour='09,18', minute='25')
499
+
500
+ # 自动打新 打新中签高时间段 10:30-11:30
501
+ blockingScheduler.add_job(auto_ipo_buy, 'cron', hour='09', minute='40,50')
502
+
503
+ # 同步单只股票下所有概念 by 股票代码 中午任务执行
504
+ blockingScheduler.add_job(update_one_symbol_all_concepts, 'cron', hour='12', minute='15,40')
505
+
506
+ # 数据备份
507
+ blockingScheduler.add_job(col_data_move, 'cron', hour='15', minute='06')
401
508
 
402
- # 同步公司基本信息
403
- blockingScheduler.add_job(update_company_base_info, 'cron', hour='08,19', minute='05')
404
509
  # 更新当天涨停股票池
405
- blockingScheduler.add_job(sync_stock_zt_pool, 'cron', hour='15,19,21,23', minute='42')
510
+ blockingScheduler.add_job(sync_stock_zt_pool, 'cron', hour='15,19', minute='10')
406
511
 
407
- # 自动打新 打新中签高时间段 10:30-11:30
408
- blockingScheduler.add_job(auto_ipo_buy, 'cron', hour='10', minute='40,50')
512
+ # todo 需要前后顺序执行
513
+ # todo 当日k线信息
514
+ # 同步一天k线 涨停 数据
515
+ blockingScheduler.add_job(sync_daily_data_info, 'cron', hour='15,20', minute='15')
409
516
 
410
- # 更新开盘啦指数关系
411
- blockingScheduler.add_job(update_best_choose_plate_relation, 'cron', hour='09,18', minute='25')
517
+ # (前复权--月k线)
518
+ blockingScheduler.add_job(stock_sync_qfq_monthly, 'cron', hour='15,18', minute='35')
412
519
 
413
- # 更新开盘啦指数关系
520
+ # 复盘需要的数据
521
+ blockingScheduler.add_job(sync_toady_stock_zt_pool, 'cron', hour='15', minute='40')
522
+
523
+ # 炸板信息同步 同步停复牌信息
524
+ blockingScheduler.add_job(sync_stock_zb_pool, 'cron', hour='16,21', minute='15')
525
+
526
+ # 跌停信息同步
527
+ blockingScheduler.add_job(sync_stock_dt_pool, 'cron', hour='16,21', minute='37')
528
+
529
+ # 更新空的涨停原因股票
530
+ blockingScheduler.add_job(update_null_zt_reason, 'cron', hour='16,17,18,19,20,21,22,23', minute='19')
531
+
532
+ # 同步财务报表任务
533
+ blockingScheduler.add_job(sync_financial_report_task, 'cron', hour='17', minute='30')
534
+
535
+ # 同步同花顺行业信息
536
+ blockingScheduler.add_job(sync_ths_industry_info, 'cron', hour='17,22', minute='38')
537
+
538
+ # 更新开盘啦指数历史指数
414
539
  blockingScheduler.add_job(sync_kpl_best_his_quotes, 'cron', hour='18,22', minute='25')
415
540
 
416
- # 更新开盘啦指数关系
417
- blockingScheduler.add_job(sync_position, 'cron', hour='0,08', minute='10')
541
+ # 同步年线数据
542
+ blockingScheduler.add_job(sync_year_k_line, 'cron', hour='18,23', minute='55')
418
543
 
419
- # 同步被立案调查的股票
420
- blockingScheduler.add_job(sync_new_high_risk_stocks, 'cron', hour='0,09,12,16', minute='20')
544
+ # 同步交易日期
545
+ blockingScheduler.add_job(sync_trade_date, 'cron', hour='20', minute='43')
421
546
 
422
- # 同步互动回答
423
- blockingScheduler.add_job(sync_all_interactive_questions, 'cron', hour='08,12,17', minute='05')
547
+ # 同步公司备注信息
548
+ blockingScheduler.add_job(sync_company_remark_info, 'cron', hour='22', minute='30')
549
+
550
+ # 同步高风险股票
551
+ blockingScheduler.add_job(sync_high_risk_stocks, 'cron', hour='0,12,16', minute='20')
552
+
553
+ # (前复权--周k线)
554
+ blockingScheduler.add_job(stock_sync_qfq_weekly, 'cron', day_of_week='fri', hour=16, minute=20)
555
+
556
+ # 数据库健康检查
557
+ blockingScheduler.add_job(db_status_check, 'interval', seconds=30, max_instances=4)
558
+
559
+ # 同步同花顺新增概念指数(定时轮训,暂时10分钟)
560
+ blockingScheduler.add_job(sync_new_concept_index_task, 'interval', minutes=10, max_instances=4)
561
+
562
+ # 同步开盘啦新增精选概念(定时轮训,暂时五分钟)
563
+ blockingScheduler.add_job(sync_all_kpl_plate_info, 'interval', minutes=5, max_instances=4)
564
+
565
+ # 同步新公告信息 感觉没有必要同步 直接连接过去查看
566
+ # blockingScheduler.add_job(sync_company_announce, 'cron', hour='07,18,23', minute='33')
567
+
568
+ # check 前复权k线和下一个交易日策略k线数据同步状态
569
+ blockingScheduler.add_job(check_k_line_sync_count, 'cron', hour='6,23', minute='10')
570
+
571
+ # 同步公司产品区域信息
572
+ blockingScheduler.add_job(sync_company_product_area_industry, 'cron', day_of_week='sat,sun', hour='10,20',
573
+ minute='10')
424
574
 
425
575
  print('定时任务启动成功')
426
576
  blockingScheduler.start()
427
577
  #
428
578
  # if __name__ == '__main__':
429
- # sync_kpl_best_his_quotes()
579
+ # sync_company_product_area_industry()
@@ -1,4 +1,4 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: mns-scheduler
3
- Version: 1.0.8.7
3
+ Version: 1.4.3.2
4
4