APP下载

基于机器学习的债券信用评级研究

2024-05-19陈湘州刘佳

现代商贸工业 2024年10期
关键词:信用评级主成分分析

陈湘州 刘佳

摘 要:当前债券违约事件屡见不鲜且愈演愈烈,鉴于此,该文提出了基于机器学习的债券信用等级评估模型,以在交易所市场发行债券的主体为研究对象,首先通过极端梯度提升(eXtreme Gradient Boosting)预测出债券发行主体是否会违约以及违约的概率,再使用主成分分析(Principal Component Analysis)对高维数据进行降维,最后运用K-means算法将债券样本划分为9类。检验发现,该模型的评估结果能够真实地反映债券违约情况,对帮助投资者识别违约风险具有一定的借鉴意义。

关键词:信用评级;极端梯度提升;主成分分析;K-means

中图分类号:F23     文献标识码:A      doi:10.19311/j.cnki.16723198.2024.10.049

0 引言

对于债券评级的研究主要分为以下两类:第一类是指标遴选的研究。迟国泰等(2016)对指标进行偏相关分析和Probit回归分析,删除信息冗余的指标,最后对留下指标进行Probit回归分析,判别企业的违约状态。李战江等(2016)使用逼近理想点赋权模型确定指标权重后,再运用ward聚类对样本进行分类。周颖(2021)运用信息增益和相关分析方法筛选出指标后建立信用评级体系。第二类是评级方法的研究。吴建华等(2021)建立了动态评价信用质量的贝叶斯模型进行信用评级。张东玲和高齐圣(2010)基于有序Logitic回归建立了企业质量信用等级评价模型。

现有的债券信用评价等级指标繁多,不仅增加了数据的储存空间,减缓了算法的运算速度。鉴于此,该文引入了主成分分析法对样本特征进行降维,再结合极端梯度提升和K-means机器学习算法进行债券信用等级评估。

1 债券信用等级评估模型构建

该文以Python软件为建模的载体,运用多种机器学习方法展开债券信用等级评估工作。在债券样本数据集中,有M个样本{X1,X2,…,XM},每个样本包含N个特征Xi=[xi1,xi2,…,xiN]T和标签(yi,yi=0,1)两个部分,正常样本的标签是0,债券违约样本的标签是1。该信用评级模型的步骤主要如下:

第一步:进行数据预处理。采用归一化方法处理数据量纲不同的问题,公式为:

x′=x-min(x)max(x)-min(x)(1)

第二步:利用XGBoost预测每个债券样本是否违约以及违约的概率。极端梯度提升属于集成算法中的提升法,在众多研究领域中被广泛使用,其公式为:

y^i(0)=0y^i(1)=y^i(0)+f1(Xi)y^i(2)=y^i(1)+f2(Xi)...y^i(t)=y^i(t-1)+ft(Xi)(2)

其中ft(Xi)为每次增加的决策树,y^i(t)为第t轮模型的预测值,而每次选取树的标准是为了降低损失函数,XGBoost的目标函数(损失函数)如下:

Obj(t)=∑ni=1l(yi,y^i(t-1)+ft(xi))+Ω(ft)+C(3)

式(3)中l(·)为损失函数,经过泰勒展开上述公式并加入惩罚函数得到:

Obj(t)=∑ni=1[γΤ+Gjωj+12(Hj+λ)ωj2](4)

式(4)中γ和λ为对叶子节点的惩罚力度,T为叶子节点的个数,Gj为对损失函数一阶偏导的值,ωj为最终叶子节点的值,Hj为对损失函数二阶偏导的值。

第三步:利用PCA对债券高维特征降维。PCA是通过对投影距离方差的运用,将降维问题转换为求最值的问题,主要步骤如下:

(1)对所有特征进行中心化处理,即对每一个特征求平均值,公式如下:

X1=1M∑Mi=1xi1X2=1M∑Mi=1xi2…XN=1M∑Mi=1xiN(5)

式(5)中中X1是特征X1的平均值,xiN代表第i个样本的第N个特征,M代表样本的个数。

(2)求协方差矩阵,其计算公式如下:

C=cov(X1,X1)cov(X1,X2)cov(X2,X1)cov(X2,X2)(6)

式(6)中cov(X1,X1)代表X1的方差,cov(X1,X2)代表X1和X2的協方差,公式如下:

cov(X1,X1)=∑Mi=1(xi1-x1)(xi1-x1)M-1(7)

(3)计算协方差矩阵对应的特征值λ和特征向量u,使得Cu=λu。

(4)将原始特征投影到选取的特征向量上,得到p维特征,从而达到了降维的目的,公式如下:

si1si2…sip=u1T*(xi1,xi2,…,xiN)Tu2T*(xi1,xi2,…,xiN)T…upT*(xi1,xi2,…,xiN)T(8)

式(8)中si1,si2,…,sikT是投影后新的特征,由之前的N维特征降低到p维。

第四步:将降维后的新特征用于K-means分析,数据集被划分为九个簇,计算每一簇违约概率。

K-means属于聚类算法,将具有相似特征的样本归为一类,其具体流程如下:

(1)随机地选取k个数据作为簇的质心,C=C1,C2,…,Ck。

(2)计算每个样本点到每个质心的距离,将样本分配到距离其最近的簇,通常使用欧氏距离度量。

dis=∑pt=1(xit-cjt)2,1≤i≤m,1≤j≤k(9)

式(9)中xit表示第i个样本的第t个特征,cjt表示第j个质心的第t个特征,通过计算距离后得到k个簇R1,R2,…,RK。

(3)对于每个簇Cj,重新计算每个簇的质心。

Cj=1aj∑x∈Cjx(10)

式(10)中aj表示Cj中数据点个数。

(4)重复步骤(2)和(3),直到每个样本不再发生变动,算法完成收敛。

2 样本和特征指标的选择

2.1 样本的选择

该文以在中国证券市场公开发行债券的公司为研究对象,选取2014年1月—2022年3月发生信用债违约的公司作為债券违约主体,违约当年记作t年,采用t-1年的数据作为违约主体的样本数据集,正常债券样本选取交易所市场存量债券公司。将缺失值较多的样本删除,得到了1539个样本,数据主要来源于wind数据库。

2.2 指标的选取

在已有研究基础上,该文选取了18个财务指标,考虑到特征的重要性与多样性,因此,该文增加了非财务指标,综上所选的指标如表1所示。

3 模型参数寻优与结果分析

3.1 XGBoost算法超参数寻优

为了保证XGBoost算法更准确地预测样本是否违约以及违约的概率,该文将所有数据按80%:20%的比例划分为训练集与测试集。该文利用了学习曲线对各个超参数进行调整,以期寻找最佳值,XGBoost算法的超参数包括:生成树的数目、学习率、随机采样的比例、树的最大深度等;最后利用测试集对训练好的模型进行检验。通过学习曲线寻找超参数最优值的过程如图1所示。

a            b

c            d

图1 超参数最佳值选取过程

极端梯度提升算法中每一棵树都是相关的,每增加一棵决策树便会学习一个新的函数,来拟合上个模型预测的残差。图1中纵坐标代表债券预测准确率,横坐标代表各个超参数取值范围,每个小图都有两条折现分别代表训练集和测试集的预测准确率。从图中可以看出决策树棵数(决策数的数量)最佳值选择90,学习率最佳值为0.20,子采样最佳值为0.84,决策树的最大深度(指决策数模型所允许的最大分支深度,即从根节点到叶子节点的最长距离)最佳值为5。

3.2 PCA与K-means超参数寻优

该文使用PCA对数据特征进行降维,PCA中一个重要的参数是n_components,指降维后的维度,累计可解释性方差比例可以帮助选择最佳值,其代表降维后特征所带有原始数据集的信息比例。当保留5个特征时,获取原数据的信息已经超过90% ,为了达到数据可视化的目的,该文将n_components保留到3,其可解释性方差的贡献率超过了80%,保留了原始数据的大量信息。

K-means算法主要应用于数据分类,但其属于无监督学习,所以不知道样本标签,只能将相似的样本归为一类,非常适合于债券信用等级评估,而划分为k个类簇,是需要着重考虑的问题,该文借助轮廓系数和inertia系数来选择k值。对于选择的k值,其轮廓系数越大越好,inertia系数越小越好,但这不是绝对衡量指标,还需要结合实际情况确定最佳的k值。该文根据市场债券信用等级AAA、AA、A、BBB、BB、B、CCC、CC、C的实际分布情况选择k=9,其inertia系数为22相对较低,且轮廓系数为0.61相对偏高,具有很好的分类效果,最后通过K-means算法将样本分别划分为9类。

3.3 实验结果分析

实验结果为:预测为AAA等级一类的有359个样本,其中没有违约债券主体,且违约概率均值最低为0.25%;AA和A等级的违约概率均值不到1%,都只存在一个违约债券主体;BBB 和BB等级的违约概率较低,处于1%~2%之间;但B等级的违约概率呈现指数式暴增,高达52.17%,分类结果也证明了该等级的违约比例较高为64.29%,28个样本中有18个违约主体;CCC等级违约概率逐步增加为61.70%,50个样本中存在35个违约主体;CC等级全部为违约样本; C等级违约概率均值最高为96.09%,84个样本中存在82个违约主体,其违约比例高达97.62%。

从Wind数据库收集资料,统计了实际违约样本的债信等级分布情况,聚类分析中违约样本共150个,其中A等级及以上违约的债券发行主体共56个,占违约总数的37.30%,BBB、BB、B等级违约的共33个,占违约总数的22%,CCC 、CC、C等级违约的共51个,占违约总数的34%,通过统计分析发现A等级及以上的违约样本最多,不符合债信等级越高违约概率越低的原则,揭示了债券信用评级虚高的现象。而通过模型分类后的样本,其债信评级更具有真实性与客观性,A等级及以上违约的样本共2个,其中AAA等级中不存在违约样本,而大部分的违约样本被分类为B、CCC、CC、C等级,与现实生活中实际违约债券发行主体的信用等级相比较,该债券信用等级评估模型具有良好的分类效果。

4 债券信用等级评估模型检验

为了检验债券信用等级评估模型的有效性,该文从Wind数据库收集了2022年4月至2022年9月债券违约发行主体的数据信息,考虑到数据可得性,仅收集了交易所市场的11个违约样本,并用相同的债券信用评级方法进行预测分类,现实情况为:11个违约样本中有8个债券发行主体违约前的评级在A等级及以上,其中3个拥有最高债券信用评级AAA等级,再次证实了现有债券信用评级存在虚高的事实。而通过模型评估后,这11个违约样本中有8个被分类为最低债券信用评级C等级,3个被分类为CCC等级,证明该债券信用等级评估模型能够客观准确地进行评级,帮助投资者排除潜在的违约风险。

5 结论

人工智能技术的发展为债券信用评级研究提供了更高效的技术支持,在债券违约事件频繁爆发的经济背景下,该文对中国交易所市场2014年1月—2022年3月发生违约的公司进行研究,并以2022年4月—2022年9月的样本数据进行检验,实验结果表明该模型具有良好的分类效果。该文的主要特色为:

(1)使用PCA对高维特征降维,降维后的特征保留了原有数据80%以上的信息,既消除了数据噪音,又加快了算法运算速度,避免误删对债券违约预测结果有重大贡献的指标。

(2)将 XGBoost预测债券发行主体违约概率作为信用评级标准,满足了违约概率越高,则债券信用等级越低的规律,有效地劃分了债券样本信用等级。

(3)运用K-means等机器学习方法进行债券信用等级评估是符合大环境下人工智能崛起背景的,为债券违约研究领域贡献了一种新的方法。

参考文献

[1]迟国泰,张亚京,石宝峰,等.基于Probit回归的小企业债信评级模型及实证[J].管理科学学报,2016,19(06):136156.

[2]李战江,句芳,修长柏,等.银行信用风险小样本评级模型的构建[J].统计与决策,2016,(09):3943.

[3]周颖.基于信息增益的小型工业企业信用评级模型[J].运筹与管理,2021,30(01):209216.

[4]吴建华,张颖,原雪梅,等.动态贝叶斯信用评级的宏观经济冲击模型[J/OL].数理统计与管理:113[20221125].

[5]张东玲,高齐圣.企业质量信用等级评价研究:以青岛市家电产业为例[J].系统管理学报,2010,19(01):8388.

猜你喜欢

信用评级主成分分析
关于资产证券化中信用评级行为的分析
我国房地产企业信用评级财务指标体系研究
互联网金融征信建设存在的问题及对策探讨
基于NAR模型的上海市房产税规模预测
主成分分析法在大学英语写作评价中的应用
江苏省客源市场影响因素研究
SPSS在环境地球化学中的应用
我国信用评级业存在的问题及应对策略
服务贸易结构优化路径研究