第18章 债券组合信用VaR度量
计算单只债券的信用风险
信用评级转移概率
债券信用风险指由于信用质量改变而引起的价值变动
的风险。每个债券信用质量用8种评级之一来表示
(AAA AA A BBB BB B CCC Default)。
不仅违约会导致风险,而且升降级引起的价值变化也
会导致风险。所以需要估计风险期内信用评级转移到
其他任何可能信用状态的概率。债券发行者的信用级
别决定了债券在风险期内违约或者转移到任何可能信
用评级的概率。
A级, AAA级和BBB级债券一年后的信用评级转移概率
图 信用等级转移实例(1年风险期)
通过观测大量公司的信用评级历史数据来得到转移概率。
这隐含两个假设:
(1) 假设所有公司的信用评级是正确的;
(2) 假设具有相同信用级别的所有公司将来表现行为一致—
—转移到其他信用级别的概率均相同。
下页表中用矩阵表示所有级别债券的转移概率。
表年期转移概率矩阵
初始评级
(Initial rating)
年末评级 (Rating at year end(%))
AAA AA A BBB BB B CCC Defau
lt
AAA 0 0 0
AA 0
A
BBB
BB
B 0
CCC 0
表最左边一列是债券当前的信用评级,沿着那行的各列是风险期末的评级。
例如,左下角的数字%说明了一个信用评级为CCC的债券在1年末转移到
AAA信用级别的概率是%。
债券定价
确定了单只债券在风险期末转移到任何可能信用状态的概率后,
就可以确定风险期末相应信用状态上债券的价值。每个转移状态
计算一次价值,因而每只债券有8个新定价。
这8个定价可分为两类。第一类,在违约情况下,需要基于债券
的优先级估计恢复率。第二类,在升降级的情况下,需要估计由
于信用评级变化导致的信用价差的变化,即通过计算债券在新的
收益率下,剩余现金流的现值来估计它的新价值。
违约状态下的定价
如果债券信用评级转移到违约,则恢复后残留净值将依赖于债券的优先级。表
2提供了违约状态下的恢复率和恢复率的标准差。
表 恢复率(%面值)
优先级 均值Mean(%) 标准差standard
deviation(%)
优先有担保(Senior
secured)
优先无担保(Senior
unsecured)
优先次级(Senior
subordinated)
次级(Subordinated)
次次级(Junior
Subordinated)
表给出了恢复率均值(中间列)和恢复率的标准差
(最后一列)。例如,有一个BBB级的债券是优先无担保
的(面值100美元),则它违约时的均值为面值的%,
恢复率的标准差是%。如果该债券发生违约,则它的
价值为:V=100*%=美元。
升降级状态下的定价
(1) 得到每一个评级类别的一年期远期利率曲线。远期利率从风险期末开始到债券到
期。
(2) 利用这些远期利率数据,对各个级别债券的剩余现金流进行定价。
假设有一个BBB级债券,面值为100美元,5年到期,息票率为6%。假定各个级别
债券1年后的远期利率由表3给出。
表3 1年后的远期利率曲线(%)
级别
(Category)
一年
(Year1)
二年
(Year2)
三年
(Year3)
四年
(Year4)
AAA
AA
A
BBB
BB
B
CCC
假定1年末该BBB级债券升级到A,价值用下面的公式来表示:
上式计算了1年末该BBB级债券升级到A级时的价值。对转移到所有
级别债券完成相似计算,可得表4。
表4 BBB级债券转移到相应级别的年末价值
年末评级
(Year-end rating)
年末债券价值(美元)
(value($))
AAA
AA
A
BBB
BB
B
CCC
Default
估计信用风险
根据前面的数据和计算公式,得到BBB债券的年末价值和信用评级转移概率如
表所示。
表5 BBB级债券的年末价值和信用评级转移概率
年末评级
(Year-end rating)
状态概率
(probability of state(%))
年末债券价值
(new bond value($))
AAA
AA
A
BBB
BB
B
CCC
Default
标准差作为信用风险的度量指标
设 为状态转移概率, 为相应状态下的价值(表5的第2,3列)。
计算均值 和标准差 :
由信用级别变化而引起的价值变化的标准差为$,此值为一种信用风险值,如果进
一步假设价值服从正态分布,可得置信水平为99%的信用风险值为$(=*,
其中, SAS函数probit(.)= ,99%置信水平对应的分位数为1%)。
均值与百分位数的差作为信用风险的度量指标
表显示了BBB级债券在风险期末任何给定信用级别的概率
和价值。假设要计算BBB级债券年末价值的1%分位数,计算过
程如下。
从表的底部违约状态开始,然后逐渐升级到AAA级状态。
向上移动的同时,计算概率和。当这个概率和第一次达到或超
过1%时,所对应的值就是该债券年末价值的1%分位数。
具体过程:违约状态时概率是%,该值小于1%,向上移动
到CCC状态;违约和CCC的概率和是%(%+%),
仍然小于1%,继续向上移动;违约,CCC,B三者概率和等于
%(%+%),该值超过了1%,因而,停止移动。
这时,相应的年末价值等于美元,这就是债券年末价值的
1%分位数,它与均值的差为美元($-
$=$)。
BBB级债券的信用风险为:$- $=$.
计算债券组合的信用风险
联合概率
这里只考虑包括两个特定债券的组合。两个债券在可能的转移期限内,
有8×8=64个可能的状态。
获得联合概率的最简单方法是假设两个债券信用级别变化是独立的,
这时,联合概率是单个概率的乘积。如下表中所示,两个债券
(BBB级和A级)保持他们原先的级别的联合概率就是%。等于
%(BBB级期末仍旧保持在BBB级的概率)与%(A级债
券期末仍保持在A级的概率)的乘积:%=%×%。
表 两独立债券(BBB级和A级)的联合转移概率(%)
BBB级
A级
AAA AA A BBB BB B CCC Default
AAA
AA
A
BBB
BB
B
CCC
Default
资产收益率模型
• 假设两个债券信用级别的变化相互独立是不现实的,因为他们
信用评级的变化至少受同样的宏观经济变量的影响。因此其信
用评级或违约率的变化将具有某种程度的相关性
• 但由于是实际违约资料的稀缺性,导致很难观察或估计信用等
级的联合转移状况。下面给出了一种解决方案,即引入公司资
产收益率模型,该模型将公司资产收益率与信用级别联系起来。
• 令Z表示资产收益率。将债券的信用等级变动与发行公司的权益
价值变动相联结,将信用评级的变化转换为由一些相对应的资
产收益率门槛值来表示。
图 未来一年可能的资产收益率门槛值与相应的信用评级变化(以BB级债券为例)
图中横轴的不同Z值表示BB级债券的资产收益率门槛值,例如,
表示债务人发生违约; 表示发债公司的等级被降为
CCC级。
这样,知道公司的资产收益率门槛值,就可以得出信用评
级的变化。所以,这里只需要对公司的资产收益率门槛值
变化建模就可以了。
假设公司资产收益率的变化是正态分布,均值为 ,标准
差为 。下面以BB级债券为例,说明由债券评级转移概
率计算资产收益率门槛值的方法。
表中第一列为BB级债券未来一年的转移概率。由
于假设资产收益率Z服从正态分布,则通过下面评级转
移概率与资产收益率门槛值之间的关系,
依次可求得各等级的收益率门槛值,如表中第4列。上式中
代表标准正态分布的累积分布函数。
表 BB级债券评级转移概率与收益率门槛值
评级 转移概率
由转移概率计算
资产收益率门槛值的公式
BB级债券资产收
益率门槛值
AAA
AA
A
BBB
BB
B
CCC
Default
这里没有给出 的值,因为任何高于 的收益率意味着升级到AAA。
现在考虑另一个A级债券。同样假设A级债券资
产收益率的变化是正态分布,均值为 ,标准
差为 。
由 表示其对应的资产收益率,它的资产收益
率门槛值由 等表示。A级债券的转移概率
和资产收益率门槛值如表所示。
表 A级债券转移概率和资产收益率门槛值
评级
(Rating)
概率
(Probability)
A级债券资产收
益率门槛值
AAA %
AA %
A %
BBB %
BB %
B %
CCC %
Default %
为了描述两个债券信用评级的联合变化,假设这两个资产收益率服从相
关系数为 的二元正态分布。这样,就可以利用资产收益率门槛值来
计算两个债券的信用评级联合转移概率。
例如,希望计算两个债券均保持当前信用评级不变的概率。即BB级对
应的资产收益率在 到 之间,A级对应的资产收益率在 到
之间。如果两个资产收益率是独立的( ),则这个联合概率
是%(BB保持在BB的概率)与%(A保持在A的概率)的乘
积。
如果 不等于0,则联合概率为:
其中, 是相关系数为 的二元正态分布的密度函数。即,
此处可以令 (资产收益率门槛值标准化)。
表 BB级和A级债券的联合评级转移概( )
BB级
A级
AAA AA A BBB BB B CCC Default
AAA
AA
A
BBB
BB
B
CCC
Default
相同的方法可以计算两个债券的64个联合评级转移概率,假设 ,利
用SAS编程求得概率如表所示。
组合信用风险
用标准差作为信用风险测量指标时的相关公式:
两项资产:
更一般的,当组合资产为n项( ),各项均值为 ,
方差为 。令 ,则组合的方差为:
三项资产组合的标准差:
实际应用时,使用下面的向量形式方便计算。
计算两债券组合信用风险值的sas程序:
以中的两只债券组合为例,一只为BB级债券,另一只为A级债券。
proc iml;
recovery={,,,,}; /* 创建恢复率矩阵 */
recovery=recovery/100;
forward={ ,
,
,
,
,
,
}; /* 一年期远期利率矩阵 */
forward=forward/100;
par=100;
coupon=;
tran={ 0 0 0,
0,
,
,
,
0 ,
0 };/* 一年期等级转移概率矩阵 */
tran=tran/100;
rating={5 3};/* 对应等级BB,A */
prob=t(tran[rating,]);
v={[8]0};
do i=1 to 7;
v[i]=coupon*par*(1+1/(1+forward[i,1])+1/(1+forward[i,2])##2+1/(1+
forward [i,3])##3+1/(1+ forward [i,4])##4)+par/(1+ forward [i,4])##4;
end; /* 一年后的价值 */
v[8]=par*recovery[2];
z=J(9,2,0); /* 创建9行2列元素全为0矩阵 */
z[9,]=-40;
z[1,]=8;
z[8,]=probit(prob[8,]);
do i=7 to 2 by -1;
z[i,]=probit(prob[i,]+probnorm(z[i+1,]));
end;
btran=J(8,8,0);
value=J(8,8,0);
do i=1 to 8;
do j=1 to 8;
btran[i,j]=probbnrm(z[i,1],z[j,2],)-probbnrm(z[i+1,1],z[j,2],)-
probbnrm(z[i,1],z[j+1,2],)+probbnrm(z[i+1,1],z[j+1,2],);
value[i,j]=v[i]+v[j];
end;
end;
mean=sum(btran#value);
var=sum(btran#value#value)-mean##2;
std=sqrt(var);
print prob,z,btran,value,mean,std;
run;
MEAN STD
要计算第二种信用风险测度指标,即计算均值与组合价
值1%分位数的差,首先要确定资产价值的1%分位数,
即找出组合中的一个值,这个值以下的所有概率和小于
1%。在组合中的资产不超过2个的条件下,可以简单地
利用转移概率表中的值计算出1%水平下的信用风险值。
但是对于更大的组合,用解析的方法来计算百分位数是
行不通的——必须采用模拟的方法。
蒙特卡罗模拟
前面使用的是解析方法估计信用风险值。这种方法有两个有
优点:一是速度快,二是精确程度高。但也存在着两个缺点:
一是对于数量很大的组合,速度就会变得很慢;二很多有用
的统计量也没有解析的估计形式。为了更好地描述组合的分
布,下面使用蒙特卡罗模拟方法。
考虑一个包括三个债券的组合:BBB级债券;A级债券;
CCC级债券,相对应的公司分别是firm1,firm2,firm3。简
单起见,假设这三只债券的面值均为100美元,5年到期,
息票率为6%。
生成情景
基于资产收益率模型,生成情景的步骤如下:
建立组合中每个债券的资产收益率门槛值;
由正态分布模拟资产收益率情景;
由资产收益率情景影射出信用评级情景。
确定资产收益率门槛值
表 三个债券(BBB, A和CCC)的信用评级转移概率
转移概率(Transition probability(%))
评级(Rating) 公司1(Firm1) 公司2 (Firm2) 公司3(Firm3)
AAA
AA
A
BBB
BB
B
CCC
Default
根据资产收益率模型,利用表中的转移概率可以确定出3个公
司的资产收益率门槛值,如表所示。
表 三公司资产收益率门槛值
阈值
(Threshold)
公司1
(Firm1)
公司
2(Firm2)
公司3(Firm3)
ZAA
ZA
ZBBB
ZBB
ZB
ZCCC
ZDef
模拟资产收益率情景
表 三公司资产收益率的相关系数
公司1
(Firm1)
公司2
(Firm2)
公司3
(Firm3)
公司
1(Firm1)
公司
2(Firm2)
公司
3(Firm3)
表 模拟资产收益率的10个情景
每个情景中的3个数代表了3个公司的标准化后的资产收益率.
情景
(Scenario)
公司
1(Firm1)
公司
2(Firm2)
公司
3(Firm3)
1
2
3
4
5
6
7
8
9
10
Proc iml;
corr={ ,
,
};/* 相关系数矩阵 */
rv0=rannor(repeat(0,100,3));/* 种子为0,产生10个随机数,3
个变量 */
rv0=t(rv0);
rv=root(corr)*rv0;
rv=t(rv);
Print rv;
create scenario from rv;
append from rv;
close scenario;
run;
quit;
由资产收益率情景映射到信用评级情景
表 由资产收益率情景到评级情景的映射
情景
(Scenario)
资产收益率(Asset Return) 新评级(New Rating)
公司
1(Firm1
)
公司
2(Firm2)
公司
3(Firm3)
公司
1(Firm1)
公司
2(Firm2)
公司
3(Firm3)
1 BBB A B
2 BBB A Default
3 BBB A CCC
4 BBB A CCC
5 BBB A CCC
6 A A CCC
7 BB A CCC
8 BBB A CCC
9 BBB A CCC
10 BBB A B
资产收益率情景到评级情景的映射的SAS程序:
proc iml;
use scenario;
read all into rv;
use z;
read all into z;
ratingmap=J(100,3,0);
do m=1 to ncol(rv);
do i=1 to nrow(rv);
do j=8 to 1 by -1;
if rv[i,m]>z[1,m] then ratingmap[i,m]=1;
if rv[i,m]<z[j,m]
then do;
ratingmap[i,m]=j;
j=0;
end;
end;
end;
end;
print z,rv,ratingmap;
create ratingmap from ratingmap;
append from ratingmap;
close ratingmap;
run;quit;
由资产收益率情景到评级情景的映射(RATINGMAP)
4 3 6
4 3 8
4 3 7
4 3 7
4 3 7
3 3 7
5 3 7
4 3 7
4 3 7
4 3 6
……
组合定价
对于前面给出的债券组合,利用蒙特卡罗模拟
方法计算一年后这个组合的信用风险值。
组合情况:三个债券构成的组合,BBB级债券;
A级债券;CCC级债券,相对应的公司分别是
firm1,firm2,firm3。假设这三只债券的面值均
为为100美元,5年到期,息票率为6%。
对于非违约情景,可以采用解析法中的算法。对于每一个情景,新的
评级影射到一个新的价值。
一种情景下的组合价值计算:例如若1年末组合中BBB级债券升级到
A,A级债券降级到BBB,CCC级债券的级别未发生变化,则1年末的
债券价值分别是:
组合价值为:
对于违约的情景,情况有点不同。因为恢复率
是一个不确定的量,有较大的波动性。可以根
据情景中资产头寸的优先级获得他们恢复率的
均值和标准差。对每一个违约情景,用这些参
数和beta分布产生随机的恢复率,然后基于这
些恢复率计算每个违约情景下单个资产头寸的
价值。
表 情景组合的定价
情景
(scenario)
评级(Rating) 价值(Value)
公司
1(Firm1
)
公司
2(Firm2
)
公司
3(Firm1
)
公司
1(Firm1
)
公司
2(Firm2
)
公司
3(Firm3
)
组合
(Portfolio)
1 BBB A B
2 BBB A Default 50
3 BBB A CCC
4 BBB A CCC
5 BBB A CCC
6 A A CCC
7 BB A CCC
8 BBB A CCC
9 BBB A CCC
10 BBB A B
估计信用风险
根据前面获得的一个组合价值序列,可以估计信用风险。
通过解析方法得到组合价值的均值和标准差。设 ...为
各个情景的组合价值,则可以计算情景的样本均值( )和标准
差( )如下:
用组合价值的标准差度量信用风险值:
组合均值($)
portfolio_mean
标准差($)
portfolio_std
组合价值的10%分位数
portfolio_p10
($) ($) ($)
用均值与百分位数之间的差作为信用风险值:
进一步计算组合价值的百分位数。
基于Copula的蒙特卡罗模拟
正态Copula相关结果如下
正态copula ,T边际分布
PORTFOLIOVALUE
……
PORTFOLIOMEAN
PORTFOLIOSTD
组合价值的均值与百分位数
组合均值($)
portfolio_mean
标准差($)
portfolio_std
组合价值的10%分位数($)
portfolio_p10
风险值($)
VaR
($) ($) ($) ($)
用均值与百分位数之间的差作为信用风险值:
正态copula,正态边际分布
PORTFOLIOVALUE
……
PORTFOLIOMEAN
PORTFOLIOSTD
组合价值的均值与百分位数。
组合均值($)
portfolio_mean
标准差($)
portfolio_std
组合价值的10%分位数($)
portfolio_p10
风险值($)
VaR
($) ($) ($) ($)
用均值与百分位数之间的差作为信用风险值: