標籤:

信用風險實操分析——逾期貸款遷移率

開始前:距離GARP協會發來的二級通過函也過去2個多月了,我貌似不是在黑魂3就是在巫師3(捂臉)......

最近的節奏就是:

3月1日:XBOX。

3月2日:XBOX。

3月3日:綠洲啊綠洲,你怎能如此墮落,明天開始一定要寫回測了。

3月4日:XBOX。

CDPR把遊戲做的那麼好不能怪我啊!

言歸正傳。

今年的一個計劃就是把FRM的技術落地到實際應用當中。

(筆者目前就職於一家商業銀行,職責為互聯網金融風險管理)

逾期貸款遷移率是指本期逾期貸款在某一時間段後仍逾期的比率。逾期貸款遷移率涉及到銀行資產質量,在此需要明確兩個概念:逾期率與不良率。逾期率是指貸款沒有按時歸還的比率,不良率是指銀行確定無法回收貸款的比率。不良率如何判定是由各個銀行自身進行判斷,一般而言逾期時間較長的貸款轉化為不良的可能性往往較大,因此逾期貸款遷移率一個較大的意義就是不良規模的判斷。從大的層面來說,準確的不良規模估算是屬於巴塞爾協議中AMA高級計量法的範疇,準確的風險計量方法意味著銀行需要撥備的準備金也會較為準(pian)確(di)。從業務實操方面來說,逾期貸款遷移率可以讓資產質量更透明,也意味著定價更準確,對ABS的發行和利潤收入的預測也能有幫助。

逾期貸款遷移率的計算公式:(上期逾期-上期逾期歸還)/上期逾期。實際情況下,銀行的當期逾期往往包括兩個部分:上期逾期與新增逾期。上期逾期又可以分為上上期逾期與上期新增,在不轉入呆賬的情況下,可以無限地回溯......結構圖如下:

(渣作圖)

可以看到Day5中的逾期貸款總數雖然為5筆,但其實從Day1開始已經陸續歸還了4筆,剩下的一筆才是我們的存量逾期。5天的逾期遷移率也就是1/5 =20%。當然這只是簡單的舉個例子,實際情況要複雜得多。首先,銀行的逾期貸款數量往往是數以萬筆計的,單純從量上就存在巨大的工作量;其次,客戶可以部分歸還逾期貸款,在統計口徑上必須以逾期客戶貸款餘額為準,更別提每日計提罰息的計算了;第三,時間段跨越的不同,會展示出各種不同轉化率,此外,每天計算轉化率,觀察遷移率的均值、最小值、最大值和變動,都是對風險分析有積極作用的。

總的來說,逾期貸款遷移率雖然計算起來較為複雜,但在風險管理過程中是一個較為有意義的指標。除去客戶轉化為不良的概率可以作為風險指標外,也是另一種利潤來源的估算。因為從任何一個放貸者的角度來看,如果成功得使一個客戶在逾期後還款,可以追回除了正常利息外的一筆罰息,這筆罰息可以是基礎利息的1.5倍,對於現金貸的機構可能會超過36%的紅線,但是對銀行利率來說遠遠在安全線上。當然在全面風險管理的角度來看,一般管這個叫做right-way risk,有機會可以再寫一篇文章。筆者統計的數據中,逾期貸款在2個月內歸還的概率高達70%以上,這就說明了這逾期貸款的確還是存在很大追回比例的。

你以為這樣就結束了?

現在才開始正戲!

我還記得我關注的一個大佬在寫了一段時間的JAVA技術文章之後突然轉型開始寫衍生品交易,他的粉絲們一臉懵逼......所以你以為我是一個寫金融理論寫完就完事的人嗎?現在開始我就要手把手地給大家展示我是怎麼在實際業務中算逾期遷移率的。

首先自然是先導入逾期數據.

import pandas as pddata1 = pd.read_excel(dir/data1.xls)data2 = pd.read_excel(dir/data2.xls)

我這邊取到的數據是每日逾期的客戶數,包括客戶逾期金額、對應的借據及客戶賬戶、名稱等信息,需要注意的是逾期客戶數據是存量逾期,客戶類型主要是個人客戶。data1對應是第一個工作日的逾期數據,data2對應的是第n個工作日後的逾期數據。

a = []for i in range(0,len(data1)): if len(data2[data2.loan_paper == data1.loan_paper[i]]) + len(data2[data2.amount_remian == data1.amount_remian[i]]) == 0: a.append(i)print(a)

然後用一個for循環提比較data1與data2中的數據。

代碼寫的比較隨意,當data1中的loan_paper(合同號)以及amout_remain(逾期金額)同時無法在data2中取到時,認為該客戶已經還清逾期,記錄index。

data_remain = data1.drop(a)data_remain.reindex(range(0,n,1))

未結清客戶data_remain即data1中的所有客戶刪去結清客戶,並重置索引。

貸款遷移率即:

data_remain.amount_remain.sum()/data1.amount_remain.sum()

寫個def後,直接調用。

根據時間段不同,對T與T+5的數據計算並畫圖:

可以看到T+5的數據並不是很穩定,有一個星期就沒什麼人還。

還是根據時間段,對T到T+5n的數據計算並畫圖:

可以看到逾期貸款遷移率一直在穩定下降中。當中有部分天數沒有客戶還款,而罰息一直在漲,出現了遷移率上升的情況,比較尷尬。但是最終遷移率會固定在某一數值,而那個數值可以被認定為最終轉化為不良貸款的比例,轉化到那個天數的日期會被認為是處理不良的一個時間點,一般是60-80天左右,參照現有的一般互金平台90(M3)天左右算入不良的日期,可以說也是比較吻合的。

最後我們再來推公式。

細心的讀者可能已經發現了,逾期貸款遷移率到了最後其實已經可以認定為逾期損失率(Loss Given Default)了。Credit Risk三大要素:PD(違約率),EAD(風險敞口),LGD。LGD已經在我們計算的過程中出現了,而PD*EAD其實就是在data1中違約貸款總額,所以ECL(期望信用損失) :

PD*EAD*LGD=data1.loan.sum()*LGD

也就是說,當我們多次取得逾期貸款遷移率並求平均值的時候,我們可以計算出實際貸款最終的一個損失數字。當然這個數字並不是最後數字,因為我們還沒有把罰息部分的right-way risk減去。假設逾期部分貸款是線性減少的,且逾期為普通利息的1.5倍,則可以計算逾期部分的罰息收入為:

(1-LGD)*0.5*R*1/2*m3*data1.loan.sum()/365

金額比較少,但是對於某些業務場景來說卻是純利潤收入。

逾期貸款遷移率是個非常地味的東西,寫完代碼就可以每天看一看數字......但這些數字卻真真切切地反映了貸款的質量。有的時候覺得風險管理這個工作也應該是一份腳踏實地的工作,並非有了高大上的模型就可以目空一切,畢竟所有的模型都是建立在業務的基礎上的。

胡言亂語一通,我也不多寫了,不說了,我要去傳火了~


推薦閱讀:

你以為風控很重要?只是一種自我安慰罷了
準備跨境支付風險管理的專欄
一劍斬破!一個問題識破資產證券化的風險本質
與信貸相關的數字魔咒

TAG:風險管理 |