基于XGBoost算法的信用债违约预测模型

来源:期刊VIP网所属分类:软件开发发布时间:2019-11-06浏览:

  摘要:本文首先對近年来我国信用债违约风险事件进行了统计分析,归纳出造成违约的四类风险,利用随机森林算法抽取了债券违约的重要特征;然后基于XGBoost算法建立了债券违约风险预测模型,利用主成分分析方法,再结合经济逻辑分析,提取出6个债券违约风险因子,并阐释了违约风险因子的作用机制。实证结果表明,本文所构建的违约预测模型对信用债违约的预测具有较高的准确性。

  关键词:XGBoost算法 信用债 违约风险 预测

算法论文投稿

  推荐阅读:声音识别算法论文发表投稿期刊

  随着我国债券市场不断发展,债券违约等风险事件也有所增多。如何找出债券违约的潜在诱发因素,据此防范诱发系统性风险显得至关重要。

  关于债券违约的主要研究成果及本文研究思路

  近年来,国外学者在债券违约相关方面进行了一定的理论与实证研究。Kay等(2014)用美国1866—2010年公司债券违约数据研究了债券市场危机的宏观经济影响因素;Azizpour、Giesecke和Schwenkler(2018)研究了美国公司债违约聚集的原因,发现违约传染是其中很重要的一个原因。随着2014年我国债券刚性兑付的打破,国内学者也开始研究债券违约问题。如曹萍(2015)基于经典的KMV模型研究了地方政府债券违约风险;黄小琳、朱松和陈关亭(2017)研究了债券违约对涉事信用评级机构的影响。然而,上述研究重点关注债券违约的事后分析,缺乏前瞻性。

  与此同时,国内外学者也运用多种模型进行信用债违约预测。如Ohlson(1980)首次提出逻辑回归预测违约概率;Lombardoa(2018)采用“多观测”和“多维”数据清理方法,将真实点对点交易数据输入现代机器学习算法LightGBM中进行计算,得到的结果对实际情况具有较好的拟合效果;胡蝶(2018)运用随机森林模型对债券违约进行分析,找出了6个重要特征(即筛选出来的变量)。吴世农和卢贤义(2001)选取21个财务指标为变量,进行判别分析、多元回归分析、Logistic回归分析,建立了三种财务困境模型;张双长和张旭(2017)研究了违约因素如何分解,发现按资金偿付来源划分,可分为内源性资金、外源性资金、协调性资金,债券能否按期兑付受经营状况、融资环境及非经济因子共同影响。

  现有研究对我国债券违约预测的成果不多,主要是因为债券违约事件近几年才相对较多出现,现有研究所采用的预测方法也相对简单。

  本文将按以下结构进行研究。一是简述债券违约现状,并对造成债券违约的风险源进行划分,基于这些风险源收集原始数据。二是介绍研究过程中将应用到的随机森林算法和XGBoost+LR1模型。三是报告实证过程及结果。实证过程为先用随机森林算法筛选出重要的变量,对其中的离散型变量运用频率表进行分析,对其中的连续型变量进行主成分分析。继而将这些重要变量输入到XGBoost算法中完成特征变换,再将特征变换后得到的新特征输入到LR模型中进行预测。然后对预测结果进行评价(见图1)。四是得出结论、提出建议。

  我国信用债违约现状与风险因素

  (一)债券违约现状

  根据数据库Wind的划分标准,本文所指违约事件包括信用债的本息展期、交叉违约、担保违约、技术性违约、提前到期未兑付、未按时兑付本金等情况。自2014年以来的统计数据显示,2018年违约事件相对较多(见图2)。

  笔者认为,受融资环境恶化、中美贸易战及金融监管趋严等因素叠加影响,国内外经济环境日益趋紧,融资渠道收窄,因此2018年信用债违约风险集中显现。

  (二)债券违约风险因素分析

  本文将从内外两个方面考虑债券违约原因。其中,内部原因主要与企业自身经营相关,包括公司治理、相关方支持、经营多元化等;外部原因与融资环境和政策相关,主要与公司增发债券的难易程度及公司再融资周转状况相关。

  根据光大证券关于信用债违约的研究报告(2018),发行主体经营状况表现不佳是债券违约的主要诱因,即在2018年之前,内因对信用债违约事件的解释力度较强。因此本文重点考虑违约的内部原因,梳理出四类主要内部风险因素:民企治理风险、国企治理风险、相关方支持风险和公司经营风险。

  表1中的风险因素均会对公司内部经营状况及财务状况产生影响,并进而影响外部因素,如银行授信额度、第三方担保额度,从而对发行主体外部筹资能力产生影响。同时,外部融资环境等因素也会对公司再融资难度产生影响,表现为银根缩紧时银行惜贷,进而对债券本息兑付产生影响。由此可知,导致债券违约的因素环环相扣。

  算法与模型介绍

  (一)利用随机森林算法进行降维

  原始数据所含变量多、维度高,为了去除冗余信息、提高效率,本文采用随机森林算法对数据集进行降维,过滤掉那些对债券违约几乎没有影响的变量。

  随机森林算法是一种基于Bagging算法的决策树集成学习算法,该算法基于信息增益2计算变量重要性程度,并进行排序,可以从原始特征中筛选出重要性排名靠前的变量。

  (二)利用XGBoost算法进行特征变换

  特征变换即通过线性或非线性的方式,将原变量变换成更加合适的新变量,变换后得到的新变量称为特征。特征变换的目的在于从原始变量中获取潜在的独立成分,从而提取隐含信息。

  本文利用XGBoost算法进行特征变换。该算法是一种基于Boosting算法的回归决策树集成学习算法,其预测精度高、稳定性好,对数据中的噪声、多重共线性等问题敏感度较低。该算法在目标函数中引入正则化(regularization)项,有着较好的泛化能力与拟合能力。通常,运用XGBoost算法进行特征变换的步骤如下。

  第一步,利用分布向前算法训练XGBoost。

  先构造 函数列,其中:

  通过优化目标函数来求解参数 :

  其中, 代表单棵决策树。

  在目标函数 中, 为一常数惩罚项。 为损失函数,代表预测的精确度。 为正则化项,式中前一项反映了树结构的复杂度, 为树结点数;后一项反映了权重整体的平滑程度, 为结点权重;J为常数, 、 为参数,体现了两项间的权衡。

  需要通过反复迭代构造函数 ,训练参数 ,直至训练好 。

  第二步,将数据集代入训练好的模型中。对每一个样本 ,XGBoost算法可以生成一系列叶子结点的值,以这一列值(向量)作为特征变换后的数据。如此得到特征变换后的数据集。

  (三)利用XGBoost+LR模型进行预测

  将特征变换后的数据集代入LR模型中,得到最终预测结果。

  LR数学模型为:

  其中,w、x分别表示系数和变量,P(Y=1︱x)表示违约率。

  XGBoost+LR嵌套结构如图3所示。将原数据输入到XGBoost算法,通过特征变换后产生一系列新的變量 ,即特征变换后的数据。再将这一系列新的变量输入到LR中,完成最终的预测。

  以上操作过程相当于对原信息进行分解再组合。这既弥补了XGBoost这类提升树算法低估类别型变量重要性的弱点,也实现了自动提取特征的功能。

  实证研究过程

  (一)数据描述与预处理

  根据风险因素分析结果,本文筛选出43个或有潜在影响变量,部分变量如表2所示。同时,选择在2013年到2018年10月22日期间到期的债券,共25907个样本,其中90个样本违约,占总样本的比例为0.347%。每个样本均有43个变量。

  为缓解样本中违约与非违约数据极度不平衡的问题,对原始数据集中非违约债券进行欠采样,对违约债券进行重复采样,并按均值填补数值型变量中的缺失值,按原概率填补类别型变量中的缺失值,对类别型变量进行one-hot编码。

  (二)利用随机森林算法抽取重要特征,并提取债券违约因子

  利用随机森林算法计算各变量的重要性得分。以0.0075为标准,去掉低于该标准的变量——这意味着该变量对判断债券是否违约所能提供的信息甚微,将其余变量选入重要特征集中。将随机森林算法输出的重要特征集分成两部分——数值型和类别型,分别进行债券违约因子挖掘。

  1.对数值型特征的处理

  对数值型特征进行主成分分析,生成碎石图(见图4)及主成分结构表(见表2)。图表数据显示,所选取的前4个主成分加总几乎能够解释100%的信息。

  主成分结构表显示了变量对于主要因子的解释力度。表2显示,第一主成分受应收账款周转天数和营业周期影响较大。应收账款周转天数和营业周期体现了公司获取现金流的能力,因此本文将第一主成分命名为“周转能力因子”。第二、第三主成分相结合,衡量公司的筹资能力、投资盈利能力,因此本文将第二、第三主成分分别命名为“筹资活动现金流量因子”与“投资活动现金流量因子”。第四主成分受经营活动产生的现金流量影响大,因此将其命名为“经营活动现金流量因子”。

  整体来看,可以认为在公司层面上,现金周转能力、投资盈利能力、筹资能力、公司主营业务盈利能力这几项,都与债券是否违约有很强的关系,其分别对应周转能力因子、投资活动现金流量因子、筹资活动现金流量因子和经营活动现金流量因子。

  2.对类别型特征的处理

  关于类别型特征,主要考察6个特征重要性得分大于0.0075的变量,如图5所示。继而通过频数统计,结合其经济金融逻辑进行分析。

  图5 特征重要性得分

  

 

  (编辑注:横坐标下的文字“债券年份”“评级机构”“大股东类型”“是否含权债券”分别改为“债券存续期间”“债项评级”“第一大股东类型”“是否为含权债券”)

  从图5可见,省份、债券存续期间、所属行业这三个特征对债券违约的影响较大。其背后逻辑在于省份、债券存续期间、所属行业等因素体现了宏观经济形势与行业景气度,这些变量作为外部因素或宏观因素,直接影响公司的经营情况。

  债项评级也有着重要的影响。总体上而言,机构对债券的评级能够较为有效地区分出违约风险较大的债券。

  从Wind的中债债券一级分类、第一大股东类型来看,这两项对债券是否违约也有显著影响,具体如表3、表4所示。从违约概率来看,第一大股东为外资企业、个人的债券出现了更多的违约案例,或许是因为这两类债券在政府救助方面得到的支持较少。

期刊VIP网,您身边的高端学术顾问

文章名称: 基于XGBoost算法的信用债违约预测模型

文章地址: http://www.qikanvip.com/ruanjiankaifa/49247.html