炒股就看金麒麟分析师研报,权威,专业,及时,全面,助您挖掘潜力主题机会!
(来源:长城总量)
摘要
传统的债券违约模型主要分为线性模型和非线性模型。线性模型如Altman Z-score通过财务比率得出综合风险评分,简便易用,但财务指标有限,可能无法全面反映债务人状况。非线性模型如Merton模型基于期权定价理论,能够更好地捕捉资产波动,但对参数依赖较大,且忽视跳跃性事件。与之相比,机器学习在债券违约风险评估中具有优势,能够通过自动化数据分析挖掘复杂的非线性关系,处理大规模数据和缺失值,并实时适应市场变化。机器学习的强大自适应性和精确性使其成为传统违约模型的重要补充,提高了预测准确性并应对市场复杂性。上市公司债券信用风险识别不仅有助于债券市场的投资,同样能够作为一个良好的股票筛选因子。
在数据集的时间区间划分上,为了确保训练集和测试集比例接近7:3,根据违约数据的分布确定2022年8月作为分界区分违约数据的训练集以及测试集,并选择2022Q1的财报数据作为训练集,并使用2024Q2的财报数据作为测试集。同时,为了提高样本的针对性,在正常样本中仅保留公司债和可转债两类,从而降低数据异质性,优化模型的泛化性能。特征选取方面,综合考虑企业运营与债券特性,报告选取了财务、债券本体以及股票交易三大类指标。针对数据不平衡问题,报告中采用的欠采样策略不仅有效平衡了数据分布。通过这种处理方法,模型在数据集中对少数类(如违约样本)的识别能力显著增强。同时,在样本数量有限的情况下,尽量保留了重要的异质性信息,确保模型能够捕捉到关键的风险特征。
我们使用了逻辑回归、随机森林、支持向量机、XGBoost以及LightGBM五个分类模型。由于支持向量机必须使用统一量纲后的数据,在检验五个模型的情况后我们发现统一量纲的操作将会显著提高每个模型的召回率,而这有可能是由于引入未来数据导致的。为了避免未来函数的问题,我们将不再考虑支持向量机作为信用风险识别模型。在剩余的四个模型中,随机森林不论是在AUC还是召回率上都具备明显的优势,AUC达到0.90,召回率达到0.84。
使用随机森林作为预测最新一期债券信用风险的模型,选取2024年11月1日至2024年12月20日的信用风险样本以及2024Q3截面的正常样本构成验证集,对于已经产生的信用风险事件,随机森林均给出了相对准确的分类(预测概率均大于50%),并且调整概率均大于50%。对于截面上存续的可转债,共有11支可转债的违约调整概率超过50%。
风险提示:数据选取未使用全部数据,可能导致样本偏差;特征选取存在一定主观性;数据不平衡采样方法可能导致信息丢失;历史数据无法完全预测未来结果;模型存在失效可能性。
1
使用机器学习识别信用风险
传统的债券违约模型大致可分为线性模型和非线性模型两大类。线性模型中,最具代表性的如Altman Z-score模型,该模型通过计算多个财务比率并加权得出一个综合风险评分,简便易用,但其局限性也较为明显,主要在于选取的财务指标较少,可能无法全面反映债务人的财务状况。非线性模型方面,最具代表性的为Merton模型,它基于期权定价理论,将企业违约定义为企业资产价值小于债务账面价值,使用Black-Scholes公式对企业的股票和负债进行估值,从而推算违约概率。此模型能够较好地捕捉资产价格波动,但在实际应用中对参数的依赖较大,且未能考虑跳跃性事件的影响。
机器学习作为对债券市场传统违约模型的重要补充,主要体现在其强大的数据处理能力和自适应特性。传统模型通常依赖于固定的财务指标和简单的假设,可能难以捕捉债券违约风险中潜在的复杂非线性关系。而机器学习模型能够自动从大量历史数据中挖掘潜在的规律和模式,尤其在面对非线性特征时表现出色。除此之外,机器学习方法能够有效处理大规模数据和缺失值,避免了传统模型在数据不完全时的局限性。由于其强大的自适应性,机器学习模型可以随着市场环境的变化实时更新,提供更加精确和个性化的风险评估。这些优势使得机器学习在债券市场中的应用不仅提高了预测的准确性,还能够更好地应对市场的动态变化和复杂性,从而成为传统违约模型的有效补充。
为了便于读者理解报告的内容,我们在开篇首先梳理整个模型从搭建、训练到预测的过程。整个过程大致分为4步,观察真实世界中数据的分布情况并构造适应于分类学习模型的数据集,选取不同维度的因子,使用不同的分类模型(如逻辑回归、支持向量机、随机森林等)训练并测试模型,并给出最新一期的预测情况。
上市公司债券信用风险识别的意义不仅仅停留在于对于债券风险的规避,其同样可以用于对上市公司股票的筛选。如果将上市公司对应的债券信用风险作为一个筛选股票池的因子的话,其同样具有良好的效果。统计2016年5月1日至2024年8月31日之间发生信用风险的债券对应的上市公司在财报截止日之间的表现(假设某支债券发生信用风险的日期为2016年5月13日,则对应的区间为2016年5月1日至2016年8月30日),以中证800作为基准,超额收益为负的占比为73.03%,超额收益的中位数为-14.18%。这就意味着可以通过剔除预测可能发生信用风险的上市公司来进行股票策略的增强。
2
数据处理与特征选择
数据截面选取
信用风险样本与正常样本的不平衡性
在本篇报告中定义的信用风险事件包括两个大类:一个是发生实质性违约事件的债券,包括本息违约、提前到期未兑付、展期资金未兑付等;另一个则是信用评级下调事件。
在数据整理阶段,我们首先对信用风险样本进行梳理,并根据信用风险样本的分布情况从正常样本中“匹配”对应的子集。这一处理的核心原因在于,信用风险样本与正常样本之间存在严重的不平衡性。如果直接将全部正常样本纳入模型,数据的不平衡将显著影响模型的性能,使其倾向于预测多数类(即正常样本),从而削弱模型对少数类(即信用风险样本)的识别能力。
以2022年5月1日至8月31日的区间为例(2021年年报&2022年一季报截面),2022年4月30日存量上市公司信用债的数量为41365个,而在上述区间中发生信用风险的债券数量总计为243个,占全部信用债的比例约为0.59%。显然,如果将全部截面的正常样本全部纳入数据集,会造成严重的数据不平衡,从而影响模型的性能。因此,我们将首先处理信用风险样本,并将信用风险样本按照比例进行划分,进而确定使用的正常样本的截面。
违约以及评级下调数据处理
对于违约数据,首先在wind终端债券——信用债研究——债券违约——债券违约及展期大全中拉取特定时间内所有违约及展期的债券信息。本文研究从2015年年报及2016年一季报发布截止日期(2016年4月30日)开始,拉取2016年5月1日起至今所有违约及展期的债券,债券分类中剔除金融债。
对于评级下调数据,首先在wind终端债券——信用债研究——评级预警——债项评级调低债券拉取特定时间内所有评级下降债券评级调低对应的时间。本文研究从2015年年报及2016年一季报发布截止日期(2016年4月30日)开始,拉取2016年5月1日起至今所有债券评级下调债券分类中剔除国债、地方政府债、央行票据、同业存单以及金融债。
上述方法拉取的excel中并不包含债务主体的相关信息,为了便于后续因子数据的拉取,我们在excel中提取对应信息。由于wind无法直接通过债券代码提取对应债务主体代码,我们将其拆解为两步:1.提取债务主体中文简称;2.中文简称转换为wind代码。
针对同一债务主体在同一季度内有多个不同债券信用风险的情况,我们保留其中上市日期最早的债券的信用风险记录;针对同一个债券在同一个季度内的多条信用风险记录,保留违约日期最早的记录。
信用风险数据集划分
为了测试模型在完整截面数据(对全部)上的能力,我们单独保留最新截面(2024Q3财报截止日)作为验证集。对于剩余的信用风险数据,我们尝试找寻一个财报截止日截面,使得训练集与测试集的划分比例最接近7:3。根据计算,2016年5月至2024年10月的信用风险样本按7:3划分的时间节点为2022年8月29日,因此我们采用2022年一季报截面划分训练集以及测试集(对应信用风险样本区间为2022年5月至2022年8月)。
正常样本
根据上述信用风险数据集的划分,我们确定2022年一季报截面以及2024年中报截面分别作为训练集以及测试集的正常样本时间。由于正常样本数量较多,因此在正常样本中我们将仅保留公司债与可转债两个大类。
不平衡样本数据处理
在信用风险研究中,数据不平衡性是一个需要重点解决的问题。通常,违约样本相较于非违约样本数量极少,这种样本比例的不对称会导致预测模型偏向多数类(即非违约样本),从而降低对少数类(即违约样本)的预测准确性和识别能力。在处理这种不平衡问题时,常用的技术包括过采样(Oversampling)和欠采样(Undersampling)。
过采样通过增加少数类样本数量来平衡数据集,这可以通过重复少数类样本或生成合成样本(如使用 SMOTE 等方法)来实现。然而,过采样可能会导致模型过拟合,特别是在少数类样本数量本就稀少时,这种问题尤为明显。
欠采样则是通过从多数类样本中随机移除部分数据或基于某种策略选择子集,使多数类和少数类的样本数量相等或接近。虽然欠采样能够有效减少样本不平衡的影响,但同时也可能导致重要信息的丢失,尤其是在多数类样本中包含了大量有价值的异质性信息时。
为了在信用风险预测中尽可能保留与风险事件相关的重要信息,本文采用了一种基于欠采样的策略进行数据不平衡处理。在此过程中,保留所有违约样本(或信用评级被下调的债券样本),并从正常样本(非违约样本)中随机抽取数量相等的子集,构成与违约样本平衡的训练集。通过这种方法,既平衡了数据集的类别分布,避免模型过于偏向多数类,又尽可能降低因欠采样而丢失关键信息的风险。在这个系列报告中我们将统一使用RandomUnderSampler将正常样本的数量删减至与信用风险样本一致。
特征选取
在寻找特征时,首先是能够直观体现企业资本结构及运营情况的各项财务指标。借鉴国内多家信用评级公司的评级逻辑,分别选取反映企业偿债能力、盈利能力、成长能力的多项财务比率,进行上市公司财务状况的评价。其次,考虑到信用债自身的特性,选取和债券性质相关的指标,包括债券余额、票面利率、剩余期限、最新主体评级。最后,根据退市新规的条款,纳入交易性退市相关的股票量价信息,包括累计成交量、平均收盘价、累计收益等。
特征选取前,训练集/测试集/验证集的违约数据分别有358/149/5条;训练集/测试集/验证集的非违约数据分别有660/711/684条。
剔除掉缺失值占数据集数量超过百分之三的因子之后,训练集/测试集/验证集的违约数据分别有328/128/4条;训练集/测试集/验证集的非违约数据分别有632/686/662条。
3
分类模型训练与测试
模型评估参数介绍
混淆矩阵(Confusion Matrix)是分类模型评估的一个重要工具,用于展示模型在各个类别上的预测结果与实际标签之间的差异。它通过四个基本值来描述模型的表现:真正例(TP),即预测为正类且实际为正类的样本;假正例(FP),即预测为正类但实际为负类的样本;真反例(TN),即预测为负类且实际为负类的样本;假反例(FN),即预测为负类但实际为正类的样本。混淆矩阵不仅可以帮助我们计算诸如精确度、召回率和F1分数等评价指标,还能直观地展示模型在不同类别上的分类效果,特别是在类别不平衡的情况下,提供比准确率更为全面的评估。
召回率,也叫真正率(True Positive Rate),是分类模型性能的一个重要指标,衡量模型正确预测正类样本的能力。其计算公式为:召回率 = 真正例 / (真正例 + 假反例)。召回率越高,说明模型能更多地识别出正类样本,适用于需要关注“漏检”问题的场景(如信用风险识别)。不过,召回率高也可能导致假阳性增加,因此通常需要与精确度(Precision)等其他指标一起综合评估。
ROC曲线是一种通过描绘不同决策阈值下分类器的性能来评估其表现的工具。在该曲线中,横轴表示假阳性率(FPR),纵轴表示真正率(TPR),也就是召回率。ROC曲线通常用于二分类问题,帮助观察分类器在各个阈值下的灵敏度与特异性。ROC曲线越靠近左上角,说明分类器的性能越好。
AUC指的是ROC曲线下的面积,它是一个综合性指标,用来量化分类模型的整体表现。AUC值的范围是0到1,越接近1表示模型的性能越好,越接近0则表示模型的性能较差。AUC的直观含义是“随机挑选一个正类和一个负类样本,模型将正类样本排在负类样本之前的概率”。当AUC为0.5时,表示模型的性能与随机猜测相当。
逻辑回归
以交叉验证确定LASSO 的正则化参数,拟合Logistic 回归模型,在测试集中以AUC 和召回率对模型进行评估。基于欠采样的随机性,进行100 次模拟,统计分析训练结果。AUC 基本保持在0.80-0.85之间,平均值0.83。选取其中一条ROC 曲线展示如下,对应AUC 值为0.80。召回率基本保持在0.42-0.52之间,平均召回率0.45。
随机森林
以交叉验证确定随机森林的参数,包括单颗决策树的最大深度以及抽取特征的最大数量,最终在测试集中以AUC 和召回率对模型进行评估。
随机森林算法本身即采用了bagging算法,理论上欠采样的随机抽取对结果影响不大,因此仅进行100 次模拟训练,统计分析训练结果。交叉验证所得最优参数分布如下,平均最大深度6,平均抽取特征数量2.79,约为总特征数44的6%。
AUC 基本保持在 0.9-0.92之间,平均值 0.91。选取其中一条 ROC 曲线展示如下,对应 AUC 值为 0.90。召回率保持在 0.76以上,平均召回率 0.84。
支持向量机
指定核函数为sigmoid,在测试集中以AUC 和召回率对模型进行评估。基于欠采样的随机性,进行 100 次模拟,统计分析训练结果。AUC 基本保持在0.84-0.88之间,平均值0.86。选取其中一条ROC 曲线展示如下,对应AUC 值为0.85。召回率基本保持在0.80-0.94之间,平均召回率0.88。
XGBoost
以交叉验证确定Xgboost的参数,包括最大深度、学习率和,最终在测试集中以AUC 和召回率对模型进行评估。基于欠采样的随机性,进行 100 次模拟,统计分析训练结果。AUC 基本保持在0.86-0.90之间,平均值0.88。选取其中一条ROC 曲线展示如下,对应AUC 值为0.87。召回率基本保持在0.60-0.75之间,平均召回率0.69。
LightGBM
以交叉验证确定LightGBM的参数,包括最大深度、学习率和,最终在测试集中以AUC 和召回率对模型进行评估。基于欠采样的随机性,进行 100 次模拟,统计分析训练结果。AUC 基本保持在0.86-0.90之间,平均值0.89。选取其中一条ROC 曲线展示如下,对应AUC 值为0.88。召回率基本保持在0.60-0.75之间,平均召回率0.69。
各类模型性能比较
鉴于支持向量机所使用训练集数据是经过统一量纲处理的(这是由于支持向量机必须要平衡所有特征的量纲,不然将导致模型依赖量纲最大的特征),而其他模型的训练集并没有做相同处理,接下来统一使用处理后的训练集,评估模型表现。
使用统一量纲处理后的训练集的各个模型的AUC都有所降低、召回率大幅提高,平均召回率提高超(金麒麟分析师)过10个百分点。考虑到违约数据并不完全是同一截面的,统一量纲的处理就会存在一定的未来函数问题。根据4个模型的情况来看,召回率的提高主要源于统一量纲的操作。为了避免未来函数的问题,我们将不再考虑支持向量机作为信用风险识别模型。
在剩余的四个模型中,随机森林不论是在AUC还是召回率上都具备明显的优势。因此,选择随机森林作为预测最新一期债券信用风险的模型。
特征重要性
特征重要性(Feature Importance)是指在机器学习模型中,各个特征对预测结果的贡献程度。通过评估特征的重要性,我们可以了解哪些特征在模型决策过程中起到了关键作用,哪些特征可能是冗余的或不重要的。特征重要性通常通过模型的训练过程计算得到,对于树模型(如决策树、随机森林、XGBoost等),它通常基于特征对信息增益、分裂节点的影响等进行评估。高重要性的特征意味着它们对模型的预测结果影响较大,低重要性的特征则可能不提供有价值的信息。特征重要性可以帮助我们优化模型、进行特征选择,甚至提升模型的可解释性。
计算随机森林模型中特征的平均重要性,排名前10的特征中有7个为对应上市公司财务指标,2个债券本体相关指标以及1个上市公司股票量价相关指标,前10名指标的合计占据58.92%的重要性。
4
最新截面债券信用风险预测
选取2024年11月1日至2024年12月20日的信用风险样本以及2024年第三季报截面的正常样本构成验证集,我们首先对比在最新一期截面发生的信用风险事件以及模型给出的预测概率情况。可以看到,对于已经产生的信用风险事件,随机森林均给出了相对准确的分类(预测概率均大于50%),并且调整概率均大于50%。
我们给出最新一期截面上预测信用风险调整概率超过50%的转债标的。包含已经产生信用风险的转债,共有11支。
风险提示
数据选取未使用全部数据,可能导致样本偏差;特征选取存在一定主观性;数据不平衡采样方法可能导致信息丢失;历史数据无法完全预测未来结果;模型存在失效可能性。
证券研究报告:
《上市公司债券信用风险识别模型》
对外发布时间:
2025年1月8日
报告发布机构:
长城证券(7.930, 0.07, 0.89%)股份有限公司(已获中国证监会许可(金麒麟分析师)的证券投资咨询业务资格)
本报告分析师:
汪毅 S1070512120003 yiw@cgws.com
丁皓晨 S1070524070001 dinghaochen@cgws.com
特别声明:
长城证券股份有限公司(以下简称长城证券)具备中国证监会批准的证券投资咨询业务资格。
研究报告是基于本公司认为可靠的已公开信息,但本公司不保证信息的准确性或完整性。研究报告所载的资料、工具、意见及推测只提供给客户作参考之用,并非作为或被视为出售或购买证券或其他投资标的的邀请或向他人作出邀请。在任何情况下,研究报告中的信息或所表述的意见并不构成对任何人的投资建议。在任何情况下,本公司不对任何人因使用研究报告中的任何内容所引致的任何损失负任何责任。
APP专享直播
热门推荐
特朗普:不在美国生产就要缴纳巨额关税 收起特朗普:不在美国生产就要缴纳巨额关税
- 2025年01月23日
- 22:24
- APP专享
- 记经典时刻
- 4,921
刘同柱:推动无偿献血向农村延伸
- 2025年01月23日
- 00:45
- APP专享
- 记经典时刻
- 3,421
“A股就差一把火”,林园说A股估值已很低,缺的是信心
- 2025年01月23日
- 07:47
- APP专享
- 我是山河君
- 1,665
24小时滚动播报最新的财经资讯和视频,更多粉丝福利扫描二维码关注(sinafinance)
投资研报 扫码订阅
股市直播
-
数字江恩今天 09:41:46
其实春节前的下周只有一个交易日,更多的问题都可以节后再说。只是从技术面来看,春节前后一个交易日都处于a3之内,无非是继续向上攻击还是横盘震荡消化,都不存在这种的下跌。至于其后如何,都可以节后再说,毕竟长假的影响也需要考虑。 -
数字江恩今天 09:41:39
将5分钟级别和15分钟级别的推论,画到30分钟图上。那么3674后跌破三角形红色轮谷线,其后3140第一次反弹难以直接站上红色轮谷线。这次反弹之后还会重新回踩蓄势,方才能再有大级别的上涨动能。【更多独家重磅股市观点请点击】 -
数字江恩今天 09:41:25
15分钟图来看,3140的反弹,在图上的3464-3418蓝色轮峰线是有压力的,哪怕最终略为突破轮峰线,也难以站稳。【更多独家重磅股市观点请点击】 -
数字江恩今天 09:41:10
5分钟图来看,a3依旧没有结束,这一点在春节前后一个交易日都不会改变。其后可以参照图上的红色轮谷线支撑,若红色轮谷线不跌破,则大盘的a3还会继续冲高3286-3336压力区间;反之,若站不稳红色轮谷线,则a3将在3200-3286之间反复震荡用时间消化应有的力度。无论哪一种情况,春节前后都没有真正的下跌。【更多独家重磅股市观点请点击】 -
数字江恩今天 09:40:54
板块来看,本周依旧是科技和机器人(sz300024)最强,前半周为硬件+机器人(sz300024)为主,而周四周五则是AI应用和算力这些细分为主。 -
数字江恩今天 09:40:48
A股两市今日成交4807 + 7413 = 12220 亿人民币,相对昨日缩量约1300亿。本周大盘略微缩量在3203-3273的70个点间震荡,向上攻击了5周均线,最后收盘在5周均线附近。目前5周线3254,10周线3303也是节前最后一个交易日的压力。 -
数字江恩今天 09:40:41
春节前后行情预判 -
波段擒龙今天 07:14:02
A股三大指数今日集体上涨,截至收盘,沪指涨0.70%,深成指涨1.15%,创业板指涨1.36%,北证50指数涨0.60%。全市场成交额12337亿元,较上日缩量1357亿元。全市场超3900只个股上涨。板块题材上,AI智能体、机器人(sz300024)、铜缆高速连接板块涨幅居前,白酒、房地产板块跌幅居前。 -
宋谈股经今天 07:10:38
1月24日收评:沪指缩量反弹涨0.7%,AI智能体概念集体爆发1、市场全天缩量反弹,创业板指领涨。AI智能体概念集体爆发,汉得信息(sz300170)、杰创智能(sz301248)、思特奇(sz300608)、新炬网络(sh605398)、南兴股份(sz002757)等多股封板。机器人(sz300024)概念股反复活跃,晋拓股份(sh603211)、中大力德(sz002896)、冀东装备(sz000856)、祥鑫科技(sz002965)等多股涨停。下跌方面,房地产板块走低,中交地产(sz000736)、荣盛发展(sz002146)跌停。个股涨多跌少,沪深京三市近4000股飘红,今日成交1.23万亿。截止收盘沪指涨0.7%,深成指涨1.15%,创业板指涨1.36%。2、板块概念方面,AI智能体、软件开发、机器人(sz300024)、铜高速连接等板块涨幅居前,房地产、多元金融、中药、油气等板块逆势下跌。3、两市共3783只个股上涨,73只个股涨停,1147只个股下跌,30只个股跌停,9只股票炸板,炸板率12%。 -
巨丰投资张翠霞今天 07:08:15
4小时运行结束,总结全天市场运行,1)除北交所外其余指数全部低开高走收光脚阳线,护盘+看好节后行情,且沪指收盘点位3256点下方,收一根周线假阴线,因节前只剩一个交易日,一天定周线,收涨概率较高,反包中阳概率较高,标准的反包修复组合K线;2)量能,沪深两市今日成交额12337亿元,较上个交易日13695亿元减少1358亿元;3)行业板块方面,以加权涨幅来看56家行业50家红盘,软件服务、互联网、通用机械等板块涨幅居前;供气供热、房地产、酿酒等板块跌幅居前;4)市场延续结构型行情,题材热点快速轮动。详细解盘,可关注《翠霞首席课》的“热点直击”和“操盘指南”~~~