摘要:随着信用债“暴雷”的频繁发生,信用债违约成为金融市场较为重要的课题。文章主要利用公司财务数据,采取两种机器学习模型预测公司债违约,并利用样本进行了实际测算以及对结果进行了对比,发现两种机器学习模型对于预测公司债信用违约都有较好的效果。其中,SVM模型的预测精度更高,logit模型则牺牲了一部分精度来预测出更多违约事件。应用层面上,logit模型更适合市场风险预警,而SVM模型更适用于提示监管机构采取一定措施。利用机器学习模型研究信用债违约,有助于推动我国信用风险评估市场化进程。
关键词:信用违约;logit模型;SVM模型;比较分析;应用场景启示中图法分类号:F830 文献标识码:A
Research and empirical analysis on prediction of credit default usingmachine learning model
CHEN Xuerong
(Yushi Internet Financial Information Service Co., Ltd., Shanghai 200120, China)
Abstract: With the frequent occurrence of credit debt thunderstorm, credit default has become a more important issue in financial market. Mathematical methods are also more common in finance, and machine learning techniques are more mature. Therefore, this paper mainly uses the company financial data, adopts two kinds of machine learning model to forecast the company debt default, uses the sample to carry on the actual computation, and has carried on the contrast to the result. It is found that the two ML models have better effect on the default of corporate bonds. The precision of SVM model is higher, but logit model sacrifices part of precision to predict more default events. On the application level, logit model is more suitable for market risk early warning, while SVM is more suitable for prompting regulators to take certain measures. The study of credit default using machine learning model is helpful to the further development of credit default prediction and the marketization of credit risk assessment in China.
Key words: credit default, logit model, SVM model, comparative analysis, application scenario enlightenment
1 研究背景
债券是金融市场不可或缺的重要工具之一,信用债又是债券中的重要类型。信用债是企业的重要融资途径,信用风险是金融市场风险的重要来源。近年来,信用违约事件屡屡发生,信用债违约逐渐成为常态。2019年,209 只债券发生违约,违约金额为1302.33亿元;2020年,196只债券发生违约,违约金额达1752.71亿元。在此背景下,研究信用债违约便成为重要课题。
定性分析较为常见的违约分析办法,主要分析发行公司的现金流和盈利状况,常见方法为 5C ( Capacity,Capital,Collateral,Condition,Character )模型,主要从企业偿债能力、资本结构、抵押品价值、公司未来成长和公司偿债意愿等维度进行分析。
现有的定量分析预测违约模型可分为三类:第一类是评分模型。其中,具有代表性的模型有基于多元判别分析( MDA)的 Altman ( 1968) Z 评分模型和 Ohlson (1980) O 评分模型。Z 评分模型存在较大的局限性。首先,其决策规则是不确定的,得分判别存在2.99~ 1.81的中空地带。此外,它并没有给出估计的违约概率。logit 模型则可以有效地解决该问题。 Ohlson (1980)使用 logit 模型来计算违约概率。LDA 线性与 logit 和 probit 非线性模型仅仅是将模型套用在公司/企业债上,它们存在两个问题,即起到较大作用的是指标的设定,而指标的人为构造或選取又存在一定的主观性;线性回归或者非线性回归虽不易造成过拟合,但是容错率很高,对于违约的预测没有很好的效果。
第二类是 Merton (1974)提出的结构化模型,即 Merton 模型。其假设购买杠杆公司的股票应被视为等价于购买写在公司资产上的看涨期权。Merton 模型假设资产价值是随机的,并遵循几何布朗运动;预期资产收益率和波动率以及无风险利率,不随着时间推移改变。Merton 模型存在局限性,如需要对发债人的债务进行持续交易,而大多数负债都很难经常性地交易;资产价值的波动标准差被假定为不变,而实际的波动性随着时间而变化等。
第三类是 Reduced Form 模型。它是生存分析模型的一种变体。之所以将 Hazard 模型称为 Reduced Form 模型,是因为 Hazard 模型将复杂的违约机制简化为一个简单的表达式,使模型能够在现实中接受市场数据采集。它还可以推导出无套利定价、估值和套期保值公式。
2 模型
2.1 因子筛选
我们建立了关于债券的数据库,除了债券的一些基础信息外,还从公司财务报表中整理了400多个财务因子,作为模型的输入变量。
2.2 logit 模型建立
(1)logit 模型原理
在分析国内外定量模型的优缺点及适用性后,针对我国的信用债市场,考虑选择 binomial 分布对应的 logit 回归为初始模型。观测到违约事件发生情况:
其中,残差项εi 的分布为 logistic 分布。
那么,Yi =1的概率公式如下:
其中:
其中,Xi 为因子参数,β为对应参数的系数值。
(2)logit 机器学习计算步骤
在非线性模型预测的基础上,我们在模型中引入了机器学习算法(图1)来完成预测违约。
将该算法转为机器学习模式,可以处理为:
Logistic 回归模型可以写成 Y=h ( x )= F(X′iβ+εi ),其替代函数 sigmoid 函数也叫 s 型函数,用 g( z )表示:
其中,z=X′iβ+εi 。
误差反馈(损失函数 J)为:
机器学习模型容易过拟合,泛化能力较差,且违约事件为小概率事件,难以训练[2]。此时,需要模型的參数设置精巧,即考虑过拟合问题,同时能保证预测精度。为了解决机器学习的维度灾难问题,本文在模型中加入了正则项。正则项可以取不同的形式,在回归问题中取平方损失,就是参数的 L2范数,也可以取 L1范数。取平方损失时,模型的损失函数变为:
其中,λ为正则项系数,合适的正则函数和系数能够提高分类问题的精度。
模型最终筛选出了14个因子,包括一些常规因子,如代表偿债能力的流动负债和货币资产;挖掘不到一些非常规但其实有效的因子,如代表资产结构的固定资产清理和盈余公积等。
(3)支持向量机(SVM)模型原理及公式
支持向量机 ( Support Vector Mechine ,SVM)是 V.Vapnik 等人提出的一种针对小样本的分类机器学习理论[1]。支持向量机指的是将向量映射到一个高维空间,在这个高维空间中建立一个最大间距超平面。在分隔数据的超平面的两侧建立了两个平行的超平面,以该方式使两个平行的超平面之间的距离最大化。假设平行超平面之间的距离或差值越大,分类器的总误差就越小。
SVM 和 logistic 回归是功能相近的分类器,二者的区别在于 logistic 回归的输出具有概率意义,也容易扩展至多分类问题,而 SVM 的稀疏性和稳定性使其具有良好的泛化能力并在使用核方法时计算量更小。
3 结果分析
(1)样本介绍
由于涉及财务数据,考虑债券发行公司财务数据的存在性问题,本文只选取部分上市公司的公司债的2016年 ~2020年的季度违约数据作为样本数据做滚动预测。
(2)logit 机器学习模型结果分析
违约债券方面,logit 机器学习模型预测结果如表1 所列。
从表1 可以看到,第一类错误率较高,说明模型预测违约但实际不违约情况较多,可能虽然整体数据发出了违约信号,表明公司有违约风险,但公司及时筹集了足够的资金避免了违约事件的发生。第二类错误率非常低,说明模型基本可以将违约事件全部预测到,也说明模型牺牲了一部分的第一类错误,以保证可以预测出更多违约事件。
模型对于公司发生违约事件的预测结果如表2 所列。可以看出,表1 和表2 中的预测准确率差别不大,但是表2 的第一类错误率较低,这是因为一个公司可以发多只债券,但在一个季度内,只违约了一只债券,预测违约公司的难度要小于预测违约的债券。
(3)SVM 机器学习模型结果分析
违约债券方面,SVM 机器学习模型预测结果如表3 所列。
从表3 可以看到,第一类错误率非常低,说明模型预测违约但实际不违约情况为0,表明模型在样本数据内预测出的违约会有100%的概率发生。第二类错误率比 logit 模型的结果高,说明模型不能将违约事件全部预测到,也说明模型牺牲了一部分的第二类错误,以保证可以预测出的精确度。
SVM 模型对于公司发生违约事件的预测结果如表 4所列。可以看出,表3 和表4 中的预测准确率差别不大,但是表2 的第二类错误率较低,这是因为一个公司可以发多只债券,但在一个季度内,只违约了一只债券,预测违约公司的难度要小于预测违约的债券。
(4 )模型结果比较
通过两个模型的结果对比可以看出,logit 模型牺牲了第一类错误来保证第二类错误率尽量小,即为了保证预测出所有的违约事件,将一部分高风险但没有违约的公司或债券纳判断为违约。而 SVM 模型牺牲了第二类错误来保证第一类错误率尽量小,即为了保证预测出的违约事件100%的概率真实违约,保证了预测违约的精确度,但没能预测出全部违约事件。
笔者认为,这两种模型可以用于不同的方面,如 logit 模型的结果可以提供给预测出的可能违约的公司参考,供其检视自身的流动性是否充裕,让公司解决其潜在问题,避免发生违约事件。而 SVM 模型的预测结果则可用于相关机构参考,使其有足够的时间采取必要措施,避免债券不兑付或者公司清算重组造成的影响。
4 总结
由结果分析可以看出,机器学习模型对于中国公司债违约事件的预测具有一定的效果,虽然各有优劣,但在分别使用的情况下相信有助于国内债券市场的长期发展。
不足之处在于:第一,数据不全,并没有用全市场的数据代入模型,模型的系数更适用于被选中的数据;第二,模型因子只包含400个财务数据,只能反映企业的部分状况,而在高管管理能力以及是否有大型集团做担保等难以定量化的因素方面,未能涵盖进模型;第三,模型应用了机器学习,可以保证预测的精度,但也有一定的缺点,如系数的解释性较弱,以及因变量(因子)系数的高低虽然可以反映其对违约的影响,但无法确定其真实的相关性;第四,尚未深入研究参数选择,参数的选择会对模型的结果有一定的影响。在后续的研究中,可以弥补以上不足来优化模型,以期得到更好的结果。
参考文献:
[1 ] 乔林波.大规模正则化机器学习算法研究[ D ].长沙:国防科技大学.2017.
[2 ] 常甜甜.支持向量机学习算法若干问题的研究[ D ].西安:西安电子科技大学.2010.
作者简介:
陈雪融(1994—) ,硕士,研究员,研究方向:信用风险、宏观经济研究、机器学习。