mns-scheduler 1.0.9.2__py3-none-any.whl → 1.0.9.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/risk/financial/net_assets_check_api.py +22 -4
- mns_scheduler/risk/major_violations/register_and_investigate_stock_sync_api.py +6 -1
- mns_scheduler/zz_task/data_sync_task.py +2 -2
- {mns_scheduler-1.0.9.2.dist-info → mns_scheduler-1.0.9.5.dist-info}/METADATA +1 -1
- {mns_scheduler-1.0.9.2.dist-info → mns_scheduler-1.0.9.5.dist-info}/RECORD +9 -9
- /mns_scheduler/{finance → risk}/test/__init__.py +0 -0
- /mns_scheduler/{finance → risk}/test/fix_blask_list.py +0 -0
- {mns_scheduler-1.0.9.2.dist-info → mns_scheduler-1.0.9.5.dist-info}/WHEEL +0 -0
- {mns_scheduler-1.0.9.2.dist-info → mns_scheduler-1.0.9.5.dist-info}/top_level.txt +0 -0
|
@@ -8,8 +8,8 @@ from mns_common.constant.black_list_classify_enum import BlackClassify
|
|
|
8
8
|
mongodb_util = MongodbUtil('27017')
|
|
9
9
|
# 最大负债比
|
|
10
10
|
MAX_LIABILITY_RATIO = 90
|
|
11
|
-
#
|
|
12
|
-
MIN_NET_ASSET =
|
|
11
|
+
# 最小净资产1.5亿
|
|
12
|
+
MIN_NET_ASSET = 150000000
|
|
13
13
|
# 排除校验负债比的行业
|
|
14
14
|
EXCLUDE_INDUSTRY = ['保险', '银行', '证券']
|
|
15
15
|
|
|
@@ -20,7 +20,9 @@ def net_assets_check(report_type, new_report_df, period_time):
|
|
|
20
20
|
new_report_df = new_report_df.sort_values(by=['REPORT_DATE'], ascending=False)
|
|
21
21
|
new_report_one_df = new_report_df.iloc[0:1]
|
|
22
22
|
# 负债比
|
|
23
|
-
liability_ratio =
|
|
23
|
+
liability_ratio = round(
|
|
24
|
+
list(new_report_one_df['TOTAL_LIABILITIES'])[0] * 100 / list(new_report_one_df['TOTAL_ASSETS'])[0],
|
|
25
|
+
2)
|
|
24
26
|
# 净资产
|
|
25
27
|
net_asset = round(list(new_report_one_df['TOTAL_ASSETS'])[0] - list(new_report_one_df['TOTAL_LIABILITIES'])[0],
|
|
26
28
|
2)
|
|
@@ -42,7 +44,7 @@ def net_assets_check(report_type, new_report_df, period_time):
|
|
|
42
44
|
name,
|
|
43
45
|
str_day,
|
|
44
46
|
notice_date,
|
|
45
|
-
'负债过高:' + "[" + str(
|
|
47
|
+
'负债过高:' + "[" + "负债比:" + str(
|
|
46
48
|
liability_ratio) + "]" + "," + "净资产:"
|
|
47
49
|
+ str(round(net_asset / common_service_fun_api.HUNDRED_MILLION,
|
|
48
50
|
0)) + "亿",
|
|
@@ -52,3 +54,19 @@ def net_assets_check(report_type, new_report_df, period_time):
|
|
|
52
54
|
BlackClassify.FINANCIAL_PROBLEM_DEBT.up_level_name,
|
|
53
55
|
BlackClassify.FINANCIAL_PROBLEM_DEBT.level_code,
|
|
54
56
|
BlackClassify.FINANCIAL_PROBLEM_DEBT.level_name)
|
|
57
|
+
if net_asset < MIN_NET_ASSET:
|
|
58
|
+
black_list_service_api.save_black_stock(id_key,
|
|
59
|
+
symbol,
|
|
60
|
+
name,
|
|
61
|
+
str_day,
|
|
62
|
+
notice_date,
|
|
63
|
+
'净资产低:' + "[" + "负债比:" + str(
|
|
64
|
+
liability_ratio) + "]" + "," + "净资产:"
|
|
65
|
+
+ str(round(net_asset / common_service_fun_api.HUNDRED_MILLION,
|
|
66
|
+
0)) + "亿",
|
|
67
|
+
'净资产低:' + "[" + str(liability_ratio) + "]",
|
|
68
|
+
'',
|
|
69
|
+
BlackClassify.FINANCIAL_PROBLEM_DEBT.up_level_code,
|
|
70
|
+
BlackClassify.FINANCIAL_PROBLEM_DEBT.up_level_name,
|
|
71
|
+
BlackClassify.FINANCIAL_PROBLEM_DEBT.level_code,
|
|
72
|
+
BlackClassify.FINANCIAL_PROBLEM_DEBT.level_name)
|
|
@@ -15,7 +15,9 @@ import mns_common.constant.db_name_constant as db_name_constant
|
|
|
15
15
|
from mns_common.db.MongodbUtil import MongodbUtil
|
|
16
16
|
import mns_common.utils.data_frame_util as data_frame_util
|
|
17
17
|
from mns_common.constant.black_list_classify_enum import BlackClassify
|
|
18
|
+
|
|
18
19
|
mongodb_util = MongodbUtil('27017')
|
|
20
|
+
import mns_common.component.company.company_common_service_new_api as company_common_service_new_api
|
|
19
21
|
|
|
20
22
|
|
|
21
23
|
# 立案调查股票
|
|
@@ -62,7 +64,7 @@ def sync_all_investigate_stocks(page_size, search_key, begin_day, end_day):
|
|
|
62
64
|
|
|
63
65
|
# 立案调查的股票
|
|
64
66
|
def sync_new_high_risk_stocks():
|
|
65
|
-
before_days =
|
|
67
|
+
before_days = 60
|
|
66
68
|
const_num = 30
|
|
67
69
|
init_date = datetime.now()
|
|
68
70
|
str_day = init_date.strftime('%Y-%m-%d')
|
|
@@ -77,9 +79,12 @@ def sync_new_high_risk_stocks():
|
|
|
77
79
|
if data_frame_util.is_empty(new_high_risk_stocks_df):
|
|
78
80
|
return None
|
|
79
81
|
new_high_risk_stocks_df = new_high_risk_stocks_df.sort_values(by=['announcementTime'], ascending=False)
|
|
82
|
+
de_list_company_symbols = company_common_service_new_api.get_de_list_company()
|
|
80
83
|
for high_risk_stocks_one in new_high_risk_stocks_df.itertuples():
|
|
81
84
|
try:
|
|
82
85
|
symbol = high_risk_stocks_one.secCode
|
|
86
|
+
if symbol in de_list_company_symbols:
|
|
87
|
+
continue
|
|
83
88
|
announcement_id = high_risk_stocks_one.announcementId
|
|
84
89
|
|
|
85
90
|
key_id = symbol + "_" + str(announcement_id)
|
|
@@ -395,10 +395,10 @@ blockingScheduler.add_job(update_one_concept_all_symbol_detail, 'cron', hour='08
|
|
|
395
395
|
blockingScheduler.add_job(update_one_symbol_all_concepts, 'cron', hour='09,18,12', minute='15')
|
|
396
396
|
|
|
397
397
|
# 开盘前同步同花顺新概念指数
|
|
398
|
-
blockingScheduler.add_job(sync_new_concept_data_web, 'cron', hour='09', minute='
|
|
398
|
+
blockingScheduler.add_job(sync_new_concept_data_web, 'cron', hour='09,22', minute='00,10,20,28')
|
|
399
399
|
|
|
400
400
|
# 同步同花顺新增概念指数(定时轮训,暂时10分钟)
|
|
401
|
-
blockingScheduler.add_job(sync_new_concept_data_web, 'interval', minutes=10, max_instances=4)
|
|
401
|
+
# blockingScheduler.add_job(sync_new_concept_data_web, 'interval', minutes=10, max_instances=4)
|
|
402
402
|
|
|
403
403
|
# 同步开盘啦新增精选概念(定时轮训,暂时五分钟)
|
|
404
404
|
blockingScheduler.add_job(sync_all_kpl_plate_info, 'interval', minutes=5, max_instances=4)
|
|
@@ -38,8 +38,6 @@ mns_scheduler/finance/em_financial_asset_liability_sync_service_api.py,sha256=yr
|
|
|
38
38
|
mns_scheduler/finance/em_financial_profit_sync_service_api.py,sha256=7gnrn6OyMU4sxrvXXgzrj-EP914KwRpJW76XgKuWO0Q,14145
|
|
39
39
|
mns_scheduler/finance/finance_common_api.py,sha256=e72-c6xcFaS4Z9wq9Yx2_HZ7PdStMeP6s4O61yeTKmc,2471
|
|
40
40
|
mns_scheduler/finance/sync_financial_report_service_api.py,sha256=YSSVt5R1EqYbW8C3JH4ng2iq7UkQynAMA1ye6G4iecw,5086
|
|
41
|
-
mns_scheduler/finance/test/__init__.py,sha256=wEg73KlZo-dU0yKGwpA1C2y6LZm4IBb94tNda1tqLeg,163
|
|
42
|
-
mns_scheduler/finance/test/fix_blask_list.py,sha256=jjLhhIWH1L4CgNp2jQ_HAHbC3wVgeX1TzhqC--_D2MI,1249
|
|
43
41
|
mns_scheduler/hk/__init__.py,sha256=wEg73KlZo-dU0yKGwpA1C2y6LZm4IBb94tNda1tqLeg,163
|
|
44
42
|
mns_scheduler/hk/hk_company_info_sync_service_api.py,sha256=JEfIl_up36b1UpDxfPhosP6_i2Lo17Ma_GHLytoMjWI,3661
|
|
45
43
|
mns_scheduler/irm/__init__.py,sha256=wEg73KlZo-dU0yKGwpA1C2y6LZm4IBb94tNda1tqLeg,163
|
|
@@ -85,13 +83,15 @@ mns_scheduler/risk/compliance/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5N
|
|
|
85
83
|
mns_scheduler/risk/compliance/undisclosed_annual_report_api.py,sha256=4kY6mgDsZ-zd6W8E3awURwgP3Y71rNqwDkWTAFw8hZk,3676
|
|
86
84
|
mns_scheduler/risk/financial/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
87
85
|
mns_scheduler/risk/financial/annual_report_audit_check_api.py,sha256=HxQNxlVSPusBkB9k96qUNfIcImlTYHA5Dmr11jAx_LY,2125
|
|
88
|
-
mns_scheduler/risk/financial/net_assets_check_api.py,sha256=
|
|
86
|
+
mns_scheduler/risk/financial/net_assets_check_api.py,sha256=TPiTDMlX8X7-rkx97M8biMorUVKQlXXes1IBNgtTs6w,4559
|
|
89
87
|
mns_scheduler/risk/financial/profit_income_check_api.py,sha256=4iGZEIveq5SIOBziyMH72oxSKbQJ3WfyjUMhDJfxUEU,4358
|
|
90
88
|
mns_scheduler/risk/financial/stock_equity_mortgage_check_api.py,sha256=SQ7dieSCOf1z42Wi1zDEii3poAT5wfyBrV43dXkAaaw,22
|
|
91
89
|
mns_scheduler/risk/major_violations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
92
|
-
mns_scheduler/risk/major_violations/register_and_investigate_stock_sync_api.py,sha256=
|
|
90
|
+
mns_scheduler/risk/major_violations/register_and_investigate_stock_sync_api.py,sha256=XcJcVpu2qjIzXGuNCYC5J8AJX69eScPxTv6WugaXwt4,5650
|
|
93
91
|
mns_scheduler/risk/self/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
94
92
|
mns_scheduler/risk/self/wei_pan_stock_api.py,sha256=PRaFmdnQ7763ngEYAcBkQ7FGP9CJENJZnLfO7bAn1c0,1846
|
|
93
|
+
mns_scheduler/risk/test/__init__.py,sha256=wEg73KlZo-dU0yKGwpA1C2y6LZm4IBb94tNda1tqLeg,163
|
|
94
|
+
mns_scheduler/risk/test/fix_blask_list.py,sha256=jjLhhIWH1L4CgNp2jQ_HAHbC3wVgeX1TzhqC--_D2MI,1249
|
|
95
95
|
mns_scheduler/risk/transactions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
96
96
|
mns_scheduler/risk/transactions/transactions_check_api.py,sha256=_VOiUyIPyTGbcrbuxzJnp1KiLdKBJsRS584f-jqHXA0,6682
|
|
97
97
|
mns_scheduler/trade/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
|
|
@@ -116,9 +116,9 @@ mns_scheduler/zt/script/sync_high_chg_pool_his_data.py,sha256=R0syG5gcXRlLxswbBl
|
|
|
116
116
|
mns_scheduler/zt/zt_pool/__init__.py,sha256=Tyvi_iQlv3jz59EdH67Mycnt9CSixcWPQoJwu55bOq0,165
|
|
117
117
|
mns_scheduler/zt/zt_pool/zt_pool_sync_api.py,sha256=Uca9fcnxIiz5Pfe1Ot_IgRu7zA7KqM7wtOHkMKF2kSo,7604
|
|
118
118
|
mns_scheduler/zz_task/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
|
|
119
|
-
mns_scheduler/zz_task/data_sync_task.py,sha256=
|
|
119
|
+
mns_scheduler/zz_task/data_sync_task.py,sha256=_QJdS8Qwu5CoZOsauLA6yN7PoDldUPBahUi-zKoMGwY,17807
|
|
120
120
|
mns_scheduler/zz_task/sync_realtime_quotes_task.py,sha256=DN3bq2XCDZC-PHlbD2NTog48bR44EruIEc2QVGKg7Tk,932
|
|
121
|
-
mns_scheduler-1.0.9.
|
|
122
|
-
mns_scheduler-1.0.9.
|
|
123
|
-
mns_scheduler-1.0.9.
|
|
124
|
-
mns_scheduler-1.0.9.
|
|
121
|
+
mns_scheduler-1.0.9.5.dist-info/METADATA,sha256=BOWmoi-p-al1g_WzP4_An7pWijwRyv8cipKidk1E2xo,64
|
|
122
|
+
mns_scheduler-1.0.9.5.dist-info/WHEEL,sha256=oiQVh_5PnQM0E3gPdiz09WCNmwiHDMaGer_elqB3coM,92
|
|
123
|
+
mns_scheduler-1.0.9.5.dist-info/top_level.txt,sha256=PXQDFBGR1pWmsUbH5yiLAh71P5HZODTRED0zJ8CCgOc,14
|
|
124
|
+
mns_scheduler-1.0.9.5.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|