企业🤖AI Agent构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
# 信用债风险模型初探之:Z-Score Model > 来源:https://uqer.io/community/share/568b73d6228e5b67159bee69 ## 0. 引言 2015年3月4日晚间,ST超日(上海超日太阳能科技股份有限公司)董事会发布公告称,“11超日债”本期利息将无法于原定付息日2014年3月7日按期全额支付。至此,“11超日债”正式成为国内首例违约债券。 ## 1. 什么是 Zscore Model 简单的说,zscore model 是一种用于估计债券发行人违约风险的信用风险模型。 ## 2. 本文提供的 Zscore Model 下面我们首先从原理,模型公式,划分区间三个方面来简单介绍一下本模块中的两个 Z-score 模型; 然后我们从如何获取数据,清洗数据;如何计算债券发行人 Z-score 值;如何作图来操练这个模型; ### 2.1 All Corporate Bonds 模型原理 + 不需要发行人上市交易数据 + 离散分析方法 模型公式 ``` ZScore = 0.517 - 0.460*x1 + 9.320*2/x2 + 0.388*x3 + 1.158*x4 x1: 负债合计/资产总计 x2: 净利润/0.5*(资产总计 + 资产总计[上期]) x3: 营运资本/资产总计 x4: 未分配利润/资产总计 coef=[0.517, -0.460, 18.640, 0.388, 1.158] ``` 划分区间 + `Z-score < 0.5`: 已经违约 + `0.5 < Z-score < 0.9`: 有违约的可能性 + `Z-score > 0.9`: 财务健康,短期内不会出现违约情况 ### 2.2 Corporate Bonds with Equity Listings 模型原理 + 需要发行人上市交易数据 + 离散分析方法 模型公式 ``` ZScore = 0.2086*x1 + 4.3465*x2 + 4.9601*x3 x1: 总市值/负债合计 x2: 营业总收入/资产总计 x3: (资产总计-资产总计[上期])/资产总计[上期] coef = [0.2086, 4.3465, 4.9601] ``` 划分区间 + `Z-score < 1.5408`: 已经违约 + `Z-score > 1.5408`: 财务健康,短期内不会出现违约情况 ## 3. 未来 Z-Score 是一个比较基础,通用的模型,本文只是对其原理和实现的一个简单探索,要想真正 build 一个足够 robust 的模型还需要做很多工作。不过 uqer 提供了完善的财务数据,行情数据以及 100 多个相关因子,相信会给大家建立模型上节省不少时间。 ```py # built-in package import time import json import random import datetime as dt # third-party package import numpy as np import pandas as pd pd.options.display.max_columns = 100 pd.options.display.max_rows = 100 from matplotlib.pyplot import * import seaborn