mns-scheduler 1.2.6.4__py3-none-any.whl → 1.4.2.5__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.

Potentially problematic release.


This version of mns-scheduler might be problematic. Click here for more details.

Files changed (125) hide show
  1. mns_scheduler/company_info/announce/__init__.py +1 -1
  2. mns_scheduler/company_info/announce/company_announce_sync_service.py +11 -6
  3. mns_scheduler/company_info/base/__init__.py +1 -1
  4. mns_scheduler/company_info/base/sync_company_base_info_api.py +165 -75
  5. mns_scheduler/company_info/base/sync_company_hold_info_api.py +3 -6
  6. mns_scheduler/company_info/base/sync_company_product_area_industry.py +161 -0
  7. mns_scheduler/company_info/clean/__init__.py +1 -1
  8. mns_scheduler/company_info/clean/company_info_clean_api.py +3 -3
  9. mns_scheduler/company_info/constant/__init__.py +1 -1
  10. mns_scheduler/company_info/constant/company_constant_data.py +4 -0
  11. mns_scheduler/company_info/de_list_stock/__init__.py +1 -1
  12. mns_scheduler/company_info/de_list_stock/de_list_stock_service.py +1 -1
  13. mns_scheduler/company_info/em_stock_info/sync_em_stock_info_sync.py +80 -0
  14. mns_scheduler/company_info/remark/__init__.py +1 -1
  15. mns_scheduler/company_info/remark/company_remark_info_sync.py +3 -3
  16. mns_scheduler/concept/clean/kpl_concept_clean_api.py +1 -1
  17. mns_scheduler/concept/clean/ths_concept_clean_api.py +3 -6
  18. mns_scheduler/concept/ths/detaill/ths_concept_detail_api.py +2 -2
  19. mns_scheduler/concept/ths/update_concept_info/sync_one_symbol_all_concepts_api.py +2 -2
  20. mns_scheduler/db/script/__init__.py +1 -1
  21. mns_scheduler/db/script/col_move_script.py +1 -1
  22. mns_scheduler/db/script/db_move/__init__.py +7 -0
  23. mns_scheduler/db/script/db_move/col_move_one_service.py +34 -0
  24. mns_scheduler/db/script/sync/__init__.py +1 -1
  25. mns_scheduler/db/script/sync/remote_data_sync_to_local.py +40 -8
  26. mns_scheduler/db/script/sync/sync_hui_ce_test_data.py +36 -23
  27. mns_scheduler/db/script/sync/sync_hui_ce_test_data_01.py +69 -0
  28. mns_scheduler/db/script/update/__init__.py +1 -1
  29. mns_scheduler/db/script/update/update_col_field.py +1 -1
  30. mns_scheduler/finance/__init__.py +1 -1
  31. mns_scheduler/finance/{em_financial_asset_liability_sync_service_api.py → em/em_financial_asset_liability_sync_service_api.py} +2 -2
  32. mns_scheduler/finance/{em_financial_profit_sync_service_api.py → em/em_financial_profit_sync_service_api.py} +27 -26
  33. mns_scheduler/finance/{finance_common_api.py → em/finance_common_api.py} +3 -3
  34. mns_scheduler/finance/{sync_financial_report_service_api.py → sync_financial_report_service_task.py} +80 -27
  35. mns_scheduler/finance/xue_qiu/down_load_xueqiu_report_api.py +77 -0
  36. mns_scheduler/finance/xue_qiu/sync_xue_qiu_fiance_data.py +161 -0
  37. mns_scheduler/hk/__init__.py +1 -1
  38. mns_scheduler/hk/hk_company_info_sync_service_api.py +4 -4
  39. mns_scheduler/hk/hk_industry_info_sync_service_api.py +3 -5
  40. mns_scheduler/industry/__init__.py +1 -1
  41. mns_scheduler/industry/ths/__init__.py +1 -1
  42. mns_scheduler/industry/ths/ths_industry_index_service.py +1 -1
  43. mns_scheduler/industry/ths/ths_industry_sync_service.py +1 -1
  44. mns_scheduler/irm/__init__.py +1 -1
  45. mns_scheduler/irm/api/__init__.py +1 -1
  46. mns_scheduler/irm/api/sh_stock_sns_sse_info_api.py +1 -1
  47. mns_scheduler/irm/api/sz_stock_sns_sse_info_api.py +1 -1
  48. mns_scheduler/irm/stock_irm_cninfo_service.py +12 -8
  49. mns_scheduler/k_line/clean/daily/__init__.py +1 -1
  50. mns_scheduler/k_line/clean/daily/daily_k_line_clean_common_service.py +1 -1
  51. mns_scheduler/k_line/clean/daily/daily_k_line_service.py +1 -1
  52. mns_scheduler/k_line/clean/k_line_info_clean_impl.py +3 -2
  53. mns_scheduler/k_line/clean/k_line_info_clean_task.py +42 -15
  54. mns_scheduler/k_line/clean/week_month/__init__.py +1 -1
  55. mns_scheduler/k_line/clean/week_month/normal_week_month_k_line_service.py +75 -40
  56. mns_scheduler/k_line/clean/week_month/sub_new_week_month_k_line_service.py +2 -2
  57. mns_scheduler/k_line/common/__init__.py +7 -0
  58. mns_scheduler/k_line/common/k_line_common_api.py +188 -0
  59. mns_scheduler/k_line/hot_stocks/__init__.py +1 -1
  60. mns_scheduler/k_line/hot_stocks/recent_hot_stocks_clean_service.py +1 -1
  61. mns_scheduler/k_line/{sync → month_week_daily}/bfq_k_line_sync.py +14 -29
  62. mns_scheduler/k_line/{sync → month_week_daily}/daily_week_month_line_sync.py +9 -11
  63. mns_scheduler/k_line/sync_status/__init__.py +7 -0
  64. mns_scheduler/k_line/sync_status/k_line_sync_status_check.py +54 -0
  65. mns_scheduler/k_line/test/__init__.py +1 -1
  66. mns_scheduler/k_line/test/k_line_info_clean_his_data.py +10 -5
  67. mns_scheduler/k_line/year_quarter/__init__.py +7 -0
  68. mns_scheduler/k_line/year_quarter/year_quarter_line_sync.py +76 -0
  69. mns_scheduler/kpl/selection/symbol/sync_best_choose_symbol.py +1 -2
  70. mns_scheduler/kpl/selection/symbol/sync_kpl_concept_symbol_choose_reason_api.py +108 -0
  71. mns_scheduler/kpl/selection/total/sync_kpl_best_total_sync_api.py +5 -0
  72. mns_scheduler/lhb/__init__.py +1 -1
  73. mns_scheduler/lhb/stock_lhb_sync_service.py +1 -1
  74. mns_scheduler/open/__init__.py +1 -1
  75. mns_scheduler/open/sync_one_day_open_data_to_db_service.py +2 -2
  76. mns_scheduler/risk/__init__.py +1 -1
  77. mns_scheduler/risk/compliance/undisclosed_annual_report_api.py +8 -2
  78. mns_scheduler/risk/financial/annual_report_audit_check_api.py +10 -2
  79. mns_scheduler/risk/financial/net_assets_check_api.py +1 -1
  80. mns_scheduler/risk/financial/profit_income_check_api.py +2 -3
  81. mns_scheduler/risk/financial_report_risk_check_api.py +1 -1
  82. mns_scheduler/risk/major_violations/register_and_investigate_stock_sync_api.py +1 -1
  83. mns_scheduler/risk/self/wei_pan_stock_api.py +1 -1
  84. mns_scheduler/risk/test/__init__.py +1 -1
  85. mns_scheduler/risk/test/fix_blask_list.py +2 -2
  86. mns_scheduler/risk/transactions/transactions_check_api.py +7 -5
  87. mns_scheduler/self_choose/__init__.py +1 -1
  88. mns_scheduler/self_choose/ths_self_choose_service.py +37 -28
  89. mns_scheduler/trade/auto_login/trader_auto_service.py +6 -4
  90. mns_scheduler/trade/auto_sell_service_api.py +4 -4
  91. mns_scheduler/trade/balance/__init__.py +1 -1
  92. mns_scheduler/trade/balance/ths_account_balance_service.py +1 -1
  93. mns_scheduler/trade/sync_position_api.py +1 -1
  94. mns_scheduler/trade/task/trader_task_service.py +26 -9
  95. mns_scheduler/trade/tfp/__init__.py +1 -1
  96. mns_scheduler/trade/tfp/stock_tfp_info_sync.py +5 -2
  97. mns_scheduler/zb/stock_zb_pool_sync.py +1 -16
  98. mns_scheduler/zt/high_chg/sync_high_chg_pool_service.py +2 -2
  99. mns_scheduler/zt/script/__init__.py +1 -1
  100. mns_scheduler/zt/script/fix_error_deal_day.py +1 -1
  101. mns_scheduler/zt/script/kcx_high_chg_open_his_data_handle.py +2 -2
  102. mns_scheduler/zt/script/sync_high_chg_pool_his_data.py +2 -2
  103. mns_scheduler/zt/script/sync_now_higt_chg_zt.py +8 -7
  104. mns_scheduler/zt/zt_pool/em_zt_pool_sync_api.py +46 -18
  105. mns_scheduler/zt/zt_pool/ths_zt_pool_sync_api.py +33 -90
  106. mns_scheduler/zt/zt_pool/update_null_zt_reason_api.py +18 -5
  107. mns_scheduler/zz_task/compensation/__init__.py +0 -0
  108. mns_scheduler/zz_task/compensation/compensate_task.py +161 -0
  109. mns_scheduler/zz_task/compensation/compensate_task_one_day.py +142 -0
  110. mns_scheduler/zz_task/data_sync_task.py +144 -120
  111. {mns_scheduler-1.2.6.4.dist-info → mns_scheduler-1.4.2.5.dist-info}/METADATA +1 -1
  112. mns_scheduler-1.4.2.5.dist-info/RECORD +169 -0
  113. {mns_scheduler-1.2.6.4.dist-info → mns_scheduler-1.4.2.5.dist-info}/WHEEL +1 -1
  114. mns_scheduler/big_deal/ths_big_deal_sync.py +0 -98
  115. mns_scheduler/db/real_time_task_check.py +0 -127
  116. mns_scheduler/debt/kzz_bond_info_sync.py +0 -33
  117. mns_scheduler/us/baidu_yun_pan_handle_service.py +0 -131
  118. mns_scheduler/us/k_line.py +0 -91
  119. mns_scheduler/us/us_company_info_sync_service_api.py +0 -39
  120. mns_scheduler-1.2.6.4.dist-info/RECORD +0 -158
  121. /mns_scheduler/{big_deal → company_info/em_stock_info}/__init__.py +0 -0
  122. /mns_scheduler/{debt → finance/em}/__init__.py +0 -0
  123. /mns_scheduler/{us → finance/xue_qiu}/__init__.py +0 -0
  124. /mns_scheduler/k_line/{sync → month_week_daily}/__init__.py +0 -0
  125. {mns_scheduler-1.2.6.4.dist-info → mns_scheduler-1.4.2.5.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,80 @@
1
+ import sys
2
+ import os
3
+
4
+ file_path = os.path.abspath(__file__)
5
+ end = file_path.index('mns') + 17
6
+ project_path = file_path[0:end]
7
+ sys.path.append(project_path)
8
+
9
+ from mns_common.db.MongodbUtil import MongodbUtil
10
+ from loguru import logger
11
+ import mns_common.api.em.real_time.east_money_debt_api as east_money_debt_api
12
+ import mns_common.api.em.real_time.east_money_etf_api as east_money_etf_api
13
+ import mns_common.api.em.real_time.east_money_stock_a_v2_api as east_money_stock_a_v2_api
14
+ from datetime import datetime
15
+ import mns_common.constant.extra_income_db_name as extra_income_db_name
16
+ import mns_common.api.em.real_time.east_money_stock_hk_api as east_money_stock_hk_api
17
+ import mns_common.component.cookie.cookie_info_service as cookie_info_service
18
+ import mns_common.api.em.real_time.east_money_stock_us_api as east_money_stock_us_api
19
+
20
+ mongodb_util = MongodbUtil('27017')
21
+
22
+
23
+ def sync_all_em_stock_info():
24
+ now_date = datetime.now()
25
+ str_now_date = now_date.strftime('%Y-%m-%d %H:%M:%S')
26
+
27
+ logger.info("同步东方财富a,etf,kzz,us,hk,信息开始")
28
+
29
+ try:
30
+ # 这里需要使用详情接口 获取全量数据
31
+ em_a_stock_info_df = east_money_stock_a_v2_api.get_stock_real_time_quotes(60)
32
+ em_a_stock_info_df['list_date'] = em_a_stock_info_df['list_date'].fillna(19890604)
33
+ em_a_stock_info_df['_id'] = em_a_stock_info_df['symbol']
34
+ em_a_stock_info_df['sync_time'] = str_now_date
35
+ mongodb_util.save_mongo(em_a_stock_info_df, extra_income_db_name.EM_A_STOCK_INFO)
36
+ except BaseException as e:
37
+ logger.error("同步东方财富A股信息异常:{}", e)
38
+ try:
39
+ em_etf_info = east_money_etf_api.get_etf_real_time_quotes(30, 6)
40
+ em_etf_info['sync_time'] = str_now_date
41
+ mongodb_util.save_mongo(em_etf_info, extra_income_db_name.EM_ETF_INFO)
42
+ except BaseException as e:
43
+ logger.error("同步东方财富ETF信息异常:{}", e)
44
+
45
+ try:
46
+ em_kzz_info = east_money_debt_api.get_kzz_real_time_quotes(30, 6)
47
+ em_kzz_info['_id'] = em_kzz_info['symbol']
48
+ em_kzz_info['sync_time'] = str_now_date
49
+ mongodb_util.save_mongo(em_kzz_info, extra_income_db_name.EM_KZZ_INFO)
50
+ except BaseException as e:
51
+ logger.error("同步东方财富可转债信息异常:{}", e)
52
+
53
+ # em_cookie = cookie_info_service.get_em_cookie()
54
+ # try:
55
+ # em_hk_stock_info = east_money_stock_hk_api.get_hk_real_time_quotes(em_cookie, proxies)
56
+ # em_hk_stock_info['_id'] = em_hk_stock_info['symbol']
57
+ # mongodb_util.save_mongo(em_hk_stock_info, extra_income_db_name.EM_HK_STOCK_INFO)
58
+ # except BaseException as e:
59
+ # logger.error("同步东方财富港股信息异常:{}", e)
60
+ #
61
+ # try:
62
+ # em_cookie = cookie_info_service.get_em_cookie()
63
+ # em_us_stock_info = east_money_stock_us_api.get_us_stock_real_time_quotes(em_cookie, proxies)
64
+ # em_us_stock_info['_id'] = em_us_stock_info['symbol']
65
+ # mongodb_util.save_mongo(em_us_stock_info, extra_income_db_name.EM_US_STOCK_INFO)
66
+ # em_us_etf_info = em_us_stock_info.loc[(em_us_stock_info['amount'] != 0) & (em_us_stock_info['total_mv'] == 0)]
67
+ # em_us_etf_info = em_us_etf_info.sort_values(by=['amount'], ascending=False)
68
+ # mongodb_util.save_mongo(em_us_etf_info, extra_income_db_name.EM_US_ETF_INFO)
69
+ #
70
+ # except BaseException as e:
71
+ # logger.error("同步东方财富美股信息异常:{}", e)
72
+ logger.info("同步东方财富a,etf,kzz,us,hk,信息完成")
73
+
74
+
75
+ if __name__ == '__main__':
76
+ sync_all_em_stock_info()
77
+ # em_cookie = cookie_info_service.get_em_cookie()
78
+ # em_us_stock_info = east_money_stock_us_api.get_us_stock_real_time_quotes(em_cookie, None)
79
+ # em_us_stock_info['_id'] = em_us_stock_info['symbol']
80
+ # mongodb_util.save_mongo(em_us_stock_info, db_name_constant.EM_US_STOCK_INFO)
@@ -2,6 +2,6 @@ import sys
2
2
  import os
3
3
 
4
4
  file_path = os.path.abspath(__file__)
5
- end = file_path.index('mns') + 16
5
+ end = file_path.index('mns') + 17
6
6
  project_path = file_path[0:end]
7
7
  sys.path.append(project_path)
@@ -2,11 +2,11 @@ import sys
2
2
  import os
3
3
 
4
4
  file_path = os.path.abspath(__file__)
5
- end = file_path.index('mns') + 16
5
+ end = file_path.index('mns') + 17
6
6
  project_path = file_path[0:end]
7
7
  sys.path.append(project_path)
8
8
  import mns_common.api.ths.concept.web.ths_company_info_web as ths_company_info_web
9
- import mns_common.api.em.east_money_stock_v2_api as east_money_stock_v2_api
9
+ import mns_common.component.em.em_stock_info_api as em_stock_info_api
10
10
  from mns_common.db.MongodbUtil import MongodbUtil
11
11
  import mns_common.utils.data_frame_util as data_frame_util
12
12
  import mns_common.constant.db_name_constant as db_name_constant
@@ -18,7 +18,7 @@ mongodb_util = MongodbUtil('27017')
18
18
 
19
19
 
20
20
  def sync_company_remark_info():
21
- east_money_stock_info = east_money_stock_v2_api.get_all_real_time_quotes()
21
+ east_money_stock_info = em_stock_info_api.get_a_stock_info()
22
22
  de_listed_stock_list = company_common_service_api.get_de_list_company()
23
23
  east_money_stock_info = east_money_stock_info.loc[~(
24
24
  east_money_stock_info['symbol'].isin(de_listed_stock_list))]
@@ -2,7 +2,7 @@ import sys
2
2
  import os
3
3
 
4
4
  file_path = os.path.abspath(__file__)
5
- end = file_path.index('mns') + 16
5
+ end = file_path.index('mns') + 17
6
6
  project_path = file_path[0:end]
7
7
  sys.path.append(project_path)
8
8
  from mns_common.db.MongodbUtil import MongodbUtil
@@ -7,7 +7,7 @@ project_path = file_path[0:end]
7
7
  sys.path.append(project_path)
8
8
  from mns_common.db.MongodbUtil import MongodbUtil
9
9
  import pandas as pd
10
- import mns_common.utils.data_frame_util as data_frame_util
10
+ import mns_common.api.ths.concept.web.ths_concept_index_web as ths_concept_index_web
11
11
  import time
12
12
  from loguru import logger
13
13
  import mns_common.component.company.company_common_service_api as company_common_service_api
@@ -107,10 +107,7 @@ def update_null_name():
107
107
  exist_url = concept_one.url
108
108
 
109
109
  if name == '':
110
- concept_name_df = ths_concept_index_app.get_new_concept_from_app_search(concept_code)
111
- if data_frame_util.is_empty(concept_name_df):
112
- continue
113
- concept_name = list(concept_name_df['concept_name'])[0]
110
+ concept_name = ths_concept_index_web.get_concept_name(concept_code)
114
111
  query_concept = {"symbol": concept_code}
115
112
  new_values = {'$set': {"name": concept_name}}
116
113
  mongodb_util.update_one_query(query_concept, new_values, 'ths_concept_list')
@@ -131,7 +128,7 @@ def update_null_name():
131
128
 
132
129
 
133
130
  if __name__ == '__main__':
134
- update_one_concept_relevance_industry(886095)
131
+ # update_one_concept_relevance_industry(886095)
135
132
  update_null_name()
136
133
  logger.info("开始")
137
134
  update_ths_concept_info()
@@ -9,7 +9,7 @@ import mns_common.component.concept.ths_concept_common_service_api as ths_concep
9
9
  import mns_common.component.common_service_fun_api as common_service_fun_api
10
10
  import mns_common.api.ths.concept.app.ths_concept_detail_app as ths_concept_detail_app
11
11
  import mns_common.api.ths.wen_cai.ths_wen_cai_api as ths_wen_cai_api
12
- import mns_common.api.em.east_money_stock_api as east_money_stock_api
12
+ import mns_common.component.em.em_stock_info_api as em_stock_info_api
13
13
  import mns_common.component.company.company_common_service_new_api as company_common_service_new_api
14
14
  import mns_common.api.ths.concept.web.ths_concept_detail_web as ths_concept_detail_web
15
15
  import math
@@ -24,7 +24,7 @@ import mns_common.constant.redis_msg_constant as redis_msg_constant
24
24
 
25
25
 
26
26
  def get_ths_concept_detail(concept_code, concept_name):
27
- real_time_quotes_all_stocks = east_money_stock_api.get_real_time_quotes_all_stocks()
27
+ real_time_quotes_all_stocks = em_stock_info_api.get_a_stock_info()
28
28
  # 1 通过入选理获取概念组成股票详情
29
29
  ths_concept_detail_by_explain = get_ths_concept_detail_by_explain(concept_code, real_time_quotes_all_stocks)
30
30
  # 2 app 分享链接获取概念组成详情
@@ -1,7 +1,7 @@
1
1
  import os
2
2
  import sys
3
3
  import mns_common.api.ths.concept.web.ths_concept_detail_web as ths_concept_detail_web
4
- import mns_common.api.em.east_money_stock_api as east_money_stock_api
4
+ import mns_common.component.em.em_stock_info_api as em_stock_info_api
5
5
  import mns_common.component.common_service_fun_api as common_service_fun_api
6
6
  from mns_common.db.MongodbUtil import MongodbUtil
7
7
  from loguru import logger
@@ -157,7 +157,7 @@ def update_symbol_new_concept(symbol_df, page_number):
157
157
 
158
158
  def sync_symbol_all_concept(symbol):
159
159
  create_index()
160
- real_time_quotes_now = east_money_stock_api.get_real_time_quotes_all_stocks()
160
+ real_time_quotes_now = em_stock_info_api.get_a_stock_info()
161
161
  real_time_quotes_now = common_service_fun_api.classify_symbol(real_time_quotes_now)
162
162
  if symbol is not None:
163
163
  real_time_quotes_now = real_time_quotes_now.loc[real_time_quotes_now['symbol'] == symbol]
@@ -2,6 +2,6 @@ import sys
2
2
  import os
3
3
 
4
4
  file_path = os.path.abspath(__file__)
5
- end = file_path.index('mns') + 16
5
+ end = file_path.index('mns') + 17
6
6
  project_path = file_path[0:end]
7
7
  sys.path.append(project_path)
@@ -2,7 +2,7 @@ import sys
2
2
  import os
3
3
 
4
4
  file_path = os.path.abspath(__file__)
5
- end = file_path.index('mns') + 16
5
+ end = file_path.index('mns') + 17
6
6
  project_path = file_path[0:end]
7
7
  sys.path.append(project_path)
8
8
  import pymongo
@@ -0,0 +1,7 @@
1
+ import sys
2
+ import os
3
+
4
+ file_path = os.path.abspath(__file__)
5
+ end = file_path.index('mns') + 17
6
+ project_path = file_path[0:end]
7
+ sys.path.append(project_path)
@@ -0,0 +1,34 @@
1
+ import sys
2
+ import os
3
+
4
+ file_path = os.path.abspath(__file__)
5
+ end = file_path.index('mns') + 17
6
+ project_path = file_path[0:end]
7
+ sys.path.append(project_path)
8
+ from loguru import logger
9
+
10
+
11
+ def db_export(db, col):
12
+ cmd = 'F:/mongo/bin/mongodump.exe --host ' + db + ' -d patience -c ' + col + ' -o D:/back'
13
+ os.system(cmd)
14
+ logger.info("export finished:{}", col)
15
+
16
+
17
+ def db_import(db, col):
18
+ cmd = 'F:/mongo/bin/mongorestore.exe --host ' + db + ' -d patience -c ' + col + ' D:/back/patience/' + col + '.bson'
19
+ os.system(cmd)
20
+
21
+ path = 'D:\\back\\patience\\' + col + '.bson'
22
+ cmd_del = 'del /F /S /Q ' + path
23
+ os.system(cmd_del)
24
+
25
+ logger.info("import finished:{}", col)
26
+
27
+
28
+ def handle_one_col(col_name):
29
+ db_export('127.0.0.1:27017', col_name)
30
+ db_import('127.0.0.1:27019', col_name)
31
+
32
+
33
+ if __name__ == '__main__':
34
+ handle_one_col('one_minute_k_line_bfq_h')
@@ -2,6 +2,6 @@ import sys
2
2
  import os
3
3
 
4
4
  file_path = os.path.abspath(__file__)
5
- end = file_path.index('mns') + 16
5
+ end = file_path.index('mns') + 17
6
6
  project_path = file_path[0:end]
7
7
  sys.path.append(project_path)
@@ -2,7 +2,7 @@ import sys
2
2
  import os
3
3
 
4
4
  file_path = os.path.abspath(__file__)
5
- end = file_path.index('mns') + 16
5
+ end = file_path.index('mns') + 17
6
6
  project_path = file_path[0:end]
7
7
  sys.path.append(project_path)
8
8
  import mns_common.utils.data_frame_util as data_frame_util
@@ -15,12 +15,15 @@ remote_mongodb_util = RemoteMongodbUtil('27017')
15
15
  local_mongodb_util = LocalMongodbUtil('27017')
16
16
 
17
17
  col_list = [
18
+ 'em_a_stock_info',
19
+ 'em_etf_info',
20
+ 'em_kzz_info',
21
+ 'em_hk_stock_info',
18
22
  'company_info',
19
23
  'company_remark_info',
20
24
  'company_holding_info',
21
25
  'industry_concept_remark',
22
26
  'trade_date_list',
23
- 'company_info',
24
27
  'de_list_stock',
25
28
  'kpl_best_choose_index',
26
29
  'kpl_best_choose_index_detail',
@@ -31,8 +34,11 @@ col_list = [
31
34
  'self_choose_stock',
32
35
  'stock_account_info',
33
36
  'ths_concept_list',
34
- 'stock_zt_pool',
35
- 'ths_stock_concept_detail'
37
+ 'stock_zt_pool_five',
38
+ 'ths_stock_concept_detail',
39
+ 'stock_high_chg_pool',
40
+ 'today_new_concept_list',
41
+ 'ths_stock_concept_detail_app'
36
42
  ]
37
43
 
38
44
 
@@ -52,8 +58,22 @@ def remote_data():
52
58
  logger.error("同步失败:{},{}", e, col)
53
59
 
54
60
 
61
+ def sync_zt_data(str_day):
62
+ col = 'stock_zt_pool'
63
+ try:
64
+ query = {'str_day': str_day}
65
+ col_df = remote_mongodb_util.find_query_data(col, query)
66
+ if data_frame_util.is_not_empty(col_df):
67
+ col_df.replace([np.inf, -np.inf], 0, inplace=True)
68
+ local_mongodb_util.save_mongo(col_df, col)
69
+
70
+ logger.info("同步集合完成:{}", col)
71
+ except BaseException as e:
72
+ logger.error("同步失败:{},{}", e, col)
73
+
74
+
55
75
  def sync_open_data():
56
- query = {"$and": [{'trade_date': {"$gte": "2022-03-16"}}, {'trade_date': {"$lte": "2025-01-01"}}]}
76
+ query = {"$and": [{'trade_date': {"$gte": "2025-03-21"}}, {'trade_date': {"$lte": "2025-04-02"}}]}
57
77
  trade_date_list_df = remote_mongodb_util.find_query_data('trade_date_list', query)
58
78
  trade_date_list_df = trade_date_list_df.sort_values(by=['trade_date'], ascending=False)
59
79
  for trade_date_one in trade_date_list_df.itertuples():
@@ -61,13 +81,25 @@ def sync_open_data():
61
81
  trade_date = trade_date_one.trade_date
62
82
  query_01 = {"str_day": trade_date}
63
83
  realtime_quotes_now_open_df = remote_mongodb_util.find_query_data('realtime_quotes_now_open', query_01)
64
- # del realtime_quotes_now_open_df['ths_concept_list']
84
+ if 'ths_concept_list' in realtime_quotes_now_open_df.columns:
85
+ del realtime_quotes_now_open_df['ths_concept_list']
65
86
  local_mongodb_util.insert_mongo(realtime_quotes_now_open_df, 'realtime_quotes_now_open')
66
- logger.error("同步到:{}", trade_date)
87
+ logger.info("同步到:{}", trade_date)
67
88
  except BaseException as e:
68
89
  logger.error("同步异常:{}", e)
69
90
  return trade_date_list_df
70
91
 
71
92
 
72
93
  if __name__ == '__main__':
73
- sync_open_data()
94
+ sync_zt_data('2025-09-17')
95
+ # sync_zt_data('2025-09-02')
96
+ remote_data()
97
+ # sync_zt_data('2025-08-26')
98
+ # sync_zt_data('2025-08-25')
99
+ # sync_zt_data('2025-08-26')
100
+ # remote_data()
101
+ # sync_zt_data('2025-07-23')
102
+ # sync_zt_data('2025-07-24')
103
+ # sync_zt_data('2025-07-25')
104
+ # sync_open_data()
105
+ # remote_data()
@@ -2,22 +2,30 @@ import sys
2
2
  import os
3
3
 
4
4
  file_path = os.path.abspath(__file__)
5
- end = file_path.index('mns') + 16
5
+ end = file_path.index('mns') + 17
6
6
  project_path = file_path[0:end]
7
7
  sys.path.append(project_path)
8
8
 
9
- import mns_common.utils.data_frame_util as data_frame_util
10
9
  from mns_scheduler.db.script.sync.remote_mongo_util import RemoteMongodbUtil
11
10
  from mns_scheduler.db.script.sync.local_mongo_util import LocalMongodbUtil
12
11
  from loguru import logger
13
- import numpy as np
14
12
 
15
13
  remote_mongodb_util = RemoteMongodbUtil('27017')
16
14
  local_mongodb_util = LocalMongodbUtil('27017')
17
15
 
18
16
 
17
+ def create_index(db_name):
18
+ local_mongodb_util.create_index(db_name, [("symbol", 1)])
19
+
20
+ local_mongodb_util.create_index(db_name, [("str_now_date", 1)])
21
+
22
+ local_mongodb_util.create_index(db_name, [("symbol", 1), ("number", 1)])
23
+
24
+
19
25
  def sync_real_time_data(str_day, min_number, max_number):
20
26
  db_name = 'realtime_quotes_now_' + str_day
27
+ # 创建索引
28
+ create_index(db_name)
21
29
  while min_number <= max_number:
22
30
  query = {'number': min_number}
23
31
  data_df = remote_mongodb_util.find_query_data(db_name, query)
@@ -31,37 +39,42 @@ def sync_k_line(str_day):
31
39
  db_name = 'k_line_info'
32
40
  data_df = remote_mongodb_util.find_query_data(db_name, query)
33
41
  try:
34
- local_mongodb_util.save_mongo(data_df, db_name)
42
+ local_mongodb_util.insert_mongo(data_df, db_name)
35
43
  except BaseException as e:
44
+ logger.error("出现异常:{}", e)
36
45
  pass
37
46
 
38
47
 
39
48
  if __name__ == '__main__':
40
- str_day_01 = '2024-12-13'
49
+ str_day_01 = '2025-09-10'
50
+ sync_k_line(str_day_01)
51
+
52
+ # sync_real_time_data(str_day_01, 1, 2500)
53
+
41
54
  # sync_k_line(str_day_01)
42
55
  # sync_k_line('2024-11-13')
43
56
  # sync_k_line('2024-11-12')
44
57
  # sync_k_line('2024-11-15') 232
45
- sync_real_time_data(str_day_01, 1409, 7010)
58
+
46
59
  # sync_real_time_data('2024-11-15', 10, 1010)
47
60
 
48
- sync_k_line('2024-12-20')
49
- sync_k_line('2024-12-19')
50
- sync_k_line('2024-12-18')
51
- sync_k_line('2024-12-17')
52
- sync_k_line('2024-12-16')
53
-
54
- sync_k_line('2024-12-13')
55
- sync_k_line('2024-12-12')
56
- sync_k_line('2024-12-11')
57
- sync_k_line('2024-12-10')
58
- sync_k_line('2024-12-09')
59
-
60
- sync_k_line('2024-12-06')
61
- sync_k_line('2024-12-05')
62
- sync_k_line('2024-12-04')
63
- sync_k_line('2024-12-03')
64
- sync_k_line('2024-12-02')
61
+ # sync_k_line('2024-12-20')
62
+ # sync_k_line('2024-12-19')
63
+ # sync_k_line('2024-12-18')
64
+ # sync_k_line('2024-12-17')
65
+ # sync_k_line('2024-12-16')
66
+ #
67
+ # sync_k_line('2024-12-13')
68
+ # sync_k_line('2024-12-12')
69
+ # sync_k_line('2024-12-11')
70
+ # sync_k_line('2024-12-10')
71
+ # sync_k_line('2024-12-09')
72
+ #
73
+ # sync_k_line('2024-12-06')
74
+ # sync_k_line('2024-12-05')
75
+ # sync_k_line('2024-12-04')
76
+ # sync_k_line('2024-12-03')
77
+ # sync_k_line('2024-12-02')
65
78
 
66
79
  # sync_real_time_data('2024-12-20', 1000, 2000)
67
80
  # sync_real_time_data('2024-11-13', 10, 1010)
@@ -0,0 +1,69 @@
1
+ import sys
2
+ import os
3
+
4
+ file_path = os.path.abspath(__file__)
5
+ end = file_path.index('mns') + 17
6
+ project_path = file_path[0:end]
7
+ sys.path.append(project_path)
8
+
9
+ import mns_common.utils.data_frame_util as data_frame_util
10
+ from mns_scheduler.db.script.sync.remote_mongo_util import RemoteMongodbUtil
11
+ from mns_scheduler.db.script.sync.local_mongo_util import LocalMongodbUtil
12
+ from loguru import logger
13
+ import numpy as np
14
+
15
+ remote_mongodb_util = RemoteMongodbUtil('27017')
16
+ local_mongodb_util = LocalMongodbUtil('27017')
17
+
18
+
19
+ def sync_real_time_data(str_day, min_number, max_number):
20
+ db_name = 'realtime_quotes_now_' + str_day
21
+ while min_number <= max_number:
22
+ query = {'number': min_number}
23
+ data_df = remote_mongodb_util.find_query_data(db_name, query)
24
+ local_mongodb_util.insert_mongo(data_df, db_name)
25
+ min_number = min_number + 1
26
+ logger.info(min_number)
27
+
28
+
29
+ def sync_k_line(str_day):
30
+ query = {"str_day": str_day}
31
+ db_name = 'k_line_info'
32
+ data_df = remote_mongodb_util.find_query_data(db_name, query)
33
+ try:
34
+ local_mongodb_util.save_mongo(data_df, db_name)
35
+ except BaseException as e:
36
+ pass
37
+
38
+
39
+ if __name__ == '__main__':
40
+ sync_k_line('2025-08-27')
41
+ # sync_k_line('2025-07-24')
42
+ # sync_k_line('2025-07-25')
43
+ # sync_k_line(str_day_01)
44
+ # sync_k_line('2024-11-13')
45
+ # sync_k_line('2024-11-12')
46
+ # sync_k_line('2024-11-15') 232
47
+ # sync_real_time_data(str_day_01, 1, 2000)
48
+ # sync_real_time_data('2024-11-15', 10, 1010)
49
+ #
50
+ # sync_k_line('2024-12-20')
51
+ # sync_k_line('2024-12-19')
52
+ # sync_k_line('2024-12-18')
53
+ # sync_k_line('2024-12-17')
54
+ # sync_k_line('2024-12-16')
55
+ #
56
+ # sync_k_line('2024-12-13')
57
+ # sync_k_line('2024-12-12')
58
+ # sync_k_line('2024-12-11')
59
+ # sync_k_line('2024-12-10')
60
+ # sync_k_line('2024-12-09')
61
+ #
62
+ # sync_k_line('2024-12-06')
63
+ # sync_k_line('2024-12-05')
64
+ # sync_k_line('2024-12-04')
65
+ # sync_k_line('2024-12-03')
66
+ # sync_k_line('2024-12-02')
67
+
68
+ # sync_real_time_data('2024-12-20', 1000, 2000)
69
+ # sync_real_time_data('2024-11-13', 10, 1010)
@@ -2,6 +2,6 @@ import sys
2
2
  import os
3
3
 
4
4
  file_path = os.path.abspath(__file__)
5
- end = file_path.index('mns') + 16
5
+ end = file_path.index('mns') + 17
6
6
  project_path = file_path[0:end]
7
7
  sys.path.append(project_path)
@@ -2,7 +2,7 @@ import sys
2
2
  import os
3
3
 
4
4
  file_path = os.path.abspath(__file__)
5
- end = file_path.index('mns') + 16
5
+ end = file_path.index('mns') + 17
6
6
  project_path = file_path[0:end]
7
7
  sys.path.append(project_path)
8
8
  from mns_common.db.MongodbUtil import MongodbUtil
@@ -2,6 +2,6 @@ import sys
2
2
  import os
3
3
 
4
4
  file_path = os.path.abspath(__file__)
5
- end = file_path.index('mns') + 16
5
+ end = file_path.index('mns') + 17
6
6
  project_path = file_path[0:end]
7
7
  sys.path.append(project_path)
@@ -2,12 +2,12 @@ import sys
2
2
  import os
3
3
 
4
4
  file_path = os.path.abspath(__file__)
5
- end = file_path.index('mns') + 16
5
+ end = file_path.index('mns') + 17
6
6
  project_path = file_path[0:end]
7
7
  sys.path.append(project_path)
8
8
  import akshare as ak
9
9
  from mns_common.db.MongodbUtil import MongodbUtil
10
- import mns_scheduler.finance.finance_common_api as finance_common_api
10
+ import mns_scheduler.finance.em.finance_common_api as finance_common_api
11
11
  import mns_common.constant.db_name_constant as db_name_constant
12
12
 
13
13
  mongodb_util = MongodbUtil('27017')