2022-05-30 16:56:01 +08:00
|
|
|
|
"""
|
|
|
|
|
财务指标模型
|
|
|
|
|
"""
|
|
|
|
|
from Modules.Company.CompanyObject import FinancialData
|
|
|
|
|
from Utils.ValidateUtil import ValidateAttr, Validate
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class FinancialIndicatorsModel(FinancialData.FinancialIndicator):
|
|
|
|
|
|
2022-06-01 14:51:12 +08:00
|
|
|
|
rid = ValidateAttr(field="rid", type=str)
|
2022-05-30 16:56:01 +08:00
|
|
|
|
cid = ValidateAttr(field="cid", type=str)
|
2022-06-01 14:51:12 +08:00
|
|
|
|
report_date = ValidateAttr(field="report_date", func=Validate.date_format)
|
2022-05-30 16:56:01 +08:00
|
|
|
|
|
|
|
|
|
fields_map = {
|
|
|
|
|
"rid": "评级ID",
|
|
|
|
|
"cid": "企业ID",
|
|
|
|
|
"report_date": "报告期",
|
|
|
|
|
"guaranteed_insured_balance_growth_rate": "担保在保余额增长率(%)",
|
|
|
|
|
"guaranteed_revenue_growth_rate": "担保收入增长率(%)",
|
|
|
|
|
"growth_rate_of_total_assets": "资产总额增长率(%)",
|
|
|
|
|
"cash_assets_ratio": "现金类资产比率(%)",
|
|
|
|
|
"current_ratio": "流动比率(%)",
|
|
|
|
|
"compensation_reserve_ratio": "代偿准备金比率(%)",
|
|
|
|
|
"compensation_rate": "代偿保障率(%)",
|
|
|
|
|
"risk_reserve_adequacy_ratio": "风险准备金充足率(%)",
|
|
|
|
|
"single_customer_concentration": "单一客户集中度(%)",
|
|
|
|
|
"current_guarantee_compensation_rate": "当期担保代偿率(%)",
|
|
|
|
|
"current_compensation_recovery_rate": "当期代偿回收率(%)",
|
|
|
|
|
"financing_guarantee_magnification": "融资担保放大倍数(倍)",
|
|
|
|
|
"industry_concentration": "行业集中度(%)",
|
|
|
|
|
"return_total_assets": "总资产收益率(%)",
|
|
|
|
|
"operating_margin": "营业利润率(%)",
|
|
|
|
|
"roe": "净资产收益率(%)",
|
|
|
|
|
"actual_asset_liability_ratio": "实际资产负债率(%)",
|
|
|
|
|
"capital_adequacy_ratio": "资本充足率(%)",
|
2022-06-08 17:01:39 +08:00
|
|
|
|
"paid_capital": "实收资本(亿元)",
|
2022-05-30 16:56:01 +08:00
|
|
|
|
"guarantee_business_income": "担保业务收入(万元)",
|
|
|
|
|
"cumulative_guarantee_compensation_rate": "近三年累计担保代偿率(%)",
|
|
|
|
|
"cumulative_compensation_recovery_rate": "近三年累计代偿回收率(%)",
|
|
|
|
|
"risk_coverage_ratio": "风险覆盖率(%)",
|
|
|
|
|
"cash_asset_compensation_rate": "现金类资产代偿保障率(%)",
|
|
|
|
|
"margin_ratio": "保证金比率(%)",
|
|
|
|
|
"proportion_investment_business_income": "投资业务收入占比(%)",
|
|
|
|
|
"investment_income_growth_rate": "投资收益增长率(%)",
|
|
|
|
|
"one_proportion_class_assets": "I类资产占比(%)",
|
|
|
|
|
"customer_concentration": "客户集中度(%)",
|
|
|
|
|
"proportion_income_guarantee_business": "担保业务收入占比(%)",
|
|
|
|
|
"two_proportion_class_assets": "II类资产占比(%)",
|
|
|
|
|
"three_proportion_class_assets": "III类资产占比(%)"
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
def eval_guaranteed_insured_balance_growth_rate(self, *args):
|
|
|
|
|
"""
|
|
|
|
|
担保在保余额增长率(%)
|
2022-06-01 14:51:12 +08:00
|
|
|
|
公式: 担保在保余额增长率 = (期末担保在保余额 - 期初担保在保余额) / 期初担保在保余额
|
2022-05-30 16:56:01 +08:00
|
|
|
|
args[0]: 期末担保在保余额
|
|
|
|
|
args[1]: 期初担保在保余额
|
|
|
|
|
"""
|
|
|
|
|
try:
|
2022-06-01 14:51:12 +08:00
|
|
|
|
value = ((args[0]-args[1]) / args[1]) * 100
|
|
|
|
|
value = round(value, 2)
|
|
|
|
|
self.guaranteed_insured_balance_growth_rate = value
|
2022-06-15 10:09:03 +08:00
|
|
|
|
except TypeError:
|
2022-05-30 16:56:01 +08:00
|
|
|
|
self.guaranteed_insured_balance_growth_rate = None
|
2022-06-15 10:09:03 +08:00
|
|
|
|
except ZeroDivisionError:
|
|
|
|
|
self.guaranteed_insured_balance_growth_rate = None
|
|
|
|
|
|
2022-05-30 16:56:01 +08:00
|
|
|
|
|
|
|
|
|
def eval_guaranteed_revenue_growth_rate(self, *args):
|
|
|
|
|
"""
|
|
|
|
|
担保收入增长率(%)
|
|
|
|
|
公式: 担保收入增长率 =(当期担保业务收入-上期担保业务收入)/ 上期担保业务收入
|
|
|
|
|
args[0]: 当期担保业务收入
|
|
|
|
|
args[1]: 上期担保业务收入
|
|
|
|
|
"""
|
|
|
|
|
try:
|
2022-06-01 14:51:12 +08:00
|
|
|
|
value = ((args[0]-args[1]) / args[1]) * 100
|
|
|
|
|
value = round(value, 2)
|
|
|
|
|
self.guaranteed_revenue_growth_rate = value
|
2022-06-15 10:09:03 +08:00
|
|
|
|
except TypeError:
|
|
|
|
|
self.guaranteed_revenue_growth_rate = None
|
|
|
|
|
except ZeroDivisionError:
|
2022-05-30 16:56:01 +08:00
|
|
|
|
self.guaranteed_revenue_growth_rate = None
|
|
|
|
|
|
|
|
|
|
def eval_growth_rate_of_total_assets(self, *args):
|
|
|
|
|
"""
|
|
|
|
|
资产总额增长率(%)
|
2022-06-01 14:51:12 +08:00
|
|
|
|
公式: 资产总额 = (期末资产总额 - 期初资产总额) / 期初资产总额
|
2022-05-30 16:56:01 +08:00
|
|
|
|
args[0]: 期末资产总额
|
|
|
|
|
args[1]: 期初资产总额
|
|
|
|
|
"""
|
|
|
|
|
try:
|
2022-06-01 14:51:12 +08:00
|
|
|
|
value = ((args[0] - args[1]) / args[1]) * 100
|
|
|
|
|
value = round(value, 2)
|
|
|
|
|
self.growth_rate_of_total_assets = value
|
2022-06-15 10:09:03 +08:00
|
|
|
|
except TypeError:
|
|
|
|
|
self.growth_rate_of_total_assets = None
|
|
|
|
|
except ZeroDivisionError:
|
2022-05-30 16:56:01 +08:00
|
|
|
|
self.growth_rate_of_total_assets = None
|
|
|
|
|
|
|
|
|
|
def eval_cash_assets_ratio(self, *args):
|
|
|
|
|
"""
|
|
|
|
|
现金类资产比率(%)
|
|
|
|
|
公式: 现金类资产比率=(货币资金+可供出售金融资产+存出保证金-存入保证金) / 资产总额
|
|
|
|
|
args[0]: 货币资金
|
|
|
|
|
args[1]: 可供出售金融资产
|
|
|
|
|
args[2]: 存出保证金
|
|
|
|
|
args[3]: 存入保证金
|
|
|
|
|
args[4]: 资产总额
|
|
|
|
|
"""
|
|
|
|
|
try:
|
2022-06-01 14:51:12 +08:00
|
|
|
|
value = ((args[0]+args[1]+args[2]-args[3]) / args[4]) * 100
|
|
|
|
|
value = round(value, 2)
|
|
|
|
|
self.cash_assets_ratio = value
|
2022-06-15 10:09:03 +08:00
|
|
|
|
except TypeError:
|
|
|
|
|
self.cash_assets_ratio = None
|
|
|
|
|
except ZeroDivisionError:
|
2022-05-30 16:56:01 +08:00
|
|
|
|
self.cash_assets_ratio = None
|
|
|
|
|
|
|
|
|
|
def eval_current_ratio(self, *args):
|
|
|
|
|
"""
|
|
|
|
|
流动比率(%)
|
|
|
|
|
公式: 流动比率 = 流动资产合计 / 流动负债合计
|
|
|
|
|
args[0]: 流动资产合计
|
|
|
|
|
args[1]: 流动负债合计
|
|
|
|
|
"""
|
|
|
|
|
try:
|
2022-06-01 14:51:12 +08:00
|
|
|
|
value = (args[0] / args[1]) * 100
|
|
|
|
|
value = round(value, 2)
|
|
|
|
|
self.current_ratio = value
|
2022-06-15 10:09:03 +08:00
|
|
|
|
except TypeError:
|
|
|
|
|
self.current_ratio = None
|
|
|
|
|
except ZeroDivisionError:
|
2022-05-30 16:56:01 +08:00
|
|
|
|
self.current_ratio = None
|
|
|
|
|
|
|
|
|
|
def eval_compensation_reserve_ratio(self, *args):
|
|
|
|
|
"""
|
|
|
|
|
代偿准备金比率(%)
|
|
|
|
|
公式: 代偿准备金比率 = 当期代偿金额 /(未到期责任准备金+担保赔偿准备金)
|
2022-06-01 14:51:12 +08:00
|
|
|
|
args[0]: 当期代偿金额
|
|
|
|
|
args[1]: 未到期责任准备金
|
|
|
|
|
args[2]: 担保赔偿准备金
|
2022-05-30 16:56:01 +08:00
|
|
|
|
"""
|
|
|
|
|
try:
|
2022-06-01 14:51:12 +08:00
|
|
|
|
value = (args[0] / (args[1]+args[2])) * 100
|
|
|
|
|
value = round(value, 2)
|
|
|
|
|
self.compensation_reserve_ratio = value
|
2022-06-15 10:09:03 +08:00
|
|
|
|
except TypeError:
|
|
|
|
|
self.compensation_reserve_ratio = None
|
|
|
|
|
except ZeroDivisionError:
|
2022-05-30 16:56:01 +08:00
|
|
|
|
self.compensation_reserve_ratio = None
|
|
|
|
|
|
|
|
|
|
def eval_compensation_rate(self, *args):
|
|
|
|
|
"""
|
|
|
|
|
代偿保障率(%)
|
|
|
|
|
公式: 代偿保障率 = (货币资金+可供出售金融资产+存出保证金-存入保证金) / 最大被担保企业融资担保责任余额
|
2022-06-01 14:51:12 +08:00
|
|
|
|
args[0]: 货币资金
|
|
|
|
|
args[1]: 可供出售金融资产
|
|
|
|
|
args[2]: 存出保证金
|
|
|
|
|
args[3]: 存入保证金
|
|
|
|
|
args[4]: 最大被担保企业融资担保责任余额
|
2022-05-30 16:56:01 +08:00
|
|
|
|
"""
|
|
|
|
|
try:
|
2022-06-01 14:51:12 +08:00
|
|
|
|
value = ((args[0]+args[1]+args[2]-args[3]) / args[4]) * 100
|
|
|
|
|
value = round(value, 2)
|
|
|
|
|
self.compensation_rate = value
|
2022-06-15 10:09:03 +08:00
|
|
|
|
except TypeError:
|
|
|
|
|
self.compensation_rate = None
|
|
|
|
|
except ZeroDivisionError:
|
2022-05-30 16:56:01 +08:00
|
|
|
|
self.compensation_rate = None
|
|
|
|
|
|
|
|
|
|
def eval_risk_reserve_adequacy_ratio(self, *args):
|
|
|
|
|
"""
|
|
|
|
|
风险准备金充足率(%)
|
|
|
|
|
公式: 风险准备金充足率=担保风险准备金余额 / 融资担保责任余额
|
|
|
|
|
其中:担保风险准备金余额=担保赔偿准备金+未到期责任准备金+一般风险准备金
|
2022-06-01 14:51:12 +08:00
|
|
|
|
args[0]: 担保赔偿准备金
|
|
|
|
|
args[1]: 未到期责任准备金
|
|
|
|
|
args[2]: 一般风险准备金
|
|
|
|
|
args[3]: 融资担保责任余额
|
2022-05-30 16:56:01 +08:00
|
|
|
|
"""
|
|
|
|
|
try:
|
2022-06-01 14:51:12 +08:00
|
|
|
|
value = ((args[0]+args[1]+args[2]) / args[3]) * 100
|
|
|
|
|
value = round(value, 2)
|
|
|
|
|
self.risk_reserve_adequacy_ratio = value
|
2022-06-15 10:09:03 +08:00
|
|
|
|
except TypeError:
|
|
|
|
|
self.risk_reserve_adequacy_ratio = None
|
|
|
|
|
except ZeroDivisionError:
|
2022-05-30 16:56:01 +08:00
|
|
|
|
self.risk_reserve_adequacy_ratio = None
|
|
|
|
|
|
|
|
|
|
def eval_single_customer_concentration(self, *args):
|
|
|
|
|
"""
|
|
|
|
|
单一客户集中度(%)
|
|
|
|
|
公式: 单一客户集中度 = 最大被担保企业融资担保责任余额 / 融资担保责任余额
|
2022-06-01 14:51:12 +08:00
|
|
|
|
args[0]: 最大被担保企业融资担保责任余额
|
|
|
|
|
args[1]: 融资担保责任余额
|
2022-05-30 16:56:01 +08:00
|
|
|
|
"""
|
|
|
|
|
try:
|
2022-06-01 14:51:12 +08:00
|
|
|
|
value = (args[0] / args[1]) * 100
|
|
|
|
|
value = round(value, 2)
|
|
|
|
|
self.single_customer_concentration = value
|
2022-06-15 10:09:03 +08:00
|
|
|
|
except TypeError:
|
|
|
|
|
self.single_customer_concentration = None
|
|
|
|
|
except ZeroDivisionError:
|
2022-05-30 16:56:01 +08:00
|
|
|
|
self.single_customer_concentration = None
|
|
|
|
|
|
|
|
|
|
def eval_current_guarantee_compensation_rate(self, *args):
|
|
|
|
|
"""
|
|
|
|
|
当期担保代偿率(%)
|
|
|
|
|
公式: 当期担保代偿率 = 当期代偿金额 / 当期解除担保责任余额
|
2022-06-01 14:51:12 +08:00
|
|
|
|
args[0]: 当期代偿金额
|
|
|
|
|
args[1]: 当期解除担保责任余额
|
2022-05-30 16:56:01 +08:00
|
|
|
|
"""
|
|
|
|
|
try:
|
2022-06-01 14:51:12 +08:00
|
|
|
|
value = (args[0] / args[1]) * 100
|
|
|
|
|
value = round(value, 2)
|
|
|
|
|
self.current_guarantee_compensation_rate = value
|
2022-06-15 10:09:03 +08:00
|
|
|
|
except TypeError:
|
|
|
|
|
self.current_guarantee_compensation_rate = None
|
|
|
|
|
except ZeroDivisionError:
|
2022-05-30 16:56:01 +08:00
|
|
|
|
self.current_guarantee_compensation_rate = None
|
|
|
|
|
|
|
|
|
|
def eval_current_compensation_recovery_rate(self, *args):
|
|
|
|
|
"""
|
|
|
|
|
当期代偿回收率(%)
|
|
|
|
|
公式: 当期代偿回收率 = 当期代偿回收金额 / 当期代偿金额
|
2022-06-01 14:51:12 +08:00
|
|
|
|
args[0]: 当期代偿回收金额
|
|
|
|
|
args[1]: 当期代偿金额
|
2022-05-30 16:56:01 +08:00
|
|
|
|
"""
|
|
|
|
|
try:
|
2022-06-01 14:51:12 +08:00
|
|
|
|
value = (args[0] / args[1]) * 100
|
|
|
|
|
value = round(value, 2)
|
|
|
|
|
self.current_compensation_recovery_rate = value
|
2022-06-15 10:09:03 +08:00
|
|
|
|
except TypeError:
|
|
|
|
|
self.current_compensation_recovery_rate = None
|
|
|
|
|
except ZeroDivisionError:
|
2022-05-30 16:56:01 +08:00
|
|
|
|
self.current_compensation_recovery_rate = None
|
|
|
|
|
|
|
|
|
|
def eval_financing_guarantee_magnification(self, *args):
|
|
|
|
|
"""
|
|
|
|
|
融资担保放大倍数(倍)
|
|
|
|
|
公式: 融资担保放大倍数 = 融资担保责任余额 / 净资产
|
2022-06-01 14:51:12 +08:00
|
|
|
|
args[0]: 融资担保责任余额
|
|
|
|
|
args[1]: 净资产
|
2022-05-30 16:56:01 +08:00
|
|
|
|
"""
|
|
|
|
|
try:
|
2022-06-01 14:51:12 +08:00
|
|
|
|
value = args[0] / args[1]
|
|
|
|
|
value = round(value, 2)
|
|
|
|
|
self.financing_guarantee_magnification = value
|
2022-06-15 10:09:03 +08:00
|
|
|
|
except TypeError:
|
|
|
|
|
self.financing_guarantee_magnification = None
|
|
|
|
|
except ZeroDivisionError:
|
2022-05-30 16:56:01 +08:00
|
|
|
|
self.financing_guarantee_magnification = None
|
|
|
|
|
|
|
|
|
|
def eval_industry_concentration(self, *args):
|
|
|
|
|
"""
|
|
|
|
|
行业集中度(%)
|
|
|
|
|
公式: 行业集中度 = 最大单一行业融资担保责任余额 / 融资担保责任余额
|
2022-06-01 14:51:12 +08:00
|
|
|
|
args[0]: 最大单一行业融资担保责任余额
|
|
|
|
|
args[1]: 融资担保责任余额
|
2022-05-30 16:56:01 +08:00
|
|
|
|
"""
|
|
|
|
|
try:
|
2022-06-01 14:51:12 +08:00
|
|
|
|
value = (args[0] / args[1]) * 100
|
|
|
|
|
value = round(value, 2)
|
|
|
|
|
self.industry_concentration = value
|
2022-06-15 10:09:03 +08:00
|
|
|
|
except TypeError:
|
|
|
|
|
self.industry_concentration = None
|
|
|
|
|
except ZeroDivisionError:
|
2022-05-30 16:56:01 +08:00
|
|
|
|
self.industry_concentration = None
|
|
|
|
|
|
|
|
|
|
def eval_return_total_assets(self, *args):
|
|
|
|
|
"""
|
|
|
|
|
总资产收益率(%)
|
|
|
|
|
公式: 总资产收益率 = 净利润 / (期初资产总额+期末资产总额)/2
|
2022-06-01 14:51:12 +08:00
|
|
|
|
args[0]: 净利润
|
|
|
|
|
args[1]: 期初资产总额
|
|
|
|
|
args[2]: 期末资产总额
|
2022-05-30 16:56:01 +08:00
|
|
|
|
"""
|
|
|
|
|
try:
|
2022-06-01 14:51:12 +08:00
|
|
|
|
value = (args[0] / (args[1]+args[2])/2) * 100
|
|
|
|
|
value = round(value, 2)
|
|
|
|
|
self.return_total_assets = value
|
2022-06-15 10:09:03 +08:00
|
|
|
|
except TypeError:
|
|
|
|
|
self.return_total_assets = None
|
|
|
|
|
except ZeroDivisionError:
|
2022-05-30 16:56:01 +08:00
|
|
|
|
self.return_total_assets = None
|
|
|
|
|
|
|
|
|
|
def eval_operating_margin(self, *args):
|
|
|
|
|
"""
|
|
|
|
|
营业利润率(%)
|
|
|
|
|
公式: 营业利润率 =(营业利润-投资收益-公允价值变动收益)/ 营业收入
|
2022-06-01 14:51:12 +08:00
|
|
|
|
args[0]: 营业利润
|
|
|
|
|
args[1]: 投资收益
|
|
|
|
|
args[2]: 公允价值变动收益
|
|
|
|
|
args[3]: 营业收入
|
2022-05-30 16:56:01 +08:00
|
|
|
|
"""
|
|
|
|
|
try:
|
2022-06-01 14:51:12 +08:00
|
|
|
|
value = ((args[0]-args[1]-args[2]) / args[3]) * 100
|
|
|
|
|
value = round(value, 2)
|
|
|
|
|
self.operating_margin = value
|
2022-06-15 10:09:03 +08:00
|
|
|
|
except TypeError:
|
|
|
|
|
self.operating_margin = None
|
|
|
|
|
except ZeroDivisionError:
|
2022-05-30 16:56:01 +08:00
|
|
|
|
self.operating_margin = None
|
|
|
|
|
|
|
|
|
|
def eval_roe(self, *args):
|
|
|
|
|
"""
|
|
|
|
|
净资产收益率(%)
|
|
|
|
|
公式: 净资产收益率 = 净利润 / (期初净资产+期末净资产)/2
|
2022-06-01 14:51:12 +08:00
|
|
|
|
args[0]: 净利润
|
|
|
|
|
args[1]: 期初净资产
|
|
|
|
|
args[2]: 期末净资产
|
2022-05-30 16:56:01 +08:00
|
|
|
|
"""
|
|
|
|
|
try:
|
2022-06-01 14:51:12 +08:00
|
|
|
|
value = (args[0] / (args[1]+args[2])/2) * 100
|
|
|
|
|
value = round(value, 2)
|
|
|
|
|
self.roe = value
|
2022-06-15 10:09:03 +08:00
|
|
|
|
except TypeError:
|
|
|
|
|
self.roe = None
|
|
|
|
|
except ZeroDivisionError:
|
2022-05-30 16:56:01 +08:00
|
|
|
|
self.roe = None
|
|
|
|
|
|
|
|
|
|
def eval_actual_asset_liability_ratio(self, *args):
|
|
|
|
|
"""
|
|
|
|
|
实际资产负债率(%)
|
|
|
|
|
公式: 实际资产负债率 = (负债合计-未到期责任准备金-担保赔偿准备金) / 资产总额
|
2022-06-01 14:51:12 +08:00
|
|
|
|
args[0]: 负债合计
|
|
|
|
|
args[1]: 未到期责任准备金
|
|
|
|
|
args[2]: 担保赔偿准备金
|
|
|
|
|
args[3]: 资产总额
|
2022-05-30 16:56:01 +08:00
|
|
|
|
"""
|
|
|
|
|
try:
|
2022-06-01 14:51:12 +08:00
|
|
|
|
value = ((args[0]-args[1]-args[2]) / args[3]) * 100
|
|
|
|
|
value = round(value, 2)
|
|
|
|
|
self.actual_asset_liability_ratio = value
|
2022-06-15 10:09:03 +08:00
|
|
|
|
except TypeError:
|
|
|
|
|
self.actual_asset_liability_ratio = None
|
|
|
|
|
except ZeroDivisionError:
|
2022-05-30 16:56:01 +08:00
|
|
|
|
self.actual_asset_liability_ratio = None
|
|
|
|
|
|
|
|
|
|
def eval_capital_adequacy_ratio(self, *args):
|
|
|
|
|
"""
|
|
|
|
|
资本充足率(%)
|
|
|
|
|
公式: 资本充足率 = 净资产 / 风险加权资产
|
2022-06-01 14:51:12 +08:00
|
|
|
|
args[0]: 净资产
|
|
|
|
|
args[1]: 风险加权资产
|
2022-05-30 16:56:01 +08:00
|
|
|
|
"""
|
|
|
|
|
try:
|
2022-06-01 14:51:12 +08:00
|
|
|
|
value = (args[0] / args[1]) * 100
|
|
|
|
|
value = round(value, 2)
|
|
|
|
|
self.capital_adequacy_ratio = value
|
2022-06-15 10:09:03 +08:00
|
|
|
|
except TypeError:
|
|
|
|
|
self.capital_adequacy_ratio = None
|
|
|
|
|
except ZeroDivisionError:
|
2022-05-30 16:56:01 +08:00
|
|
|
|
self.capital_adequacy_ratio = None
|
|
|
|
|
|
|
|
|
|
def eval_paid_capital(self, *args):
|
|
|
|
|
"""
|
|
|
|
|
实收资本(亿元)
|
|
|
|
|
公式: 即实缴资本
|
2022-06-01 14:51:12 +08:00
|
|
|
|
args[0]: 实缴资本
|
2022-05-30 16:56:01 +08:00
|
|
|
|
"""
|
|
|
|
|
try:
|
2022-06-01 14:51:12 +08:00
|
|
|
|
value = args[0]/10000
|
|
|
|
|
value = round(value, 2)
|
|
|
|
|
self.paid_capital = value
|
2022-06-15 10:09:03 +08:00
|
|
|
|
except TypeError:
|
|
|
|
|
self.paid_capital = None
|
|
|
|
|
except ZeroDivisionError:
|
2022-05-30 16:56:01 +08:00
|
|
|
|
self.paid_capital = None
|
|
|
|
|
|
|
|
|
|
def eval_guarantee_business_income(self, *args):
|
|
|
|
|
"""
|
|
|
|
|
担保业务收入(万元)
|
|
|
|
|
公式: 即当期担保业务收入
|
2022-06-01 14:51:12 +08:00
|
|
|
|
args[0]: 担保业务收入
|
2022-05-30 16:56:01 +08:00
|
|
|
|
"""
|
|
|
|
|
try:
|
2022-06-01 14:51:12 +08:00
|
|
|
|
value = args[0]
|
|
|
|
|
value = round(value, 2)
|
|
|
|
|
self.guarantee_business_income = value
|
2022-06-15 10:09:03 +08:00
|
|
|
|
except TypeError:
|
|
|
|
|
self.guarantee_business_income = None
|
|
|
|
|
except ZeroDivisionError:
|
2022-05-30 16:56:01 +08:00
|
|
|
|
self.guarantee_business_income = None
|
|
|
|
|
|
|
|
|
|
def eval_cumulative_guarantee_compensation_rate(self, *args):
|
|
|
|
|
"""
|
|
|
|
|
近三年累计担保代偿率(%)
|
|
|
|
|
公式: 近三年累计担保代偿率 = 近三年累计代偿金额 / 近三年累计解除担保责任金额
|
2022-06-01 14:51:12 +08:00
|
|
|
|
args[0]: 近三年累计代偿金额
|
|
|
|
|
args[1]: 近三年累计解除担保责任金额
|
2022-05-30 16:56:01 +08:00
|
|
|
|
"""
|
|
|
|
|
try:
|
2022-06-01 14:51:12 +08:00
|
|
|
|
value = (args[0] / args[1]) * 100
|
|
|
|
|
value = round(value, 2)
|
|
|
|
|
self.cumulative_guarantee_compensation_rate = value
|
2022-06-15 10:09:03 +08:00
|
|
|
|
except TypeError:
|
|
|
|
|
self.cumulative_guarantee_compensation_rate = None
|
|
|
|
|
except ZeroDivisionError:
|
2022-05-30 16:56:01 +08:00
|
|
|
|
self.cumulative_guarantee_compensation_rate = None
|
|
|
|
|
|
|
|
|
|
def eval_cumulative_compensation_recovery_rate(self, *args):
|
|
|
|
|
"""
|
|
|
|
|
近三年累计代偿回收率(%)
|
|
|
|
|
公式: 近三年累计代偿回收率 = 近三年累计代偿回收金额 / 近三年累计代偿金额
|
2022-06-01 14:51:12 +08:00
|
|
|
|
args[0]: 近三年累计代偿回收金额
|
|
|
|
|
args[1]: 近三年累计代偿金额
|
2022-05-30 16:56:01 +08:00
|
|
|
|
"""
|
|
|
|
|
try:
|
2022-06-01 14:51:12 +08:00
|
|
|
|
value = (args[0] / args[1]) * 100
|
|
|
|
|
value = round(value, 2)
|
|
|
|
|
self.cumulative_compensation_recovery_rate = value
|
2022-06-15 10:09:03 +08:00
|
|
|
|
except TypeError:
|
|
|
|
|
self.cumulative_compensation_recovery_rate = None
|
|
|
|
|
except ZeroDivisionError:
|
2022-05-30 16:56:01 +08:00
|
|
|
|
self.cumulative_compensation_recovery_rate = None
|
|
|
|
|
|
|
|
|
|
def eval_risk_coverage_ratio(self, *args):
|
|
|
|
|
"""
|
|
|
|
|
风险覆盖率(%)
|
|
|
|
|
公式: 风险覆盖率 = 担保赔偿准备金 / 近三年累计代偿金额
|
2022-06-01 14:51:12 +08:00
|
|
|
|
args[0]: 担保赔偿准备金
|
|
|
|
|
args[1]: 近三年累计代偿金额
|
2022-05-30 16:56:01 +08:00
|
|
|
|
"""
|
|
|
|
|
try:
|
2022-06-01 14:51:12 +08:00
|
|
|
|
value = (args[0] / args[1]) * 100
|
|
|
|
|
value = round(value, 2)
|
|
|
|
|
self.risk_coverage_ratio = value
|
2022-06-15 10:09:03 +08:00
|
|
|
|
except TypeError:
|
|
|
|
|
self.risk_coverage_ratio = None
|
|
|
|
|
except ZeroDivisionError:
|
2022-05-30 16:56:01 +08:00
|
|
|
|
self.risk_coverage_ratio = None
|
|
|
|
|
|
|
|
|
|
def eval_cash_asset_compensation_rate(self, *args):
|
|
|
|
|
"""
|
|
|
|
|
现金类资产代偿保障率(%)
|
|
|
|
|
公式: 现金类资产代偿保障率 = (货币资金+可供出售金融资产+存出保证金-存入保证金) / 融资担保责任余额
|
2022-06-01 14:51:12 +08:00
|
|
|
|
args[0]: 货币资金
|
|
|
|
|
args[1]: 可供出售金融资产
|
|
|
|
|
args[2]: 存出保证金
|
|
|
|
|
args[3]: 存入保证金
|
|
|
|
|
args[4]: 融资担保责任余额
|
2022-05-30 16:56:01 +08:00
|
|
|
|
"""
|
|
|
|
|
try:
|
2022-06-01 14:51:12 +08:00
|
|
|
|
value = ((args[0]+args[1]+args[2]-args[3]) / args[4]) * 100
|
|
|
|
|
value = round(value, 2)
|
|
|
|
|
self.cash_asset_compensation_rate = value
|
2022-06-15 10:09:03 +08:00
|
|
|
|
except TypeError:
|
|
|
|
|
self.cash_asset_compensation_rate = None
|
|
|
|
|
except ZeroDivisionError:
|
2022-05-30 16:56:01 +08:00
|
|
|
|
self.cash_asset_compensation_rate = None
|
|
|
|
|
|
|
|
|
|
def eval_margin_ratio(self, *args):
|
|
|
|
|
"""
|
|
|
|
|
保证金比率(%)
|
|
|
|
|
公式: 保证金比率 = 存入保证金 / 存出保证金
|
2022-06-01 14:51:12 +08:00
|
|
|
|
args[0]: 存入保证金
|
|
|
|
|
args[1]: 存出保证金
|
2022-05-30 16:56:01 +08:00
|
|
|
|
"""
|
|
|
|
|
try:
|
2022-06-01 14:51:12 +08:00
|
|
|
|
value = (args[0] / args[1]) * 100
|
|
|
|
|
value = round(value, 2)
|
|
|
|
|
self.margin_ratio = value
|
2022-06-15 10:09:03 +08:00
|
|
|
|
except TypeError:
|
|
|
|
|
self.margin_ratio = None
|
|
|
|
|
except ZeroDivisionError:
|
2022-05-30 16:56:01 +08:00
|
|
|
|
self.margin_ratio = None
|
|
|
|
|
|
|
|
|
|
def eval_proportion_investment_business_income(self, *args):
|
|
|
|
|
"""
|
|
|
|
|
投资业务收入占比(%)
|
|
|
|
|
公式: 投资业务收入占比 = 投资业务收入 / 营业收入
|
2022-06-01 14:51:12 +08:00
|
|
|
|
args[0]: 投资业务收入
|
|
|
|
|
args[1]: 营业收入
|
2022-05-30 16:56:01 +08:00
|
|
|
|
"""
|
|
|
|
|
try:
|
2022-06-01 14:51:12 +08:00
|
|
|
|
value = (args[0] / args[1]) * 100
|
|
|
|
|
value = round(value, 2)
|
|
|
|
|
self.proportion_investment_business_income = value
|
2022-06-15 10:09:03 +08:00
|
|
|
|
except TypeError:
|
|
|
|
|
self.proportion_investment_business_income = None
|
|
|
|
|
except ZeroDivisionError:
|
2022-05-30 16:56:01 +08:00
|
|
|
|
self.proportion_investment_business_income = None
|
|
|
|
|
|
|
|
|
|
def eval_investment_income_growth_rate(self, *args):
|
|
|
|
|
"""
|
|
|
|
|
投资收益增长率(%)
|
|
|
|
|
公式: 投资收益增长率 = 期末投资收益 / 期初投资收益
|
2022-06-01 14:51:12 +08:00
|
|
|
|
args[0]: 期末投资收益
|
|
|
|
|
args[1]: 期初投资收益
|
2022-05-30 16:56:01 +08:00
|
|
|
|
"""
|
|
|
|
|
try:
|
2022-06-01 14:51:12 +08:00
|
|
|
|
value = (args[0] / args[1]) * 100
|
|
|
|
|
value = round(value, 2)
|
|
|
|
|
self.investment_income_growth_rate = value
|
2022-06-15 10:09:03 +08:00
|
|
|
|
except TypeError:
|
|
|
|
|
self.investment_income_growth_rate = None
|
|
|
|
|
except ZeroDivisionError:
|
2022-05-30 16:56:01 +08:00
|
|
|
|
self.investment_income_growth_rate = None
|
|
|
|
|
|
|
|
|
|
def eval_customer_concentration(self, *args):
|
|
|
|
|
"""
|
|
|
|
|
客户集中度(%)
|
|
|
|
|
公式: 客户集中度 = 前五大被担保企业融资担保责任余额 / 融资担保责任余额
|
2022-06-01 14:51:12 +08:00
|
|
|
|
args[0]: 前五大被担保企业融资担保责任余额
|
|
|
|
|
args[1]: 融资担保责任余额
|
2022-05-30 16:56:01 +08:00
|
|
|
|
"""
|
|
|
|
|
try:
|
2022-06-01 14:51:12 +08:00
|
|
|
|
value = (args[0] / args[1]) * 100
|
|
|
|
|
value = round(value, 2)
|
|
|
|
|
self.customer_concentration = value
|
2022-06-15 10:09:03 +08:00
|
|
|
|
except TypeError:
|
|
|
|
|
self.customer_concentration = None
|
|
|
|
|
except ZeroDivisionError:
|
2022-05-30 16:56:01 +08:00
|
|
|
|
self.customer_concentration = None
|
|
|
|
|
|
|
|
|
|
def eval_proportion_income_guarantee_business(self, *args):
|
|
|
|
|
"""
|
|
|
|
|
担保业务收入占比(%)
|
|
|
|
|
公式: 担保业务收入占比 = 当期担保业务收入 / 营业收入
|
2022-06-01 14:51:12 +08:00
|
|
|
|
args[0]: 当期担保业务收入
|
|
|
|
|
args[1]: 营业收入
|
2022-05-30 16:56:01 +08:00
|
|
|
|
"""
|
|
|
|
|
try:
|
2022-06-01 14:51:12 +08:00
|
|
|
|
value = (args[0] / args[1]) * 100
|
|
|
|
|
value = round(value, 2)
|
|
|
|
|
self.proportion_income_guarantee_business = value
|
2022-06-15 10:09:03 +08:00
|
|
|
|
except TypeError:
|
|
|
|
|
self.proportion_income_guarantee_business = None
|
|
|
|
|
except ZeroDivisionError:
|
2022-05-30 16:56:01 +08:00
|
|
|
|
self.proportion_income_guarantee_business = None
|
|
|
|
|
|
|
|
|
|
def eval_one_proportion_class_assets(self, *args):
|
|
|
|
|
"""
|
|
|
|
|
I类资产占比(%)
|
|
|
|
|
公式: I类资产占比 = I类资产 /(资产总额-应收代偿款)
|
2022-06-01 14:51:12 +08:00
|
|
|
|
args[0]: I类资产
|
|
|
|
|
args[1]: 资产总额
|
|
|
|
|
args[2]: 应收代偿款
|
2022-05-30 16:56:01 +08:00
|
|
|
|
"""
|
|
|
|
|
try:
|
2022-06-01 14:51:12 +08:00
|
|
|
|
value = (args[0] / (args[1]-args[2])) * 100
|
|
|
|
|
value = round(value, 2)
|
|
|
|
|
self.one_proportion_class_assets = value
|
2022-06-15 10:09:03 +08:00
|
|
|
|
except TypeError:
|
|
|
|
|
self.one_proportion_class_assets = None
|
|
|
|
|
except ZeroDivisionError:
|
2022-05-30 16:56:01 +08:00
|
|
|
|
self.one_proportion_class_assets = None
|
|
|
|
|
|
|
|
|
|
def eval_two_proportion_class_assets(self, *args):
|
|
|
|
|
"""
|
|
|
|
|
II类资产占比(%)
|
|
|
|
|
公式: II类资产占比 = II类资产 /(资产总额-应收代偿款)
|
2022-06-01 14:51:12 +08:00
|
|
|
|
args[0]: II类资产
|
|
|
|
|
args[1]: 资产总额
|
|
|
|
|
args[2]: 应收代偿款
|
2022-05-30 16:56:01 +08:00
|
|
|
|
"""
|
|
|
|
|
try:
|
2022-06-01 14:51:12 +08:00
|
|
|
|
value = (args[0] / (args[1]-args[2])) * 100
|
|
|
|
|
value = round(value, 2)
|
|
|
|
|
self.two_proportion_class_assets = value
|
2022-06-15 10:09:03 +08:00
|
|
|
|
except TypeError:
|
|
|
|
|
self.two_proportion_class_assets = None
|
|
|
|
|
except ZeroDivisionError:
|
2022-05-30 16:56:01 +08:00
|
|
|
|
self.two_proportion_class_assets = None
|
|
|
|
|
|
|
|
|
|
def eval_three_proportion_class_assets(self, *args):
|
|
|
|
|
"""
|
|
|
|
|
III类资产占比(%)
|
|
|
|
|
公式: III类资产占比 = III类资产 /(资产总额-应收代偿款)
|
2022-06-01 14:51:12 +08:00
|
|
|
|
args[0]: III类资产
|
|
|
|
|
args[1]: 资产总额
|
|
|
|
|
args[2]: 应收代偿款
|
2022-05-30 16:56:01 +08:00
|
|
|
|
"""
|
|
|
|
|
try:
|
2022-06-01 14:51:12 +08:00
|
|
|
|
value = (args[0] / (args[1]-args[2])) * 100
|
|
|
|
|
value = round(value, 2)
|
|
|
|
|
self.three_proportion_class_assets = value
|
2022-06-15 10:09:03 +08:00
|
|
|
|
except TypeError:
|
2022-05-30 16:56:01 +08:00
|
|
|
|
self.three_proportion_class_assets = None
|
2022-06-15 10:09:03 +08:00
|
|
|
|
except ZeroDivisionError:
|
|
|
|
|
self.three_proportion_class_assets = None
|