Credit Risk+模型1

本文描述的是CreditRisk+模型闲先,該模型是一個信用風(fēng)險模型含蓉,根據(jù)銀行自身的違約率平均值乏冀,結(jié)合回收率和風(fēng)險暴露间校,得到所有債務(wù)人的資產(chǎn)組合的預(yù)期違約損失分布生百。該分布可以給銀行做參考揍魂,準備相應(yīng)的年度信用準備金物独。

目錄

1.CreditRisk+模型簡介:主要說明CreditRisk+模型是什么重荠,該模型需要的假設(shè)以及大概的計算流程栋豫。
2.計算過程:主要說明Z計分模型里的特征含義挤安,以及Z值的用途。
3.用到的python庫及其方法:主要說明導(dǎo)入的庫的用途以及使用方法
4.模型演示:給出數(shù)據(jù)丧鸯,看一下Python代碼是如何實現(xiàn)的蛤铜,并分析結(jié)果。
5.總結(jié):總結(jié)該模型的優(yōu)缺點丛肢。

1围肥、CreditRisk+模型簡介

在財產(chǎn)保險精算思想和方法的啟發(fā)下,瑞士信貸銀行金融產(chǎn)品部開發(fā)出了基于財險精算方法的違約模型蜂怎,記為CreditRisk+模型穆刻。

該模型只考慮違約或不違約兩種狀態(tài),同時假定違約率是隨機的杠步,并以此為前提度量預(yù)期損失氢伟、未預(yù)期損失及其變化,所以CreditRisk+模型是一個違約模型幽歼。

定義
CreditRisk+模型僅僅考慮了違約風(fēng)險朵锣,而沒有考慮信用等級降級風(fēng)險,屬于信用違約風(fēng)險度量模型试躏。利用CreditRisk+模型可以得到貸款組合損失的概率分布猪勇。

模型假設(shè)
(1)每筆貸款在給定期間內(nèi)違約率不變
(2)每個借款人的違約率非常小颠蕴,且違約數(shù)相互獨立泣刹。
所以違約事件發(fā)生的概率分布服從泊松分布助析。

流程
(1)先用貸款組合中最大一筆風(fēng)險暴露值與風(fēng)險暴露頻段值L相除并四舍五入為整數(shù)得到風(fēng)險暴露頻段總級數(shù)m
(2)然后將每筆貸款的風(fēng)險暴露數(shù)除以L四舍五入為整數(shù)將其歸類到該整數(shù)對應(yīng)的頻段級椅您,即將所有貸款分類在m個頻段級里外冀;
(3)再計算每個頻段級的貸款違約數(shù)量的概率分布和違約損失的概率分布(貸款違約數(shù)服從泊松分布,違約損失=違約數(shù)量*平均風(fēng)險暴露)掀泳;
(4)最后計算貸款組合的違約損失的概率分布(相同的組合損失金額可能對應(yīng)多種損失組合雪隧,所以要加總概率)

2、計算過程

2.1员舵、模型所需特征

輸入:貸款組合的風(fēng)險暴露脑沿,風(fēng)險暴露頻段值L
中間:風(fēng)險暴露頻段級數(shù)m,各個頻段級的貸款違約數(shù)量的概率分布和違約損失的概率分布
輸出:貸款組合的違約損失的概率分布

2.2马僻、計算過程

所需特征已經(jīng)給出庄拇,那么接下來就是說明這些特征的處理或計算的過程了,這些過程主要分三步

2.2.1 第一步:風(fēng)險暴露頻段分級法

我們以N筆貸款構(gòu)成的組合為例韭邓,具體介紹頻段分級法:

(1)先根據(jù)所有貸款的風(fēng)險暴露情況設(shè)定風(fēng)險暴露頻段值措近,記為L,例如可以取L=2萬元作為一個頻段值女淑。

(2)用N筆貸款中最大一筆貸款風(fēng)險暴露值除以頻段值L瞭郑,將計算數(shù)值按照四舍五入湊成整數(shù),稱之為風(fēng)險暴露的頻段總級數(shù)鸭你,設(shè)為m屈张,于是,就得到m個風(fēng)險暴露頻段級袱巨,以此為v1袜茧、v2、…瓣窄、vm笛厦,vi所對應(yīng)的風(fēng)險暴露量為Li。

(3)將每筆貸款的風(fēng)險暴露量除以頻段值L俺夕,再按照四舍五入的規(guī)則將計算數(shù)值湊成整數(shù)裳凸,然后將該筆貸款歸類到該整數(shù)值歲對應(yīng)的頻段值,類似地劝贸,可將所有貸款歸類姨谷。

2.2.2 第二步:各個頻段級的違約概率和損失分布

假設(shè)處于vi頻段級的貸款的平均違約數(shù)為λi,同時設(shè)將N筆貸款劃級歸類后處于vi頻段級的貸款數(shù)目為Ni映九,顯然梦湘,N1 + N2 + … + Nm = N于是,可得:

圖2.2.2

其中,Li = L × i 為vi頻段級對應(yīng)的風(fēng)險暴露數(shù)捌议,L為頻段值哼拔。于是,我們可以得到處于vi頻段級的違約概率分布及其對應(yīng)的損失分布瓣颅。

2.2.3 第三步:N筆貸款組合的違約概率和損失分布

求出各個頻段級的貸款違約概率和預(yù)期損失后倦逐,要加總共m個風(fēng)險暴露頻段級的損失,以得到N筆貸款組合的損失分布宫补。

(1)首先要考慮各種預(yù)期損失可能的結(jié)合來計算概率檬姥。
假設(shè)N筆貸款中處于vi頻段級的違約數(shù)為ni,這樣得到一個依次對應(yīng)于m個頻段級的違約組合(n1粉怕,n2健民,…,nm)贫贝,于是荞雏,根據(jù) Li = L × i 可計算出該違約組合對應(yīng)的風(fēng)險暴露量為:

圖 2.2.3.1

(2)根據(jù)貸款違約事件的獨立性假設(shè)和泊松分布假設(shè),得到對應(yīng)于違約組合(n1平酿,n2,…悦陋,nm)的N筆貸款組合的違約概率為:

圖 2.2.3.2

(3)我們用G表示滿足的所有不同組合的違約組合(n1蜈彼,n2,…俺驶,nm)的集合幸逆,即:

圖 2.2.3.3

則N筆貸款組合的風(fēng)險暴露或違約損失=nL的概率及其對應(yīng)的預(yù)期損失分別為:

圖 2.2.3.4

其中,n = 1暮现,2还绘,…,于是栖袋,通過上式就可以得到N筆貸款組合的違約概率和損失分布拍顷。

3、用到的python庫及其方法

這里用到了兩個庫塘幅,分別是scipy和numpy昔案。

3.1、scipy

scipy庫建立在Numpy庫之上电媳,提供了大量科學(xué)算法踏揣,主要包括這些主題:
*特殊函數(shù)(scipy.special)
*積分(scipy.integrate)
*最優(yōu)化(scipy.optimize)
*插值(scipy.interpolate)
*傅立葉變換(scipy.fftpack)
*信號處理(scipy.signal)
*線性代數(shù)(scipy.linalg)
稀疏特征值(scipy.sparse)
統(tǒng)計(scipy.stats)
多維圖像處理(scipy.ndimage)
文件IO(scipy.io)
CreditRisk+模型引入第三方科學(xué)計算庫模塊scipy.stats,使用
poisson(λ)
計算泊松分布的概率質(zhì)量函數(shù):

用法如下:

importscipy.statsasst
po=st.poisson(1)
[po.pmf(i)foriinrange(5)]#pmf:probabilitymassfunction匾乓,概率質(zhì)量函數(shù)

Output:
[0.36787944117144233,
0.36787944117144233,
0.18393972058572114,
0.061313240195240391,
0.015328310048810101]

3.2捞稿、numpy

使用NumPy可以執(zhí)行以下操作:
(1)數(shù)組的算數(shù)和邏輯運算。
(2)傅立葉變換和用于圖形操作的例程。
(3)與線性代數(shù)有關(guān)的操作娱局。NumPy擁有線性代數(shù)和隨機數(shù)生成的內(nèi)置函數(shù)彰亥。
這里使用了數(shù)組有關(guān)的操作。

4铃辖、模型演示

考察一家銀行6筆貸款的情況剩愧,如下圖,假設(shè)風(fēng)險暴露頻段值選定為L = 5萬人民幣娇斩,—個信貸組合中一年內(nèi)發(fā)生1個違約事件仁卷,即 λ = 1

代碼和計算過程一樣分為3個部分:
第一部分為將6筆貸款除以風(fēng)險暴露頻段值,將貸款分成兩類犬第,輸出字典變量label锦积。
第二部分是計算各個頻段級的違約概率和損失分布,輸出的每一列對應(yīng)每個頻段級的概率分布arr歉嗓。
第三部分計算更多了丰介,先是計算各個違約損失組合的違約概率,然后整理成一個數(shù)組對象并計算出概率分布鉴分。最后得出未來一年內(nèi)的預(yù)期損失期望哮幢,變量為E_loss。

代碼如下志珍,代碼里用到的重要變量都有注釋:

import numpy as np
import scipy.stats as st
money = [5,4,8,9,10,3]
L = 5

labelnum = round(max(money) / L)  # 風(fēng)險暴露總級數(shù)
label = {}  # 頻段級及對應(yīng)的貸款貸款金額
for i in money:
    for j in range(1, labelnum+1):
        if round(i / L) == j:
            if j not in label.keys():
                label[j] = [i]
            else:
                label[j].append(i)
label

Output:{1: [5, 4, 3], 2: [8, 9, 10]}

—————————————————————————————————

arr = np.zeros((len(label[1])+1,labelnum))# 各個頻段級對應(yīng)的違約數(shù)的概率分布
# λ=1
rv = st.poisson(1)
for i in range(arr.shape[0]):
    for j in range(arr.shape[1]):
        arr[i][j] = round(rv.pmf(i), 4)
arr

Output:array([[ 0.3679,  0.3679],
       [ 0.3679,  0.3679],
       [ 0.1839,  0.1839],
       [ 0.0613,  0.0613]])

—————————————————————————————————

pro = np.zeros((arr.shape[0], arr.shape[0])) # 聯(lián)合違約概率
loss = np.zeros((arr.shape[0], arr.shape[0])) # 違約總損失
for i in range(pro.shape[0]):
    for j in range(pro.shape[1]):
        loss[i, j] = i * L + j * 2* L
        pro[i, j] = round(arr[i, 0] * arr[j, 1], 4)
pro

Output:array([[ 0.1354,  0.1354,  0.0677,  0.0226],
       [ 0.1354,  0.1354,  0.0677,  0.0226],
       [ 0.0677,  0.0677,  0.0338,  0.0113],
       [ 0.0226,  0.0226,  0.0113,  0.0038]])

loss

Output:array([[  0.,  10.,  20.,  30.],
       [  5.,  15.,  25.,  35.],
       [ 10.,  20.,  30.,  40.],
       [ 15.,  25.,  35.,  45.]])

—————————————————————————————————

arr2 = {} # 整理之后的貸款違約損失的概率分布
for i in range(pro.shape[0]):
    for j in range(pro.shape[1]):
        if loss[i, j] not in arr2.keys():
            arr2[loss[i, j]] = pro[i, j]
        else:
            arr2[loss[i, j]] = round((arr2[loss[i, j]] + pro[i, j]), 4)
arr2 = sorted(arr2.items(), key=lambda x: x[0])
arr2 = dict(arr2)
arr2

Output:{0.0: 0.13539999999999999,
 5.0: 0.13539999999999999,
 10.0: 0.2031,
 15.0: 0.158,
 20.0: 0.13539999999999999,
 25.0: 0.090300000000000005,
 30.0: 0.056399999999999999,
 35.0: 0.0339,
 40.0: 0.011299999999999999,
 45.0: 0.0038}

—————————————————————————————————
“”“
繪制圖像
”“”
plt.rcParams['font.sans-serif'] = ["SimHei"]
plt.rcParams["axes.unicode_minus"] = False

x_list = list(range(0,10,1))
height_list = list(accu_pro.values())
rects1 = plt.bar(x=x_list, height=height_list, width=0.5, alpha=0.8, color='red', linewidth=2)
# 設(shè)置x軸坐標點顯示
tick_labels = list(accu_pro.keys())
tick_pos = x_list
plt.xticks(tick_pos, tick_labels)
plt.title("資產(chǎn)組合的預(yù)期違約損失分布", size=16)
plt.xlabel("期望損失金額", size=14)
plt.ylabel("不違約概率", size=14)

for a,b in zip(x_list,height_list):
    plt.text(a, b+0.02, '%.4f' % b, ha='center', va= 'bottom',fontsize=10)
    

plt.show()

—————————————————————————————————

accu_pro = {} # 累積概率密度
for j in range(len(arr2)):
    sum = 0
    for i in range(j+1):
        sum = sum + list(arr2.values())[i]
    accu_pro[list(arr2.keys())[j]] = sum 
accu_pro = sorted(accu_pro.items(), key=lambda x: x[0])
accu_pro = dict(accu_pro)
accu_pro

Output:{0.0: 0.13539999999999999,
 5.0: 0.27079999999999999,
 10.0: 0.47389999999999999,
 15.0: 0.63190000000000002,
 20.0: 0.76729999999999998,
 25.0: 0.85760000000000003,
 30.0: 0.91400000000000003,
 35.0: 0.94790000000000008,
 40.0: 0.95920000000000005,
 45.0: 0.96300000000000008}

—————————————————————————————————

E_loss = [i*j for i,j in arr2.items()] # 期望損失
E_loss  

Output:[0.0,
 0.67699999999999994,
 2.0310000000000001,
 2.3700000000000001,
 2.7079999999999997,
 2.2575000000000003,
 1.6919999999999999,
 1.1864999999999999,
 0.45199999999999996,
 0.17100000000000001]

—————————————————————————————————

print(np.mean(E_loss))
print(np.std(E_loss))

Output:1.3545
0.93740327501
累積概率圖

結(jié)果分析:該銀行6筆貸款組成的貸款組合橙垢,未來一年期望的損失金額為1.35萬人民幣,大致可看出未來有95%的把握損失不會超過40萬人民幣伦糯。

5柜某、總結(jié)

credit disk+模型優(yōu)缺點總結(jié)如下:

優(yōu)點:
(1)要求的估計量和輸入數(shù)據(jù)較少,僅需要債務(wù)工具的違約和風(fēng)險暴露的數(shù)據(jù)敛纲,模型應(yīng)用比較簡單
(2)不需要對違約原因做任何假設(shè)
(3)將違約率視為連續(xù)隨機變量喂击,并將違約率的波動率納入模型體現(xiàn)違約率本身的不確定性這一特征。通過使用違約波動率參數(shù)淤翔,模型得到簡化翰绊,而且不用考慮違約相關(guān)性特征

缺點:
(1)忽略了信用等級變化,因而貸款信用風(fēng)險在計算期間內(nèi)固定不變旁壮,與實際情況不符合
(2)分組時辞做,對每筆貸款暴露近似到組,從而將高估投資組合的方差
(3)忽略了市場風(fēng)險

代碼及參考文獻下載地址:https://gitee.com/hwang_zc/Financial-model/tree/master/Credit%20Risk+

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末寡具,一起剝皮案震驚了整個濱河市秤茅,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌童叠,老刑警劉巖框喳,帶你破解...
    沈念sama閱讀 216,591評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件课幕,死亡現(xiàn)場離奇詭異,居然都是意外死亡五垮,警方通過查閱死者的電腦和手機乍惊,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,448評論 3 392
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來放仗,“玉大人润绎,你說我怎么就攤上這事〉ぃ” “怎么了莉撇?”我有些...
    開封第一講書人閱讀 162,823評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長惶傻。 經(jīng)常有香客問我棍郎,道長,這世上最難降的妖魔是什么银室? 我笑而不...
    開封第一講書人閱讀 58,204評論 1 292
  • 正文 為了忘掉前任涂佃,我火速辦了婚禮,結(jié)果婚禮上蜈敢,老公的妹妹穿的比我還像新娘辜荠。我一直安慰自己,他們只是感情好抓狭,可當(dāng)我...
    茶點故事閱讀 67,228評論 6 388
  • 文/花漫 我一把揭開白布伯病。 她就那樣靜靜地躺著,像睡著了一般辐宾。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上膨蛮,一...
    開封第一講書人閱讀 51,190評論 1 299
  • 那天叠纹,我揣著相機與錄音,去河邊找鬼敞葛。 笑死誉察,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的惹谐。 我是一名探鬼主播持偏,決...
    沈念sama閱讀 40,078評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼氨肌!你這毒婦竟也來了鸿秆?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,923評論 0 274
  • 序言:老撾萬榮一對情侶失蹤怎囚,失蹤者是張志新(化名)和其女友劉穎卿叽,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,334評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡考婴,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,550評論 2 333
  • 正文 我和宋清朗相戀三年贩虾,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片沥阱。...
    茶點故事閱讀 39,727評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡缎罢,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出考杉,到底是詐尸還是另有隱情策精,我是刑警寧澤,帶...
    沈念sama閱讀 35,428評論 5 343
  • 正文 年R本政府宣布奔则,位于F島的核電站蛮寂,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏易茬。R本人自食惡果不足惜酬蹋,卻給世界環(huán)境...
    茶點故事閱讀 41,022評論 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望抽莱。 院中可真熱鬧范抓,春花似錦、人聲如沸食铐。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,672評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽虐呻。三九已至象泵,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間斟叼,已是汗流浹背偶惠。 一陣腳步聲響...
    開封第一講書人閱讀 32,826評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留朗涩,地道東北人忽孽。 一個月前我還...
    沈念sama閱讀 47,734評論 2 368
  • 正文 我出身青樓,卻偏偏與公主長得像谢床,于是被迫代替她去往敵國和親兄一。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,619評論 2 354

推薦閱讀更多精彩內(nèi)容

  • 本文描述的是CreditRisk+模型识腿,該模型是一個信用風(fēng)險模型出革,根據(jù)銀行自身的違約率平均值,結(jié)合回收率和風(fēng)險暴露...
    hwang_zhic閱讀 7,562評論 0 1
  • 1渡讼、簡介 模型假設(shè):(1)每筆貸款在給定期間內(nèi)違約率不變蹋盆;(2)每個借款人的違約率非常小费薄,且違約數(shù)相互獨立。所以違...
    cannier_ceac閱讀 9,134評論 0 3
  • 本篇由兩個部分組成:一概述默認信用風(fēng)險的區(qū)別與聯(lián)系栖雾;Z計分模型用最簡單的線性模型計算分數(shù)的閾值區(qū)間楞抡,判斷企業(yè)違約的...
    andyham閱讀 6,919評論 7 5
  • 今天,我心中充滿了喜悅析藕,因為我終于擁有了一個自己的鬧鐘召廷,是我和媽一起去精品店所選購的。 它體型雖小...
    陳凌珊201315閱讀 311評論 0 2
  • 天天六一,可以嗎治泥? 今天是每個人的節(jié)日筹煮。大自然的所有孩子,天天六一居夹。
    何一艷玲閱讀 194評論 1 0