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.
- mns_scheduler/company_info/announce/__init__.py +1 -1
- mns_scheduler/company_info/announce/company_announce_sync_service.py +11 -6
- mns_scheduler/company_info/base/__init__.py +1 -1
- mns_scheduler/company_info/base/sync_company_base_info_api.py +165 -75
- mns_scheduler/company_info/base/sync_company_hold_info_api.py +3 -6
- mns_scheduler/company_info/base/sync_company_product_area_industry.py +161 -0
- mns_scheduler/company_info/clean/__init__.py +1 -1
- mns_scheduler/company_info/clean/company_info_clean_api.py +3 -3
- mns_scheduler/company_info/constant/__init__.py +1 -1
- mns_scheduler/company_info/constant/company_constant_data.py +4 -0
- mns_scheduler/company_info/de_list_stock/__init__.py +1 -1
- mns_scheduler/company_info/de_list_stock/de_list_stock_service.py +1 -1
- mns_scheduler/company_info/em_stock_info/sync_em_stock_info_sync.py +80 -0
- mns_scheduler/company_info/remark/__init__.py +1 -1
- mns_scheduler/company_info/remark/company_remark_info_sync.py +3 -3
- mns_scheduler/concept/clean/kpl_concept_clean_api.py +1 -1
- mns_scheduler/concept/clean/ths_concept_clean_api.py +3 -6
- mns_scheduler/concept/ths/detaill/ths_concept_detail_api.py +2 -2
- mns_scheduler/concept/ths/update_concept_info/sync_one_symbol_all_concepts_api.py +2 -2
- mns_scheduler/db/script/__init__.py +1 -1
- mns_scheduler/db/script/col_move_script.py +1 -1
- mns_scheduler/db/script/db_move/__init__.py +7 -0
- mns_scheduler/db/script/db_move/col_move_one_service.py +34 -0
- mns_scheduler/db/script/sync/__init__.py +1 -1
- mns_scheduler/db/script/sync/remote_data_sync_to_local.py +40 -8
- mns_scheduler/db/script/sync/sync_hui_ce_test_data.py +36 -23
- mns_scheduler/db/script/sync/sync_hui_ce_test_data_01.py +69 -0
- mns_scheduler/db/script/update/__init__.py +1 -1
- mns_scheduler/db/script/update/update_col_field.py +1 -1
- mns_scheduler/finance/__init__.py +1 -1
- mns_scheduler/finance/{em_financial_asset_liability_sync_service_api.py → em/em_financial_asset_liability_sync_service_api.py} +2 -2
- mns_scheduler/finance/{em_financial_profit_sync_service_api.py → em/em_financial_profit_sync_service_api.py} +27 -26
- mns_scheduler/finance/{finance_common_api.py → em/finance_common_api.py} +3 -3
- mns_scheduler/finance/{sync_financial_report_service_api.py → sync_financial_report_service_task.py} +80 -27
- mns_scheduler/finance/xue_qiu/down_load_xueqiu_report_api.py +77 -0
- mns_scheduler/finance/xue_qiu/sync_xue_qiu_fiance_data.py +161 -0
- mns_scheduler/hk/__init__.py +1 -1
- mns_scheduler/hk/hk_company_info_sync_service_api.py +4 -4
- mns_scheduler/hk/hk_industry_info_sync_service_api.py +3 -5
- mns_scheduler/industry/__init__.py +1 -1
- mns_scheduler/industry/ths/__init__.py +1 -1
- mns_scheduler/industry/ths/ths_industry_index_service.py +1 -1
- mns_scheduler/industry/ths/ths_industry_sync_service.py +1 -1
- mns_scheduler/irm/__init__.py +1 -1
- mns_scheduler/irm/api/__init__.py +1 -1
- mns_scheduler/irm/api/sh_stock_sns_sse_info_api.py +1 -1
- mns_scheduler/irm/api/sz_stock_sns_sse_info_api.py +1 -1
- mns_scheduler/irm/stock_irm_cninfo_service.py +12 -8
- mns_scheduler/k_line/clean/daily/__init__.py +1 -1
- mns_scheduler/k_line/clean/daily/daily_k_line_clean_common_service.py +1 -1
- mns_scheduler/k_line/clean/daily/daily_k_line_service.py +1 -1
- mns_scheduler/k_line/clean/k_line_info_clean_impl.py +3 -2
- mns_scheduler/k_line/clean/k_line_info_clean_task.py +42 -15
- mns_scheduler/k_line/clean/week_month/__init__.py +1 -1
- mns_scheduler/k_line/clean/week_month/normal_week_month_k_line_service.py +75 -40
- mns_scheduler/k_line/clean/week_month/sub_new_week_month_k_line_service.py +2 -2
- mns_scheduler/k_line/common/__init__.py +7 -0
- mns_scheduler/k_line/common/k_line_common_api.py +188 -0
- mns_scheduler/k_line/hot_stocks/__init__.py +1 -1
- mns_scheduler/k_line/hot_stocks/recent_hot_stocks_clean_service.py +1 -1
- mns_scheduler/k_line/{sync → month_week_daily}/bfq_k_line_sync.py +14 -29
- mns_scheduler/k_line/{sync → month_week_daily}/daily_week_month_line_sync.py +9 -11
- mns_scheduler/k_line/sync_status/__init__.py +7 -0
- mns_scheduler/k_line/sync_status/k_line_sync_status_check.py +54 -0
- mns_scheduler/k_line/test/__init__.py +1 -1
- mns_scheduler/k_line/test/k_line_info_clean_his_data.py +10 -5
- mns_scheduler/k_line/year_quarter/__init__.py +7 -0
- mns_scheduler/k_line/year_quarter/year_quarter_line_sync.py +76 -0
- mns_scheduler/kpl/selection/symbol/sync_best_choose_symbol.py +1 -2
- mns_scheduler/kpl/selection/symbol/sync_kpl_concept_symbol_choose_reason_api.py +108 -0
- mns_scheduler/kpl/selection/total/sync_kpl_best_total_sync_api.py +5 -0
- mns_scheduler/lhb/__init__.py +1 -1
- mns_scheduler/lhb/stock_lhb_sync_service.py +1 -1
- mns_scheduler/open/__init__.py +1 -1
- mns_scheduler/open/sync_one_day_open_data_to_db_service.py +2 -2
- mns_scheduler/risk/__init__.py +1 -1
- mns_scheduler/risk/compliance/undisclosed_annual_report_api.py +8 -2
- mns_scheduler/risk/financial/annual_report_audit_check_api.py +10 -2
- mns_scheduler/risk/financial/net_assets_check_api.py +1 -1
- mns_scheduler/risk/financial/profit_income_check_api.py +2 -3
- mns_scheduler/risk/financial_report_risk_check_api.py +1 -1
- mns_scheduler/risk/major_violations/register_and_investigate_stock_sync_api.py +1 -1
- mns_scheduler/risk/self/wei_pan_stock_api.py +1 -1
- mns_scheduler/risk/test/__init__.py +1 -1
- mns_scheduler/risk/test/fix_blask_list.py +2 -2
- mns_scheduler/risk/transactions/transactions_check_api.py +7 -5
- mns_scheduler/self_choose/__init__.py +1 -1
- mns_scheduler/self_choose/ths_self_choose_service.py +37 -28
- mns_scheduler/trade/auto_login/trader_auto_service.py +6 -4
- mns_scheduler/trade/auto_sell_service_api.py +4 -4
- mns_scheduler/trade/balance/__init__.py +1 -1
- mns_scheduler/trade/balance/ths_account_balance_service.py +1 -1
- mns_scheduler/trade/sync_position_api.py +1 -1
- mns_scheduler/trade/task/trader_task_service.py +26 -9
- mns_scheduler/trade/tfp/__init__.py +1 -1
- mns_scheduler/trade/tfp/stock_tfp_info_sync.py +5 -2
- mns_scheduler/zb/stock_zb_pool_sync.py +1 -16
- mns_scheduler/zt/high_chg/sync_high_chg_pool_service.py +2 -2
- mns_scheduler/zt/script/__init__.py +1 -1
- mns_scheduler/zt/script/fix_error_deal_day.py +1 -1
- mns_scheduler/zt/script/kcx_high_chg_open_his_data_handle.py +2 -2
- mns_scheduler/zt/script/sync_high_chg_pool_his_data.py +2 -2
- mns_scheduler/zt/script/sync_now_higt_chg_zt.py +8 -7
- mns_scheduler/zt/zt_pool/em_zt_pool_sync_api.py +46 -18
- mns_scheduler/zt/zt_pool/ths_zt_pool_sync_api.py +33 -90
- mns_scheduler/zt/zt_pool/update_null_zt_reason_api.py +18 -5
- mns_scheduler/zz_task/compensation/__init__.py +0 -0
- mns_scheduler/zz_task/compensation/compensate_task.py +161 -0
- mns_scheduler/zz_task/compensation/compensate_task_one_day.py +142 -0
- mns_scheduler/zz_task/data_sync_task.py +144 -120
- {mns_scheduler-1.2.6.4.dist-info → mns_scheduler-1.4.2.5.dist-info}/METADATA +1 -1
- mns_scheduler-1.4.2.5.dist-info/RECORD +169 -0
- {mns_scheduler-1.2.6.4.dist-info → mns_scheduler-1.4.2.5.dist-info}/WHEEL +1 -1
- mns_scheduler/big_deal/ths_big_deal_sync.py +0 -98
- mns_scheduler/db/real_time_task_check.py +0 -127
- mns_scheduler/debt/kzz_bond_info_sync.py +0 -33
- mns_scheduler/us/baidu_yun_pan_handle_service.py +0 -131
- mns_scheduler/us/k_line.py +0 -91
- mns_scheduler/us/us_company_info_sync_service_api.py +0 -39
- mns_scheduler-1.2.6.4.dist-info/RECORD +0 -158
- /mns_scheduler/{big_deal → company_info/em_stock_info}/__init__.py +0 -0
- /mns_scheduler/{debt → finance/em}/__init__.py +0 -0
- /mns_scheduler/{us → finance/xue_qiu}/__init__.py +0 -0
- /mns_scheduler/k_line/{sync → month_week_daily}/__init__.py +0 -0
- {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,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') +
|
|
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.
|
|
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 =
|
|
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))]
|
|
@@ -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.
|
|
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
|
-
|
|
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.
|
|
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 =
|
|
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.
|
|
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 =
|
|
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]
|
|
@@ -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,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') +
|
|
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
|
-
'
|
|
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": "
|
|
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
|
-
|
|
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.
|
|
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
|
-
|
|
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') +
|
|
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.
|
|
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 = '
|
|
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
|
-
|
|
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,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') +
|
|
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')
|