尹濤YIN Tao;李秋敏LI Qiu-min
(成都信息工程大學,成都 610100)
債券違約指發行債券的企業在約定期限內不能向債券的持有者還本付息的情況。2014年第一起債券違約事件發生以來,我國債券違約事件日漸增多。2018年債券市場發生違約的債券有160只,涉及違約的企業有44家,違約金額更是高達1505.25億元。截止到2021年2月,發生違約的債券總數達737只,違約債券的發行總額高達6826.37億元。債券違約的直接后果就是投資人的利益將會受損。因此,在債券違約事件逐漸常態化的情況下,如何對發債企業的違約風險進行評估與預測,成為當下面臨的重要問題。
目前,國內學者對債券違約的研究分為理論方面和模型方面。理論方面,李陽藍(2017)以東北特鋼為例,認為影響債券違約的因素有以下幾個方面:融資渠道與短貸長投、償債能力以及營運能力。劉軼軍(2018)從行業發展、公司經營、財務等方面歸納影響債券違約的因素。苗霞(2018)從文獻的視角歸納影響債券違約的因素,分別是宏觀經濟特征、行業特征、企業特征以及制度環境。
模型方面,楊世偉和李錦成(2015)基于KMV、PMF以及probit模型研究了公司債、企業債、私募債的違約概率。姚紅宇與施展(2018)利用時間風險模型來研究公司特征、地方環境指標和財務指標三個因素對債券違約的影響。程昊等(2020)分析了債券違約的內外部因素,然后基于分析結果,使用Logistic模型建立了違約預測模型。
隨著機器學習技術的發展,將機器學習算法應用到債券違約預測方面也成為了許多學者研究的方向。胡蝶(2018)運用債券違約歸因后的一系列特征,構建了基于隨機森林算法的債券違約預測模型。周榮喜等(2019)通過隨機森林算法進行特征選擇,然后運用選擇的特征以及XGBoost算法構建了債券違約預測模型。張辰雨等(2021)運用財務指標數據,構建了基于支持向量機的債券違約模型。Zhang and Chen(2021)基于SMOTE算法和XGBoost算法構建了債券違約預測模型。
通過梳理文獻,發現財務特征是影響債券違約的一個重要特征,并且機器學習算法在債券違約方面也取得了一定的研究成果。因此,本文將基于以往研究,以AIWIN平臺的發債企業的財務數據為以及債券違約數據為研究對象,研究機器學習算法在債券違約預測方面的應用。首先,基于財務數據和違約數據進行標簽構造以及缺失值處理,然后使用方差選擇法和互信息法篩選出有效的特征,接著劃分訓練集和測試集,并采用SMOTE算法和Tomek Links算法結合的方法對訓練集進行平衡處理,最后構建基于隨機森林的債券違約預測模型,并將其與邏輯回歸、決策樹構建的債券違約預測模型進行性能上的對比。
隨機森林算法屬于Bagging算法的擴展之一,它是以決策樹模型為基學習器,通過構建多棵決策樹的組合模型。為了構建多樣化的決策樹,隨機森林算法在模型訓練過程中,引入隨機屬性。隨機分為兩重隨機:第一重隨機是數據采樣的隨機,第二重隨機是特征的隨機抽取,即每棵決策樹隨機抽取部分特征來進行訓練。對于回歸問題采用平均法來決定最終結果,對于分類問題則采用投票法來決定最終結果。
SMOTE算法的基本思路是通過合成少數類的樣本,從而使兩類樣本在數量上達到平衡。算法的具體流程如下:
①以歐式距離為標準,計算少數類中的每一個樣本x到所有的少數類樣本的距離,得到其k個近鄰樣本。
②對于每一個少數樣本x,從其k近鄰中選擇若干個樣本,假設近鄰為xm。
③對于每一個xm,與原樣本按照如下公式構造新的樣本。
式中,rand(0,1)表示取(0,1)之間的一個隨機數。合成樣本的示意圖如圖1所示。
圖1 SMOTE算法的原理圖
Tomek Links算法的基本思路如下:兩個樣本假設為x和y,分別來自不同的類別,如果不存在一個樣本z,使得樣本x和樣本z的歐氏距離或者樣本y和樣本z的歐氏距離小于樣本x和樣本y的歐氏距離,則兩個樣本x和y被稱為Tomek Links。如圖2所示。這種情況下,兩個樣本被認為是噪聲數據或者在邊界附近。該算法通過剔除Tomek Links從而實現欠采樣的目的。
圖2 Tomek Links
本文以AIWIN平臺的數據作為研究對象,選取了部分企業的2018-2019年的財務數據集以及2019-2020年的違約記錄數據集。財務數據集的指標主要有企業id,企業發布財務報表的日期以及企業的財務指標,違約記錄數據集的指標是企業id以及發生債券違約的日期。
通過觀察數據發現某些企業在一年里發生多次違約,這部分企業只保留一次違約記錄,然后將處理后的違約數據集的企業全部標記為1,表示發生了債券違約行為。在企業違約前,財務信息往往會提前表現出一些狀況,因此將2018、2019年的財務指標數據集分別和2019、2020年的違約記錄數據集作拼接處理,處理后未標記的企業則標記為0,表示沒有發生違約行為。
將數據集進行拼接處理后,發現大量特征存在缺失值,缺失率高達百分之二十多。常見的處理缺失值的方法有以下幾種:一是直接刪除含有缺失值的樣本,二是用均值、中值,或者其他最常用的數值來填補缺失值。由于缺失率過高,采用填補缺失值的方法會引入大量噪聲,因此本文直接刪除所有具有缺失值的行。
經過以上處理后,樣本的分布情況大致如下。其中發生違約的記錄大約有115條,沒有違約的記錄大概有13000條。很明顯這是一個極度不平衡的樣本,需要做平衡處理。
由于原始特征個數明顯較多,有162個,因此需要進行特征選擇,目的是篩選出與債券違約狀況最相關的變量,便于后續的模型輸入。
本文先使用方差選擇法來篩選方差比較小的特征,然后使用互信息法來選擇22個與債券違約狀況最相關的變量。
方差選擇法是通過特征本身的方差來進行特征篩選。比如,某個特征的方差很小,說明各個樣本再去該特征上的值幾乎沒有差異,可能大多數樣本的取值都一樣甚至完全相同,那么該特征對于樣本區分來說,幾乎沒有任何作用。
互信息是用來度量兩個隨機變量共享的信息,即在隨機變量X已知的情況下,對于未知的隨機變量Y的不確定性減少的程度,不確定性是用熵來衡量的。互信息的公式如下:
在特征選擇中,互信息衡量了特征與標簽之間相互依賴的程度,互信息值越大,依賴程度越高,特征與標簽之間的相關性也就越強。篩選后的特征如表1所示。
表1 變量名稱及描述
由于原始數據只有一份,因此有必要將數據集劃分為訓練集和測試集。如果將數據全部用于訓練模型,得到的模型將沒有任何實際意義。訓練模型的最終目的是用于預測新的樣本,只有當訓練的模型在新樣本上也有極高的精確度,即預測效果很好時,訓練的模型才能應用于實際業務。本 文 采 用sklearn庫 中model_selection下 的train_test_split方法,將70%的樣本用于訓練模型,30%的樣本用于測試模型的預測效果。
不平衡的樣本會嚴重影響模型的精確度。比如說,在研究債券違約的問題時,假設不違約的企業數量與違約的企業數量比例達到了99:1,在這種情況下,即使把所有企業都當成不違約的企業,正確率也有99%,這樣就會使得模型評價變得毫無意義,無法達到建模目的——識別出違約的企業。
因此,做樣本平衡是有必要的。樣本平衡處理的常用方法有過采樣和欠采樣。過采樣方法是通過增加少數類樣本,從而使兩類樣本在數量上達到平衡,但是簡單的復制少數類樣本,容易使模型過擬合,模型泛化能力減弱。欠采樣方法是通過減少多數類樣本,從而使兩類樣本在數量上達到平衡,但是下采樣方法會使大部分樣本流失,在此條件下建立的模型很容易欠擬合,同樣會使模型的泛化能力減弱。
基于此,本文采用SMOTE算法結合Tomek Links算法的方法來對訓練集進行平衡處理。首先通過SMOTE算法合成新的少數類訓練樣本,由于在合成新的少數類訓練樣本時,容易出現少數類訓練樣本“入侵”多數類訓練樣本的情況,造成模型的過擬合,因此還要采用Tomek Links算法剔除噪聲數據,解決少數類訓練樣本“入侵”多數類訓練樣本的問題。
評價指標選取AUC、準確率這兩個指標。AUC的值等于ROC曲線下的面積,ROC曲線是以FPR為橫軸,TPR為縱軸的曲線。其中,FPR指假正例率,即真實樣本為負例,預測結果為正例的樣本所占的比例;TPR指真正例率,即真實樣本為正例,預測結果為正例的樣本所占的比例。準確率表示當樣本預測為正類時,真實結果為正類的樣本所占的比例。
本文使用隨機森林算法預測違約狀態,然后使用AUC和準確率兩個值來評價其預測性能,并對比了邏輯回歸、決策樹算法在該數據集上的預測性能,結果如表2所示。從準確率來看模型的預測效果,隨機森林的預測效果最好,準確率為98.32%,決策樹的預測效果稍次,準確率為96.95%,邏輯回歸的預測效果最差,準確率僅有73.28%;從AUC來看模型的預測效果,隨機森林的預測效果最好,AUC為89.96%,邏輯回歸和決策樹的預測效果相差不大,AUC分別為71.72%和70.41%。綜合對比兩個指標,可以得出結論隨機森林的預測效果優于邏輯回歸和決策樹的預測效果。
表2 評價結果對比
本文基于財務數據構建了隨機森林分類模型,對發債企業是否會發生債券違約進行了預測,并將其與邏輯回歸、決策樹構建的模型做了一個預測性能上的對比。考慮到樣本極度不平衡以及初始特征比較多的情況,使用了方差選擇法與互信息法篩選出了與債券違約最相關的部分特征,并且通過SMOTE和Tomek Links結合的方法對樣本做了平衡處理。結果顯示,在模型評價方面,基于隨機森林構建的模型相比于邏輯回歸、決策樹構建的模型,AUC、準確率這兩個指標的值都更高,表明隨機森林算法在債券違約預測上的效果是比較良好的,對于債券違約預測的相關研究具有一定的參考價值。
本文構建的模型仍存在一些不足。正如前面文獻梳理中提到的,宏觀經濟特征、行業特征、企業特征以及制度環境這幾類特征都能作為影響債券違約影響的因素,而本文僅僅依靠財務特征來構建債券違約預測模型,存在一定的不足。如何將這幾類特征納入模型指標,可以成為未來研究的一個重點。