mns-scheduler 1.1.8.4__py3-none-any.whl → 1.4.5.7__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 (139) hide show
  1. mns_scheduler/__init__.py +1 -3
  2. mns_scheduler/auto_da_ban/auto_da_ban_service.py +89 -0
  3. mns_scheduler/company_info/clean/__init__.py +1 -1
  4. mns_scheduler/company_info/clean/company_info_clean_api.py +62 -21
  5. mns_scheduler/company_info/common/company_common_query_service.py +45 -0
  6. mns_scheduler/company_info/constant/__init__.py +1 -1
  7. mns_scheduler/company_info/constant/company_constant_data.py +335 -224
  8. mns_scheduler/company_info/de_list_stock/__init__.py +1 -1
  9. mns_scheduler/company_info/de_list_stock/de_list_stock_service.py +1 -1
  10. mns_scheduler/company_info/em_stock_info/sync_em_stock_info_sync.py +134 -0
  11. mns_scheduler/company_info/sync/company_info_set_service.py +208 -0
  12. mns_scheduler/company_info/sync/sync_company_info_task.py +203 -0
  13. mns_scheduler/company_info/task/company_announce_info_task.py +77 -0
  14. mns_scheduler/company_info/task/company_base_info_task.py +64 -0
  15. mns_scheduler/company_info/task/company_business_info_task.py +177 -0
  16. mns_scheduler/company_info/task/company_hold_info_task.py +66 -0
  17. mns_scheduler/company_info/task/company_industry_info_task.py +167 -0
  18. mns_scheduler/company_info/task/company_total_task.py +69 -0
  19. mns_scheduler/concept/clean/kpl_concept_clean_api.py +1 -1
  20. mns_scheduler/concept/clean/ths_concept_clean_api.py +20 -4
  21. mns_scheduler/concept/ths/common/ths_concept_sync_common_api.py +23 -18
  22. mns_scheduler/concept/ths/common/ths_concept_update_common_api.py +4 -1
  23. mns_scheduler/concept/ths/detaill/ths_concept_detail_api.py +7 -7
  24. mns_scheduler/concept/ths/sync_new_index/sync_ths_concept_new_index_api.py +9 -4
  25. mns_scheduler/concept/ths/update_concept_info/sync_one_symbol_all_concepts_api.py +2 -2
  26. mns_scheduler/db/col_move_service.py +3 -3
  27. mns_scheduler/db/script/__init__.py +1 -1
  28. mns_scheduler/db/script/col_move_script.py +1 -1
  29. mns_scheduler/db/script/db_move/__init__.py +7 -0
  30. mns_scheduler/db/script/db_move/col_move_one_service.py +34 -0
  31. mns_scheduler/db/script/sync/__init__.py +1 -1
  32. mns_scheduler/db/script/sync/remote_data_sync_to_local.py +65 -4
  33. mns_scheduler/db/script/sync/sync_hui_ce_test_data.py +80 -0
  34. mns_scheduler/db/script/sync/sync_hui_ce_test_data_01.py +69 -0
  35. mns_scheduler/db/script/update/__init__.py +7 -0
  36. mns_scheduler/db/script/update/update_col_field.py +36 -0
  37. mns_scheduler/finance/__init__.py +1 -1
  38. mns_scheduler/finance/em/__init__.py +7 -0
  39. mns_scheduler/finance/{em_financial_asset_liability_sync_service_api.py → em/em_financial_asset_liability_sync_service_api.py} +2 -2
  40. mns_scheduler/finance/{em_financial_profit_sync_service_api.py → em/em_financial_profit_sync_service_api.py} +27 -26
  41. mns_scheduler/finance/{finance_common_api.py → em/finance_common_api.py} +3 -3
  42. mns_scheduler/finance/{sync_financial_report_service_api.py → sync_financial_report_service_task.py} +80 -27
  43. mns_scheduler/finance/xue_qiu/__init__.py +7 -0
  44. mns_scheduler/finance/xue_qiu/down_load_xueqiu_report_api.py +77 -0
  45. mns_scheduler/finance/xue_qiu/sync_xue_qiu_fiance_data.py +161 -0
  46. mns_scheduler/hk/__init__.py +1 -1
  47. mns_scheduler/hk/hk_company_info_sync_service_api.py +4 -4
  48. mns_scheduler/hk/hk_industry_info_sync_service_api.py +3 -5
  49. mns_scheduler/industry/__init__.py +7 -0
  50. mns_scheduler/industry/ths/__init__.py +7 -0
  51. mns_scheduler/industry/ths/ths_industry_index_service.py +58 -0
  52. mns_scheduler/industry/ths/ths_industry_sync_service.py +68 -0
  53. mns_scheduler/irm/__init__.py +1 -1
  54. mns_scheduler/irm/api/__init__.py +1 -1
  55. mns_scheduler/irm/api/sh_stock_sns_sse_info_api.py +8 -58
  56. mns_scheduler/irm/api/sz_stock_sns_sse_info_api.py +15 -26
  57. mns_scheduler/irm/stock_irm_cninfo_service.py +43 -31
  58. mns_scheduler/irm/stock_question_id_service.py +169 -0
  59. mns_scheduler/k_line/clean/daily/__init__.py +1 -1
  60. mns_scheduler/k_line/clean/daily/daily_k_line_clean_common_service.py +52 -6
  61. mns_scheduler/k_line/clean/daily/daily_k_line_service.py +7 -2
  62. mns_scheduler/k_line/clean/k_line_info_clean_impl.py +3 -2
  63. mns_scheduler/k_line/clean/k_line_info_clean_task.py +42 -15
  64. mns_scheduler/k_line/clean/week_month/__init__.py +1 -1
  65. mns_scheduler/k_line/clean/week_month/normal_week_month_k_line_service.py +124 -26
  66. mns_scheduler/k_line/clean/week_month/sub_new_week_month_k_line_service.py +2 -2
  67. mns_scheduler/k_line/common/__init__.py +7 -0
  68. mns_scheduler/k_line/common/k_line_common_api.py +188 -0
  69. mns_scheduler/k_line/hot_stocks/__init__.py +1 -1
  70. mns_scheduler/k_line/hot_stocks/recent_hot_stocks_clean_service.py +1 -1
  71. mns_scheduler/k_line/{sync → month_week_daily}/bfq_k_line_sync.py +14 -29
  72. mns_scheduler/k_line/{sync → month_week_daily}/daily_week_month_line_sync.py +11 -12
  73. mns_scheduler/k_line/sync_status/__init__.py +7 -0
  74. mns_scheduler/k_line/sync_status/k_line_sync_status_check.py +54 -0
  75. mns_scheduler/k_line/test/__init__.py +1 -1
  76. mns_scheduler/k_line/test/k_line_info_clean_his_data.py +14 -3
  77. mns_scheduler/k_line/year_quarter/__init__.py +7 -0
  78. mns_scheduler/k_line/year_quarter/year_quarter_line_sync.py +76 -0
  79. mns_scheduler/kpl/selection/symbol/sync_best_choose_symbol.py +1 -2
  80. mns_scheduler/kpl/selection/symbol/sync_kpl_concept_symbol_choose_reason_api.py +108 -0
  81. mns_scheduler/kpl/selection/total/sync_kpl_best_total_sync_api.py +5 -0
  82. mns_scheduler/lhb/__init__.py +1 -1
  83. mns_scheduler/lhb/stock_lhb_sync_service.py +1 -1
  84. mns_scheduler/open/__init__.py +1 -1
  85. mns_scheduler/open/sync_one_day_open_data_to_db_service.py +2 -3
  86. mns_scheduler/risk/__init__.py +1 -1
  87. mns_scheduler/risk/compliance/undisclosed_annual_report_api.py +8 -2
  88. mns_scheduler/risk/financial/annual_report_audit_check_api.py +13 -3
  89. mns_scheduler/risk/financial/net_assets_check_api.py +21 -18
  90. mns_scheduler/risk/financial/profit_income_check_api.py +7 -2
  91. mns_scheduler/risk/financial_report_risk_check_api.py +1 -1
  92. mns_scheduler/risk/major_violations/register_and_investigate_stock_sync_api.py +1 -1
  93. mns_scheduler/risk/self/wei_pan_stock_api.py +1 -1
  94. mns_scheduler/risk/test/__init__.py +1 -1
  95. mns_scheduler/risk/test/fix_blask_list.py +4 -6
  96. mns_scheduler/risk/transactions/transactions_check_api.py +22 -4
  97. mns_scheduler/self_choose/__init__.py +1 -1
  98. mns_scheduler/self_choose/ths_self_choose_service.py +99 -43
  99. mns_scheduler/trade/auto_login/trader_auto_service.py +7 -4
  100. mns_scheduler/trade/auto_sell_service_api.py +4 -4
  101. mns_scheduler/trade/balance/__init__.py +7 -0
  102. mns_scheduler/trade/balance/ths_account_balance_service.py +7 -0
  103. mns_scheduler/trade/sync_position_api.py +39 -6
  104. mns_scheduler/trade/task/trader_task_service.py +38 -10
  105. mns_scheduler/trade/tfp/__init__.py +7 -0
  106. mns_scheduler/trade/tfp/stock_tfp_info_sync.py +56 -0
  107. mns_scheduler/zb/stock_zb_pool_sync.py +1 -16
  108. mns_scheduler/zt/high_chg/sync_high_chg_pool_service.py +2 -2
  109. mns_scheduler/zt/high_chg/sync_high_chg_real_time_quotes_service.py +1 -1
  110. mns_scheduler/zt/script/__init__.py +1 -1
  111. mns_scheduler/zt/script/fix_error_deal_day.py +41 -0
  112. mns_scheduler/zt/script/kcx_high_chg_open_his_data_handle.py +2 -2
  113. mns_scheduler/zt/script/sync_high_chg_pool_his_data.py +2 -2
  114. mns_scheduler/zt/script/sync_now_higt_chg_zt.py +8 -7
  115. mns_scheduler/zt/zt_pool/em_zt_pool_sync_api.py +260 -83
  116. mns_scheduler/zt/zt_pool/ths_zt_pool_sync_api.py +33 -90
  117. mns_scheduler/zt/zt_pool/update_null_zt_reason_api.py +27 -13
  118. mns_scheduler/zz_task/compensation/__init__.py +0 -0
  119. mns_scheduler/zz_task/compensation/compensate_task.py +161 -0
  120. mns_scheduler/zz_task/compensation/compensate_task_one_day.py +142 -0
  121. mns_scheduler/zz_task/data_sync_task.py +197 -103
  122. {mns_scheduler-1.1.8.4.dist-info → mns_scheduler-1.4.5.7.dist-info}/METADATA +1 -1
  123. mns_scheduler-1.4.5.7.dist-info/RECORD +176 -0
  124. {mns_scheduler-1.1.8.4.dist-info → mns_scheduler-1.4.5.7.dist-info}/WHEEL +1 -1
  125. mns_scheduler/2014-2015-test/2014_2015_chg_statistics.py +0 -87
  126. mns_scheduler/big_deal/ths_big_deal_sync.py +0 -98
  127. mns_scheduler/company_info/base/sync_company_base_info_api.py +0 -439
  128. mns_scheduler/company_info/base/sync_company_hold_info_api.py +0 -40
  129. mns_scheduler/company_info/remark/company_remark_info_sync.py +0 -46
  130. mns_scheduler/db/real_time_task_check.py +0 -84
  131. mns_scheduler/debt/kzz_bond_info_sync.py +0 -33
  132. mns_scheduler-1.1.8.4.dist-info/RECORD +0 -142
  133. /mns_scheduler/{2014-2015-test → auto_da_ban}/__init__.py +0 -0
  134. /mns_scheduler/company_info/{base → common}/__init__.py +0 -0
  135. /mns_scheduler/{big_deal → company_info/em_stock_info}/__init__.py +0 -0
  136. /mns_scheduler/company_info/{remark → sync}/__init__.py +0 -0
  137. /mns_scheduler/{debt → company_info/task}/__init__.py +0 -0
  138. /mns_scheduler/k_line/{sync → month_week_daily}/__init__.py +0 -0
  139. {mns_scheduler-1.1.8.4.dist-info → mns_scheduler-1.4.5.7.dist-info}/top_level.txt +0 -0
@@ -5,6 +5,11 @@ 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
+ 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
8
13
  import mns_scheduler.self_choose.ths_self_choose_service as ths_self_choose_service
9
14
  import mns_scheduler.risk.major_violations.register_and_investigate_stock_sync_api \
10
15
  as register_and_investigate_stock_sync_api
@@ -15,24 +20,22 @@ import mns_scheduler.dt.stock_dt_pool_sync as stock_dt_pool_sync_api
15
20
  import mns_scheduler.zb.stock_zb_pool_sync as stock_zb_pool_sync_api
16
21
  import mns_common.component.trade_date.trade_date_common_service_api as trade_date_common_service_api
17
22
  import mns_common.utils.date_handle_util as date_handle_util
18
- import mns_scheduler.k_line.sync.daily_week_month_line_sync as daily_week_month_line_sync_api
19
- 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
20
24
  import mns_scheduler.db.col_move_service as col_move_service
21
25
  import mns_scheduler.db.db_status as db_status_api
22
- import mns_scheduler.big_deal.ths_big_deal_sync as ths_big_deal_sync_api
23
26
  import mns_scheduler.zt.open_data.kcx_high_chg_open_data_sync as kcx_high_chg_open_data_sync
24
27
  import mns_scheduler.zt.export.export_kcx_high_chg_open_data_to_excel as export_kcx_high_chg_open_data_to_excel
25
28
  import mns_scheduler.zt.connected_boards.zt_five_boards_sync_api as zt_five_boards_sync_api
26
29
  import mns_scheduler.zt.zt_pool.em_zt_pool_sync_api as em_zt_pool_sync_api
27
30
  import mns_scheduler.k_line.clean.k_line_info_clean_task as k_line_info_clean_service
28
31
  import mns_scheduler.concept.clean.ths_concept_clean_api as ths_concept_choose_api
29
- import mns_common.api.em.east_money_stock_gdfx_free_top_10_api as east_money_stock_gdfx_free_top_10_api
32
+ import mns_common.api.em.gd.east_money_stock_gdfx_free_top_10_api as east_money_stock_gdfx_free_top_10_api
30
33
  import \
31
34
  mns_scheduler.concept.ths.update_concept_info.sync_one_concept_all_symbols_api as sync_one_concept_all_symbols_api
32
35
  import \
33
36
  mns_scheduler.concept.ths.update_concept_info.sync_one_symbol_all_concepts_api as sync_one_symbol_all_concepts_api
34
37
  import mns_scheduler.kpl.selection.total.sync_kpl_best_total_sync_api as sync_kpl_best_total_sync_api
35
- import mns_scheduler.company_info.base.sync_company_base_info_api as company_info_sync_api
38
+ import mns_scheduler.company_info.sync.sync_company_info_task as sync_company_info_task
36
39
  import mns_scheduler.trade.auto_ipo_buy_api as auto_ipo_buy_api
37
40
  import mns_scheduler.kpl.selection.index.sync_best_choose_his_index as sync_best_choose_his_index
38
41
  import mns_scheduler.concept.ths.common.ths_concept_update_common_api as ths_concept_update_common_api
@@ -43,18 +46,22 @@ import mns_scheduler.irm.stock_irm_cninfo_service as stock_irm_cninfo_service
43
46
  import mns_scheduler.open.sync_one_day_open_data_to_db_service as sync_one_day_open_data_to_db_service
44
47
  import mns_scheduler.zt.high_chg.sync_high_chg_pool_service as sync_high_chg_pool_service
45
48
  import mns_scheduler.zt.high_chg.sync_high_chg_real_time_quotes_service as sync_high_chg_real_time_quotes_service
46
- import mns_scheduler.risk.self.wei_pan_stock_api as wei_pan_stock_api
47
49
  import mns_scheduler.risk.transactions.transactions_check_api as transactions_check_api
48
50
  import mns_scheduler.concept.ths.sync_new_index.sync_ths_concept_new_index_api as sync_ths_concept_new_index_api
49
51
  import mns_scheduler.company_info.clean.company_info_clean_api as company_info_clean_api
50
52
  import mns_scheduler.zt.zt_pool.ths_zt_pool_sync_api as ths_zt_pool_sync_api
51
- import mns_scheduler.db.real_time_task_check as real_time_task_check_api
52
53
  import mns_scheduler.trade.task.trader_task_service as trader_task_service
53
- import mns_scheduler.company_info.remark.company_remark_info_sync as company_remark_info_sync
54
- import mns_scheduler.finance.sync_financial_report_service_api as sync_financial_report_service_api
54
+ import mns_scheduler.finance.sync_financial_report_service_task as sync_financial_report_service_task
55
55
  import mns_scheduler.hk.hk_industry_info_sync_service_api as hk_industry_info_sync_service_api
56
56
  import mns_scheduler.hk.hk_company_info_sync_service_api as hk_company_info_sync_service_api
57
57
  import mns_scheduler.zt.zt_pool.update_null_zt_reason_api as update_null_zt_reason_api
58
+ import mns_scheduler.trade.tfp.stock_tfp_info_sync as stock_tfp_info_sync
59
+ import mns_scheduler.industry.ths.ths_industry_sync_service as ths_industry_sync_service
60
+ import mns_scheduler.k_line.year_quarter.year_quarter_line_sync as year_quarter_line_sync
61
+ import mns_scheduler.k_line.sync_status.k_line_sync_status_check as k_line_sync_status_check
62
+ import mns_scheduler.company_info.task.company_total_task as company_total_task
63
+ import mns_scheduler.irm.stock_question_id_service as stock_question_id_service
64
+ import mns_scheduler.auto_da_ban.auto_da_ban_service as auto_da_ban_service
58
65
 
59
66
 
60
67
  # 同步交易日期任务完成
@@ -79,6 +86,8 @@ def sync_stock_zb_pool():
79
86
  if trade_date_common_service_api.is_trade_day(str_now_day):
80
87
  stock_zb_pool_sync_api.sync_stock_zb_pool(str_now_day)
81
88
  logger.info("同步炸板信息任务执行成功:{}", str_now_day)
89
+ # 同步停复牌信息
90
+ sync_stock_tfp()
82
91
 
83
92
 
84
93
  # 定时同步每周交易行情数据(前复权)
@@ -87,7 +96,7 @@ def stock_sync_qfq_weekly():
87
96
  str_now_date = now_date.strftime('%Y-%m-%d')
88
97
  if date_handle_util.last_day_of_week(now_date):
89
98
  logger.info('同步每周行情数据(前复权):' + str_now_date)
90
- 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)
91
100
 
92
101
 
93
102
  # # 定时同步每周交易行情数据(前复权)
@@ -97,7 +106,7 @@ def stock_sync_qfq_monthly():
97
106
  if date_handle_util.last_day_month(now_date):
98
107
  logger.info('同步每周行情数据(前复权):' + str_now_date)
99
108
  daily_week_month_line_sync_api.sync_all_daily_data('monthly', 'qfq', 'stock_qfq_monthly',
100
- None)
109
+ str_now_date)
101
110
 
102
111
 
103
112
  # 当天实时数据备份
@@ -114,13 +123,13 @@ def db_status_check():
114
123
  db_status_api.db_status_check()
115
124
 
116
125
 
117
- # 同步大单数据
118
- def sync_ths_big_deal():
119
- now_date = datetime.now()
120
- str_now_day = now_date.strftime('%Y-%m-%d')
121
- if trade_date_common_service_api.is_trade_day(str_now_day):
122
- logger.info('更新大单数据')
123
- 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)
124
133
 
125
134
 
126
135
  # 定时同步每日交易行情数据(前复权)
@@ -129,7 +138,7 @@ def stock_daily_sync_qfq():
129
138
  str_now_date = now_date.strftime('%Y-%m-%d')
130
139
  logger.info('同步每日行情数据(前复权):' + str_now_date)
131
140
  daily_week_month_line_sync_api.sync_all_daily_data('daily',
132
- 'qfq', 'stock_qfq_daily', None)
141
+ 'qfq', 'stock_qfq_daily', str_now_date)
133
142
 
134
143
 
135
144
  # 同步当日k c x 高涨幅数据
@@ -175,7 +184,11 @@ def generate_new_day_k_line_info():
175
184
  now_date = datetime.now()
176
185
  str_day = now_date.strftime('%Y-%m-%d')
177
186
  # 生成下一个交易日日期k线数据 number=2 获取下一个交易日 日期
178
- 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)
179
192
  k_line_info_clean_service.sync_k_line_info_task(next_trade_day)
180
193
  logger.info('计算当日k线信息完成:{}', str_day)
181
194
 
@@ -285,9 +298,13 @@ def sync_new_concept_index_task():
285
298
 
286
299
 
287
300
  # 清洗公司基本信息
288
- def update_company_base_info():
289
- company_info_sync_api.sync_company_base_info(None)
290
- company_info_clean_api.fix_company_industry(None)
301
+ def clean_company_base_info():
302
+ # 同步新股信息
303
+ company_total_task.sync_new_stock_company_task()
304
+ # 放到临时表
305
+ sync_company_info_task.sync_company_base_info([])
306
+ # 放到正式表
307
+ company_info_clean_api.clean_company_info([])
291
308
  # 退市股票同步
292
309
  de_list_stock_service.sync_de_list_stock()
293
310
  logger.info('同步公司基本信息任务完成')
@@ -308,7 +325,7 @@ def sync_position():
308
325
  # 同步持仓
309
326
  if trade_date_common_service_api.is_trade_day(str_day):
310
327
  logger.info('同步持仓任务完成')
311
- sync_position_api.sync_position()
328
+ sync_position_api.sync_position_qmt()
312
329
 
313
330
 
314
331
  # 同步开盘啦当日精选指数行情数据
@@ -326,27 +343,38 @@ def sync_kpl_best_his_quotes():
326
343
  def sync_high_risk_stocks():
327
344
  logger.info('同步被立案调查的股票')
328
345
  register_and_investigate_stock_sync_api.sync_register_and_investigate_stocks()
329
- reason_detail = '微盘股拉黑'
330
- concept_code_wei_pan = '883418'
331
- wei_pan_stock_api.add_concept_to_lack_list(concept_code_wei_pan, reason_detail)
346
+ # reason_detail = '微盘股拉黑'
347
+ # concept_code_wei_pan = '883418'
348
+ # wei_pan_stock_api.add_concept_to_lack_list(concept_code_wei_pan, reason_detail)
332
349
  logger.info('同步交易类风险的股票')
333
350
  transactions_check_api.transactions_check_task()
334
351
 
335
352
 
336
353
  # 同步互动回答
337
354
  def sync_all_interactive_questions():
338
- now_date = datetime.now()
339
- 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)
342
- if tag:
343
- logger.info('同步互动回答')
344
- stock_irm_cninfo_service.sync_all_interactive_questions(None)
355
+ # now_date = datetime.now()
356
+ # str_day = now_date.strftime('%Y-%m-%d')
357
+ # 非交易日同步
358
+ # tag = bool(1 - trade_date_common_service_api.is_trade_day(str_day))
359
+ # if tag:
360
+
361
+ logger.info('同步互动回答')
362
+ stock_question_id_service.sync_sz_stock_uid([])
363
+ stock_question_id_service.sync_sh_stock_uid()
345
364
 
365
+ stock_irm_cninfo_service.sync_symbols_interactive_questions([])
346
366
 
347
- # 数据同步状态check
348
- def real_time_task_check_status():
349
- real_time_task_check_api.run_check_real_time_data_sync_status()
367
+
368
+ # # 重开定时任务同步
369
+ # def real_time_sync_task_open():
370
+ # logger.info("开启实时行情同步任务")
371
+ # real_time_data_sync_check.real_time_sync_task_open()
372
+
373
+ #
374
+ # # 关闭实时行情任务
375
+ # def real_time_sync_task_close():
376
+ # logger.info("关闭实时行情同步任务")
377
+ # real_time_data_sync_check.real_time_sync_task_close()
350
378
 
351
379
 
352
380
  # 打开交易客户端
@@ -355,10 +383,10 @@ def trader_client_auto_login():
355
383
  trader_task_service.open_trader_terminal()
356
384
 
357
385
 
358
- # 同步公司备注信息
359
- def sync_company_remark_info():
360
- logger.info('同步公司备注信息')
361
- company_remark_info_sync.sync_company_remark_info()
386
+ # 打开qmt交易端
387
+ def open_qmt_terminal():
388
+ logger.info('打开qmt交易客户端')
389
+ trader_task_service.open_qmt_terminal()
362
390
 
363
391
 
364
392
  # 自选股操作任务
@@ -369,7 +397,7 @@ def self_choose_stock_task():
369
397
  # 同步财务报表
370
398
  def sync_financial_report_task():
371
399
  logger.info('同步财务报表任务')
372
- sync_financial_report_service_api.sync_financial_report()
400
+ sync_financial_report_service_task.sync_financial_report()
373
401
 
374
402
 
375
403
  # 同步hk公司信息
@@ -389,105 +417,171 @@ def update_null_zt_reason():
389
417
  logger.info("更新空涨停原因信息:{}", str_now_day)
390
418
 
391
419
 
392
- # # 定义BlockingScheduler
393
- blockingScheduler = BlockingScheduler()
394
- # sync_trade_date 同步交易日期
395
- blockingScheduler.add_job(sync_trade_date, 'cron', hour='20', minute='43')
420
+ # 同步停复牌信息
421
+ def sync_stock_tfp():
422
+ now_date = datetime.now()
423
+ str_day = now_date.strftime('%Y-%m-%d')
424
+ stock_tfp_info_sync.sync_stock_tfp(str_day)
396
425
 
397
- # 跌停信息同步
398
- blockingScheduler.add_job(sync_stock_dt_pool, 'cron', hour='15,21', minute='37')
399
426
 
400
- # 炸板信息同步
401
- blockingScheduler.add_job(sync_stock_zb_pool, 'cron', hour='15,17,21', minute='15')
427
+ # 同步同花顺行业信息
428
+ def sync_ths_industry_info():
429
+ logger.info("同步同花顺行业信息开始")
430
+ ths_industry_sync_service.sync_ths_industry_index()
431
+ ths_industry_sync_service.sync_ths_industry_detail()
432
+ logger.info("同步同花顺行业信息完成")
402
433
 
403
- # (前复权--周k线)
404
- blockingScheduler.add_job(stock_sync_qfq_weekly, 'cron', day_of_week='fri', hour=16, minute=20)
405
434
 
406
- # (前复权--月k线)
407
- blockingScheduler.add_job(stock_sync_qfq_monthly, 'cron', hour='15,18', minute='35')
435
+ # 同步年线数据
436
+ def sync_year_k_line():
437
+ logger.info("同步年线数据")
438
+ year_quarter_line_sync.sync_year_k_line()
408
439
 
409
- # 数据备份
410
- blockingScheduler.add_job(col_data_move, 'cron', hour='15', minute='26')
411
440
 
412
- # 数据库健康检查
413
- blockingScheduler.add_job(db_status_check, 'interval', seconds=30, max_instances=4)
441
+ # 同步东方财富股票信息
442
+ def sync_all_em_stock_info():
443
+ sync_em_stock_info_sync.sync_all_em_stock_info()
414
444
 
415
- # 同步大单数据 暂停同步 20240430
416
- # blockingScheduler.add_job(sync_ths_big_deal, 'cron', hour='09', minute='30', max_instances=4)
417
445
 
418
- # todo 需要前后顺序执行
419
- # todo 当日k线信息
420
- # 同步一天k线 涨停 数据
421
- blockingScheduler.add_job(sync_daily_data_info, 'cron', hour='15,20', minute='26')
446
+ # check 前复权k线和下一个交易日策略k线数据同步状态
447
+ def check_k_line_sync_count():
448
+ logger.info("check前复权k线和下一个交易日策略k线数据同步状态")
449
+ k_line_sync_status_check.check_k_line_sync_count()
450
+
451
+
452
+ # 全量同步公司信息
453
+ def sync_all_company_info_task():
454
+ logger.info("全量同步公司信息")
455
+ company_total_task.sync_all_company_task()
456
+
457
+
458
+ # 自动打板
459
+ def auto_da_ban_task():
460
+ auto_da_ban_service.auto_da_ban_task()
461
+
462
+
463
+ # # 定义BlockingScheduler
464
+ blockingScheduler = BlockingScheduler()
465
+
466
+ # 同步东方财富a,etf,kzz,us,hk信息
467
+ blockingScheduler.add_job(sync_all_em_stock_info, 'cron', hour='07', minute='31')
468
+ blockingScheduler.add_job(sync_all_em_stock_info, 'cron', hour='16', minute='20')
422
469
 
423
470
  # 开盘前同步当天交易需要的k线数据
424
- blockingScheduler.add_job(sync_today_trade_k_line_info, 'cron', hour='08', minute='30')
471
+ blockingScheduler.add_job(sync_today_trade_k_line_info, 'cron', hour='07', minute='50')
472
+
473
+ # 同步单只股票下所有概念 by 股票代码
474
+ blockingScheduler.add_job(update_one_symbol_all_concepts, 'cron', hour='06,08,18', minute='45')
475
+
476
+ # 同步单只股票下所有概念 by 股票代码 中午任务执行
477
+ blockingScheduler.add_job(update_one_symbol_all_concepts, 'cron', hour='12', minute='15,40')
478
+
479
+ # 打开交易客户端
480
+ blockingScheduler.add_job(open_qmt_terminal, 'cron', hour='07,08,09', minute='04')
481
+
482
+ # 获取当前持仓
483
+ blockingScheduler.add_job(sync_position, 'cron', hour='0,08,16', minute='14')
484
+
485
+ # 同步公司基本信息
486
+ blockingScheduler.add_job(clean_company_base_info, 'cron', hour='07,18', minute='05')
487
+
488
+ # 同步互动回答
489
+ blockingScheduler.add_job(sync_all_interactive_questions, 'cron', hour='06,17', minute='30')
425
490
 
426
491
  # 同步十大流通股东信息
427
- blockingScheduler.add_job(sync_stock_gdfx_free_top_10_one_day, 'cron', hour='08,22', minute='23')
492
+ blockingScheduler.add_job(sync_stock_gdfx_free_top_10_one_day, 'cron', hour='06,18', minute='05')
428
493
 
429
- # 更新同花顺概念信息
430
- blockingScheduler.add_job(concept_info_clean, 'cron', hour='9,12,20', minute='24')
494
+ # 同步港股公司和行业信息
495
+ blockingScheduler.add_job(sync_hk_company_industry_info, 'cron', hour='08,15', minute='10')
431
496
 
432
497
  # 更新概念指数下所有股票组成 by 概念代码
433
498
  blockingScheduler.add_job(update_concept_all_detail_info, 'cron', hour='08,18,12', minute='30')
434
499
 
435
- # 同步单只股票下所有概念 by 股票代码
436
- blockingScheduler.add_job(update_one_symbol_all_concepts, 'cron', hour='08,09,18', minute='15')
437
- # 同步单只股票下所有概念 by 股票代码 中午任务执行
438
- blockingScheduler.add_job(update_one_symbol_all_concepts, 'cron', hour='12', minute='15,40')
500
+ # 自选股操作
501
+ blockingScheduler.add_job(self_choose_stock_task, 'cron', hour='08,17,21', minute='35')
439
502
 
440
503
  # 开盘前同步同花顺新概念指数
441
504
  blockingScheduler.add_job(sync_new_concept_index, 'cron', hour='09,22', minute='01,10,20,28,41,58')
442
505
 
443
- # 同步同花顺新增概念指数(定时轮训,暂时10分钟)
444
- blockingScheduler.add_job(sync_new_concept_index_task, 'interval', minutes=10, max_instances=4)
506
+ # 更新同花顺概念信息
507
+ blockingScheduler.add_job(concept_info_clean, 'cron', hour='9,12,20', minute='24')
445
508
 
446
- # 同步开盘啦新增精选概念(定时轮训,暂时五分钟)
447
- blockingScheduler.add_job(sync_all_kpl_plate_info, 'interval', minutes=5, max_instances=4)
509
+ # 更新开盘啦指数关系
510
+ blockingScheduler.add_job(update_best_choose_plate_relation, 'cron', hour='09,18', minute='25')
511
+
512
+ # 自动打新 打新中签高时间段 10:30-11:30
513
+ blockingScheduler.add_job(auto_ipo_buy, 'cron', hour='09', minute='40,50')
514
+
515
+ # 数据备份
516
+ blockingScheduler.add_job(col_data_move, 'cron', hour='15', minute='06')
448
517
 
449
- # 同步公司基本信息
450
- blockingScheduler.add_job(update_company_base_info, 'cron', hour='08,18', minute='05')
451
518
  # 更新当天涨停股票池
452
- blockingScheduler.add_job(sync_stock_zt_pool, 'cron', hour='15,19', minute='05')
519
+ blockingScheduler.add_job(sync_stock_zt_pool, 'cron', hour='15,19', minute='10')
453
520
 
454
- # 自动打新 打新中签高时间段 10:30-11:30
455
- blockingScheduler.add_job(auto_ipo_buy, 'cron', hour='10', minute='40,50')
521
+ # todo 需要前后顺序执行
522
+ # todo 当日k线信息
523
+ # 同步一天k线 涨停 数据
524
+ blockingScheduler.add_job(sync_daily_data_info, 'cron', hour='15,20', minute='15')
456
525
 
457
- # 更新开盘啦指数关系
458
- blockingScheduler.add_job(update_best_choose_plate_relation, 'cron', hour='09,18', minute='25')
526
+ # (前复权--月k线)
527
+ blockingScheduler.add_job(stock_sync_qfq_monthly, 'cron', hour='15,18', minute='35')
528
+
529
+ # 复盘需要的数据
530
+ blockingScheduler.add_job(sync_toady_stock_zt_pool, 'cron', hour='15', minute='40')
531
+
532
+ # 炸板信息同步 同步停复牌信息
533
+ blockingScheduler.add_job(sync_stock_zb_pool, 'cron', hour='16,21', minute='15')
534
+
535
+ # 跌停信息同步
536
+ blockingScheduler.add_job(sync_stock_dt_pool, 'cron', hour='16,21', minute='37')
537
+
538
+ # 更新空的涨停原因股票
539
+ blockingScheduler.add_job(update_null_zt_reason, 'cron', hour='16,17,18,19,20,21,22,23', minute='19')
540
+
541
+ # 同步财务报表任务
542
+ blockingScheduler.add_job(sync_financial_report_task, 'cron', hour='17', minute='30')
543
+
544
+ # 同步同花顺行业信息
545
+ blockingScheduler.add_job(sync_ths_industry_info, 'cron', hour='17,22', minute='38')
459
546
 
460
547
  # 更新开盘啦指数历史指数
461
548
  blockingScheduler.add_job(sync_kpl_best_his_quotes, 'cron', hour='18,22', minute='25')
462
549
 
463
- # 获取同花顺持仓
464
- blockingScheduler.add_job(sync_position, 'cron', hour='0,09', minute='10')
550
+ # 同步年线数据
551
+ blockingScheduler.add_job(sync_year_k_line, 'cron', hour='18,23', minute='55')
552
+
553
+ # 同步交易日期
554
+ blockingScheduler.add_job(sync_trade_date, 'cron', hour='20', minute='43')
465
555
 
466
556
  # 同步高风险股票
467
- blockingScheduler.add_job(sync_high_risk_stocks, 'cron', hour='0,09,12,16', minute='20')
557
+ blockingScheduler.add_job(sync_high_risk_stocks, 'cron', hour='0,12,16', minute='20')
468
558
 
469
- # 同步互动回答
470
- blockingScheduler.add_job(sync_all_interactive_questions, 'cron', hour='08,12,17', minute='05')
559
+ # (前复权--周k线)
560
+ blockingScheduler.add_job(stock_sync_qfq_weekly, 'cron', day_of_week='fri', hour=16, minute=20)
471
561
 
472
- # 实时数据状态同步check
473
- blockingScheduler.add_job(real_time_task_check_status, 'interval', seconds=59, max_instances=4)
562
+ # 数据库健康检查
563
+ blockingScheduler.add_job(db_status_check, 'interval', seconds=30, max_instances=4)
474
564
 
475
- # 打开交易客户端
476
- blockingScheduler.add_job(trader_client_auto_login, 'cron', hour='08,12', minute='30')
477
- # 同步公司备注信息
478
- blockingScheduler.add_job(sync_company_remark_info, 'cron', hour='22', minute='30')
479
- # 自选股操作
480
- blockingScheduler.add_job(self_choose_stock_task, 'cron', hour='17,22', minute='30')
481
- # 同步财务报表任务
482
- blockingScheduler.add_job(sync_financial_report_task, 'cron', hour='17', minute='30')
565
+ # 同步同花顺新增概念指数(定时轮训,暂时10分钟)
566
+ blockingScheduler.add_job(sync_new_concept_index_task, 'interval', minutes=10, max_instances=4)
483
567
 
484
- # 同步港股公司和行业信息
485
- blockingScheduler.add_job(sync_hk_company_industry_info, 'cron', hour='08,15', minute='10')
486
- # 更新空的涨停原因股票
487
- blockingScheduler.add_job(update_null_zt_reason, 'cron', hour='16,17,18,19,20,21,22,23', minute='19')
568
+ # 同步开盘啦新增精选概念(定时轮训,暂时五分钟)
569
+ blockingScheduler.add_job(sync_all_kpl_plate_info, 'interval', minutes=5, max_instances=4)
570
+
571
+ # 同步新公告信息 感觉没有必要同步 直接连接过去查看
572
+ # blockingScheduler.add_job(sync_company_announce, 'cron', hour='07,18,23', minute='33')
573
+
574
+ # check 前复权k线和下一个交易日策略k线数据同步状态
575
+ blockingScheduler.add_job(check_k_line_sync_count, 'cron', hour='6,23', minute='10')
576
+
577
+ # 同步公司产品区域信息
578
+ blockingScheduler.add_job(sync_all_company_info_task, 'cron', day_of_week='sat,sun', hour='09',
579
+ minute='10')
580
+ # 自动打板任务
581
+ blockingScheduler.add_job(auto_da_ban_task, 'cron', hour='19', minute='29')
488
582
 
489
583
  print('定时任务启动成功')
490
584
  blockingScheduler.start()
491
585
  #
492
586
  # if __name__ == '__main__':
493
- # sync_daily_data_info()
587
+ # sync_company_product_area_industry()
@@ -1,4 +1,4 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: mns-scheduler
3
- Version: 1.1.8.4
3
+ Version: 1.4.5.7
4
4