mns-scheduler 1.1.2.7__py3-none-any.whl → 1.1.2.8__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/base/sync_company_base_info_api.py +29 -1
- mns_scheduler/company_info/clean/company_info_clean_api.py +5 -4
- mns_scheduler/company_info/constant/company_constant_data.py +3 -1
- mns_scheduler/debt/__init__.py +7 -0
- mns_scheduler/debt/kzz_bond_info_sync.py +33 -0
- {mns_scheduler-1.1.2.7.dist-info → mns_scheduler-1.1.2.8.dist-info}/METADATA +1 -1
- {mns_scheduler-1.1.2.7.dist-info → mns_scheduler-1.1.2.8.dist-info}/RECORD +9 -7
- {mns_scheduler-1.1.2.7.dist-info → mns_scheduler-1.1.2.8.dist-info}/WHEEL +0 -0
- {mns_scheduler-1.1.2.7.dist-info → mns_scheduler-1.1.2.8.dist-info}/top_level.txt +0 -0
|
@@ -21,6 +21,7 @@ import mns_common.api.kpl.constant.kpl_constant as kpl_constant
|
|
|
21
21
|
import mns_common.component.company.company_common_service_api as company_common_service_api
|
|
22
22
|
import mns_common.component.k_line.common.k_line_common_service_api as k_line_common_service_api
|
|
23
23
|
import mns_common.constant.db_name_constant as db_name_constant
|
|
24
|
+
from functools import lru_cache
|
|
24
25
|
|
|
25
26
|
mongodb_util = MongodbUtil('27017')
|
|
26
27
|
# 分页大小
|
|
@@ -128,7 +129,7 @@ def sync_company_base_info(symbol_list):
|
|
|
128
129
|
for page in range(page_number): # 0到100页
|
|
129
130
|
end_count = (page + 1) * MAX_PAGE_NUMBER
|
|
130
131
|
begin_count = page * MAX_PAGE_NUMBER
|
|
131
|
-
page_df = east_money_stock_info.
|
|
132
|
+
page_df = east_money_stock_info.iloc[begin_count:end_count]
|
|
132
133
|
thread = threading.Thread(target=single_thread_sync_company_info,
|
|
133
134
|
args=(page_df, kpl_real_time_quotes, exist_company_df))
|
|
134
135
|
threads.append(thread)
|
|
@@ -149,6 +150,7 @@ def single_thread_sync_company_info(east_money_stock_info,
|
|
|
149
150
|
for company_one in east_money_stock_info.itertuples():
|
|
150
151
|
try:
|
|
151
152
|
company_info_type = ths_company_info_web.get_company_info_detail(company_one.symbol)
|
|
153
|
+
company_info_type = set_kzz_debt(company_info_type, company_one.symbol)
|
|
152
154
|
company_info_type['first_industry_code'] = company_info_type['hycode'].apply(
|
|
153
155
|
lambda x: x[1:3] + '0000')
|
|
154
156
|
company_info_type['second_industry_code'] = company_info_type['hy2code'].apply(
|
|
@@ -271,6 +273,32 @@ def set_kpl_data(kpl_real_time_quotes_one, company_info_type, company_one):
|
|
|
271
273
|
return company_info_type
|
|
272
274
|
|
|
273
275
|
|
|
276
|
+
# 获取可转债信息
|
|
277
|
+
@lru_cache(maxsize=None)
|
|
278
|
+
def get_kzz_debt_info():
|
|
279
|
+
query = {}
|
|
280
|
+
kzz_debt_info_df = mongodb_util.find_query_data(db_name_constant.KZZ_DEBT_INFO, query)
|
|
281
|
+
kzz_debt_info_df = kzz_debt_info_df[[
|
|
282
|
+
'symbol',
|
|
283
|
+
'name',
|
|
284
|
+
'stock_code',
|
|
285
|
+
'apply_date',
|
|
286
|
+
'list_date',
|
|
287
|
+
'due_date'
|
|
288
|
+
]]
|
|
289
|
+
return kzz_debt_info_df
|
|
290
|
+
|
|
291
|
+
|
|
292
|
+
def set_kzz_debt(df, symbol):
|
|
293
|
+
kzz_debt_info_df_all = get_kzz_debt_info()
|
|
294
|
+
kzz_debt_info_df = kzz_debt_info_df_all.loc[kzz_debt_info_df_all['stock_code'] == symbol]
|
|
295
|
+
df.loc[:, 'kzz_debt_list'] = ''
|
|
296
|
+
if data_frame_util.is_not_empty(kzz_debt_info_df):
|
|
297
|
+
kzz_debt_info_df_list = kzz_debt_info_df.to_dict(orient='records')
|
|
298
|
+
df.at[0, 'kzz_debt_list'] = kzz_debt_info_df_list
|
|
299
|
+
return df
|
|
300
|
+
|
|
301
|
+
|
|
274
302
|
# 保存申万行业分类
|
|
275
303
|
def save_sw_data(company_info_type):
|
|
276
304
|
now_date = datetime.now()
|
|
@@ -19,9 +19,6 @@ import mns_common.component.common_service_fun_api as common_service_fun_api
|
|
|
19
19
|
import mns_common.component.company.company_common_service_api as company_common_service_api
|
|
20
20
|
|
|
21
21
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
22
|
# 修改行业信息
|
|
26
23
|
def fix_company_industry(symbol):
|
|
27
24
|
if symbol is not None:
|
|
@@ -95,7 +92,7 @@ def save_company_info_his(company_info_df):
|
|
|
95
92
|
tag = mongodb_util.remove_data(remove_query, db_name_constant.COMPANY_INFO_HIS)
|
|
96
93
|
success = tag.acknowledged
|
|
97
94
|
if success:
|
|
98
|
-
mongodb_util.
|
|
95
|
+
mongodb_util.save_mongo(company_info_df, db_name_constant.COMPANY_INFO_HIS)
|
|
99
96
|
|
|
100
97
|
|
|
101
98
|
# 更新新上市公司信息
|
|
@@ -110,3 +107,7 @@ def new_company_info_update():
|
|
|
110
107
|
except BaseException as e:
|
|
111
108
|
logger.error("出现异常:{}", e)
|
|
112
109
|
company_common_service_api.company_info_industry_cache_clear
|
|
110
|
+
|
|
111
|
+
|
|
112
|
+
if __name__ == '__main__':
|
|
113
|
+
fix_company_industry(None)
|
|
@@ -32,6 +32,7 @@ def get_fix_symbol_industry():
|
|
|
32
32
|
['300215', '电科院', '410110', '电能综合服务'],
|
|
33
33
|
# 持有上海微电子装备有限公司10%的股份 国产光刻机 主要炒作在芯片概念 不在房地产
|
|
34
34
|
['600895', '张江高科', '270108', '半导体设备'],
|
|
35
|
+
['301112', '信邦智能', '640704', '其他自动化设备'],
|
|
35
36
|
|
|
36
37
|
],
|
|
37
38
|
columns=['symbol', 'name', 'new_industry_code', 'new_industry'])
|
|
@@ -366,7 +367,8 @@ def filed_sort(company_info):
|
|
|
366
367
|
"kpl_most_relative_name",
|
|
367
368
|
"kpl_plate_list_info",
|
|
368
369
|
'operate_profit',
|
|
369
|
-
'total_operate_income'
|
|
370
|
+
'total_operate_income',
|
|
371
|
+
'kzz_debt_list'
|
|
370
372
|
]]
|
|
371
373
|
|
|
372
374
|
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import sys
|
|
2
|
+
import os
|
|
3
|
+
|
|
4
|
+
file_path = os.path.abspath(__file__)
|
|
5
|
+
end = file_path.index('mns') + 16
|
|
6
|
+
project_path = file_path[0:end]
|
|
7
|
+
sys.path.append(project_path)
|
|
8
|
+
import mns_common.api.em.east_money_debt_api as east_money_debt_api
|
|
9
|
+
from datetime import datetime
|
|
10
|
+
import mns_common.constant.db_name_constant as db_name_constant
|
|
11
|
+
from mns_common.db.MongodbUtil import MongodbUtil
|
|
12
|
+
|
|
13
|
+
mongodb_util = MongodbUtil('27017')
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
# 同步可转债信息
|
|
17
|
+
def sync_debt_info():
|
|
18
|
+
now_date = datetime.now()
|
|
19
|
+
str_now_day = now_date.strftime('%Y-%m-%d')
|
|
20
|
+
kzz_bond_info_df = east_money_debt_api.get_kzz_bond_info()
|
|
21
|
+
kzz_bond_info_df = kzz_bond_info_df.fillna(0)
|
|
22
|
+
kzz_bond_info_df['apply_date'] = kzz_bond_info_df['apply_date'].astype(str)
|
|
23
|
+
kzz_bond_info_df['winning_date'] = kzz_bond_info_df['winning_date'].astype(str)
|
|
24
|
+
kzz_bond_info_df['list_date'] = kzz_bond_info_df['list_date'].astype(str)
|
|
25
|
+
kzz_bond_info_df['due_date'] = kzz_bond_info_df['due_date'].astype(str)
|
|
26
|
+
kzz_bond_info_df = kzz_bond_info_df.loc[kzz_bond_info_df['due_date'] >= str_now_day]
|
|
27
|
+
mongodb_util.remove_all_data(db_name_constant.KZZ_DEBT_INFO)
|
|
28
|
+
kzz_bond_info_df['_id'] = kzz_bond_info_df['symbol']
|
|
29
|
+
mongodb_util.insert_mongo(kzz_bond_info_df, db_name_constant.KZZ_DEBT_INFO)
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
if __name__ == '__main__':
|
|
33
|
+
sync_debt_info()
|
|
@@ -15,11 +15,11 @@ mns_scheduler/big_deal/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9
|
|
|
15
15
|
mns_scheduler/big_deal/ths_big_deal_sync.py,sha256=aMFj-_pLprh4vGjSSzmr_tlYoPA0L4Lm0SkLRkQwIiw,4564
|
|
16
16
|
mns_scheduler/company_info/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
|
|
17
17
|
mns_scheduler/company_info/base/__init__.py,sha256=wEg73KlZo-dU0yKGwpA1C2y6LZm4IBb94tNda1tqLeg,163
|
|
18
|
-
mns_scheduler/company_info/base/sync_company_base_info_api.py,sha256=
|
|
18
|
+
mns_scheduler/company_info/base/sync_company_base_info_api.py,sha256=NRuwc5oJF9Ngt932OrnG76oP22OmkjbGgcWKgWplafg,19106
|
|
19
19
|
mns_scheduler/company_info/clean/__init__.py,sha256=wEg73KlZo-dU0yKGwpA1C2y6LZm4IBb94tNda1tqLeg,163
|
|
20
|
-
mns_scheduler/company_info/clean/company_info_clean_api.py,sha256=
|
|
20
|
+
mns_scheduler/company_info/clean/company_info_clean_api.py,sha256=Pn2cRt3oRH-VRkHMZdsp-nJTFWrD5VSVRoH_uI_8-j0,4861
|
|
21
21
|
mns_scheduler/company_info/constant/__init__.py,sha256=wEg73KlZo-dU0yKGwpA1C2y6LZm4IBb94tNda1tqLeg,163
|
|
22
|
-
mns_scheduler/company_info/constant/company_constant_data.py,sha256=
|
|
22
|
+
mns_scheduler/company_info/constant/company_constant_data.py,sha256=XIM81fA4PNalVJNBYXiMddkcW012fFtofoPGYy2VtD0,16001
|
|
23
23
|
mns_scheduler/company_info/de_list_stock/__init__.py,sha256=wEg73KlZo-dU0yKGwpA1C2y6LZm4IBb94tNda1tqLeg,163
|
|
24
24
|
mns_scheduler/company_info/de_list_stock/de_list_stock_service.py,sha256=GCp6hlvO-SuH1oIpEsYZwEnGUOa6fXb2D7CqAUYXKQA,1993
|
|
25
25
|
mns_scheduler/concept/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
|
|
@@ -42,6 +42,8 @@ mns_scheduler/db/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,
|
|
|
42
42
|
mns_scheduler/db/col_move_service.py,sha256=-d3JUCjWyaGKBhyUSkqwpCgZtHkIy1JOasgpxmH74zg,4057
|
|
43
43
|
mns_scheduler/db/db_status.py,sha256=e5eW5ZSm5J7tHvmxxhFmFdbZb2_oB_SAcdcFqc4KDmw,733
|
|
44
44
|
mns_scheduler/db/real_time_task_check.py,sha256=R8-ZmS7wzC_zZPGgDwv6kx2v25hBrYOTvXlU3cP2BVQ,3167
|
|
45
|
+
mns_scheduler/debt/__init__.py,sha256=wEg73KlZo-dU0yKGwpA1C2y6LZm4IBb94tNda1tqLeg,163
|
|
46
|
+
mns_scheduler/debt/kzz_bond_info_sync.py,sha256=3o0Y4FBxP3AOXwf7Z7jVO1N_DcqxeOVqcgMM3y7E4uo,1336
|
|
45
47
|
mns_scheduler/dt/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
|
|
46
48
|
mns_scheduler/dt/stock_dt_pool_sync.py,sha256=5ivRUOnFtOapZniwTbujf1lVq3y4btm2Cmd5R6JJAVo,3466
|
|
47
49
|
mns_scheduler/finance/__init__.py,sha256=wEg73KlZo-dU0yKGwpA1C2y6LZm4IBb94tNda1tqLeg,163
|
|
@@ -132,7 +134,7 @@ mns_scheduler/zt/zt_pool/em_zt_pool_sync_api.py,sha256=wUtc9kL6ICyz8Os1ix_o-ZERd
|
|
|
132
134
|
mns_scheduler/zt/zt_pool/ths_zt_pool_sync_api.py,sha256=0juoFzZ4zAxhbsyitQ5FQrEeUu7CWCxmMEypBVKriH4,10353
|
|
133
135
|
mns_scheduler/zz_task/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
|
|
134
136
|
mns_scheduler/zz_task/data_sync_task.py,sha256=ciJkI3inI_SJ6s5Tlm3Zv8o59eoPKhUgnZfRW6xCmjg,18351
|
|
135
|
-
mns_scheduler-1.1.2.
|
|
136
|
-
mns_scheduler-1.1.2.
|
|
137
|
-
mns_scheduler-1.1.2.
|
|
138
|
-
mns_scheduler-1.1.2.
|
|
137
|
+
mns_scheduler-1.1.2.8.dist-info/METADATA,sha256=tc4EV8WMqvtl9o9Tg0-vVrmWE8OHDqOl2RO3_lG3Y4U,64
|
|
138
|
+
mns_scheduler-1.1.2.8.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
|
|
139
|
+
mns_scheduler-1.1.2.8.dist-info/top_level.txt,sha256=PXQDFBGR1pWmsUbH5yiLAh71P5HZODTRED0zJ8CCgOc,14
|
|
140
|
+
mns_scheduler-1.1.2.8.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|