tfse-model-api-v0.2/Rating/scripts/risk_score.py

53 lines
2.2 KiB
Python
Raw Normal View History

def compliance_risk(param):
2021-12-07 15:28:49 +08:00
"""
合规风险打分
Parameters
param 近三年合规风险情况
Return
score 合规风险得分
2021-12-07 15:28:49 +08:00
"""
if param['失信人']:
score = 43
elif param['严重违法'] or param['经营异常'] or param['欠税公告'] or param['税收违法']:
score = 33
2021-12-23 15:02:32 +08:00
elif param['行政处罚'] or param['环保处罚']:
score = 23
else:
score = 0
2021-12-07 15:28:49 +08:00
return score
def management_risk(param):
"""
经营风险打分
"""
score = dict()
2021-12-23 15:02:32 +08:00
score['立案信息'] = 10 if param['立案信息'] >= 50 else round(param['立案信息'] * 0.2, 2)
2021-12-07 15:28:49 +08:00
score['开庭公告'] = 10 if param['开庭公告'] >= 50 else round(param['开庭公告'] * 0.2, 2)
score['被执行人'] = 10 if param['被执行人'] >= 30 else round(param['被执行人'] * 0.33, 2)
score['法院公告'] = 5 if param['法院公告'] >= 50 else round(param['法院公告'] * 0.1, 2)
score['诉讼'] = 10 if param['诉讼'] >= 50 else round(param['诉讼'] * 0.2, 2)
score['送达公告'] = 5 if param['送达公告'] >= 50 else round(param['送达公告'] * 0.1, 2)
score['股权出质'] = 5 if param['股权出质'] >= 10 else round(param['股权出质'] * 0.5, 2)
score['法人变更'] = 1.5 if param['法人变更'] >= 10 else round(param['法人变更'] * 0.15, 2)
score['主要成员变更'] = 1.5 if param['主要成员变更'] >= 10 else round(param['主要成员变更'] * 0.15, 2)
2022-02-09 16:37:24 +08:00
total_score = round(sum(score.values()), 2)
score['合计'] = 10 if total_score > 10 else total_score
2021-12-07 15:28:49 +08:00
return score
def peripheral_risk(param):
"""
关联风险
"""
score = dict()
score['周边风险'] = dict()
score['周边风险']['高风险'] = 5 if param['周边风险']['高风险'] >= 25 else round(param['周边风险']['高风险'] * 0.2, 2)
score['周边风险']['警示'] = 5 if param['周边风险']['警示'] >= 50 else round(param['周边风险']['警示'] * 0.1, 2)
score['周边风险']['合计'] = sum(score['周边风险'].values())
2022-02-09 16:37:24 +08:00
total_score = sum(score['周边风险'].values())
score['合计'] = 10 if total_score > 10 else total_score
2021-12-07 15:28:49 +08:00
return score