First-to-Default互换
这个例子展示了在均质损失假设下如何为首次违约(FTD)掉期定价。
首先违约掉期是一种工具,当(如果)一篮子信用工具中的第一个违约时,它支付预定的金额。篮子中的信贷工具通常是债券。如果您假设一个信用事件后的损失金额对篮子中的所有信用都是相同的,那么您将处于均匀的损失假设。这个假设使模型更简单,因为篮子中的任何违约都会触发相同的支付金额。本例是这些工具定价方法的实现,如O'Kane [2].这个方法有两个步骤:
用数值方法计算篮子的存活概率。
利用这条生存曲线和标准的单名称信用违约掉期(CDS)功能来寻找FTD价差,并为现有的FTD掉期定价。
拟合概率曲线与市场数据
给定篮子中每个发行人的CDS市场报价,使用cdsbootstrap
校正每个发行人的个别违约概率曲线。
%的利率曲线ZeroDates = datenum ({“17-Jan-10”,“17-Jul-10”,“17-Jul-11”,“17-Jul-12”,...“17-Jul-13”,“17-Jul-14”});ZeroRates = [1.35 1.43 1.9 2.47 2.936 3.311]'/100;ZeroData = [ZeroDates ZeroRates];% CDS利差% MarketSpreads中的每一行对应一个不同的发行者;每一个%列到不同的到期日(对应于市场日期)MarketDates = datenum ({“20-Sep-10”,“20-Sep-11”,“20-Sep-12”,“20-Sep-14”,...“20-Sep-16”});市场价差= [160 195 230 285 330;130 165 205 260 305;150 180 210 260 300;165 200 225 275 295];发行者的数量等于市场价差中的行数nIssuers =大小(MarketSpreads, 1);%结算日期解决= datenum (“2009年- 7月17日”);
在实践中,时间轴是离散化的,FTD生存曲线只在网格点上评估。这个例子每三个月使用一个点。要求cdsbootstrap
返回您想要的特定网格点的默认概率值,使用可选参数“ProbDates”
.将原始标准CDS市场日期添加到网格中,否则这些日期的违约概率信息将使用网格中最近的两个日期插值,那么市场日期的价格将与原始市场数据不一致。
ProbDates =联盟(MarketDates daysadd(结算360 * (0.25:0.25:8),1));nProbDates =长度(ProbDates);DefProb = 0 (nIssuers nProbDates);为ii = 1: nissuer MarketData = [MarketDates MarketSpreads(ii,:)'];ProbData = cdsbootstrap (ZeroData MarketData,结算,...“ProbDates”, ProbDates);DefProb (ii) = ProbData (:, 2) ';结束
这是篮子中每个信用的校正后的违约概率曲线。
数字图(ProbDates',DefProb)日期标记标题(“个别违约概率曲线”) ylabel (“累积概率”)包含(“日期”)
确定潜在变量阈值
潜在变量在不同的信用风险背景下有不同的解释。在某些上下文中,潜变量是a的代理资产价值的变化,并且该变量的域被分组,每个分组对应一个信用评级。箱子的限制或阈值是由信用迁移矩阵确定的。在我们的上下文中,潜变量与a相关默认的时间,阈值确定离散化时间网格中可能发生缺省情况的箱。
在形式上,如果特定发行方的违约时间表示为 ,我们知道它的默认概率函数 ,一个潜在变量 和相应的阈值 满足
或
这些关系使得潜变量方法便于模拟和分析推导。这两个 而且 是时间的函数。
变量分布的选择 确定阈值 .在标准潜变量模型中,变量 选择遵循标准正态分布,从哪
在哪里 是累积标准正态分布。
用前面的公式来确定缺省的时间阈值,或者只是默认阈值,对应于先前为篮子中的信贷获得的违约概率。
DefThresh = norminv (DefProb);
推导出篮下生存曲线
O 'Kane后(2],可以使用单因素潜变量模型推导出篮子的生存概率函数表达式。
给定的参数 为每个发行人 ,给出独立的标准正态变量 而且 ,单因素潜变量模型假设潜变量 与发行人关联 满足
这引发了发行人之间的相关性 而且 的 .所有潜在的变量 共享公因数 作为不确定性的来源,但每个潜在变量也有一个特殊的不确定性来源 .系数越大 潜变量越接近公因式 .
利用潜变量模型,可以推导出篮子存活概率的解析公式。发行人的概率 幸存的过去时间 换句话说,它是默认时间 大于 是
在哪里 以上是发行人的默认阈值吗 , 离散化网格中的第一个日期。取决于单因子的值 ,即所有发行人都存活下来的概率 是
产品是合理的,因为所有的 是独立的。因此,有条件的 , 是独立的。时间不违约的无条件概率 是对所有值的积分吗 之前的条件概率
与 标准法向密度。
通过计算每个点的一维积分 在网格中,你可以得到整个篮子的生存曲线的离散化,这就是FTD生存曲线。
潜变量模型还可以用来模拟违约时间,这是许多信用工具定价方法的后台引擎。吕弗勒和波许[1,例如,通过模拟来估计一个篮子的存活概率。在每个模拟场景中,为每个发行者确定一个违约时间。通过一些记账,可以从模拟中估计网格的每个桶上出现第一个默认值的概率。模拟方法在O'Kane [2].模拟非常灵活,适用于许多信用工具。然而,分析方法是首选的,如果可以,因为它们比模拟更快和更准确。
要计算本例中的FTD存活概率,请将所有beta设置为目标相关性的平方根。然后你可以遍历时间网格中的所有日期来计算给出篮子存活概率的一维积分。
对于实现,条件生存概率作为标量的函数Z
将
condProb = @ (Z)刺激(normcdf ((-DefThresh (:, jj) +β* Z)。/√(1测试版。^ 2)));
然而,积分函数要求被积函数的函数句柄接受向量。尽管围绕条件概率的标量版本的循环可以工作,但使用向量化条件概率要有效得多bsxfun
.
β= sqrt (0.25) * 1 (nIssuers 1);FTDSurvProb = 0(大小(ProbDates));为jj = 1: nProbDates%向量化条件概率作为Z的函数vecCondProb = @ (Z)刺激(normcdf (bsxfun (@rdivide,...-repmat (DefThresh (:, jj), 1,长度(Z)) + bsxfun (@times,β,Z),...√1测试版。^ 2))));截断正态分布的域到[-5,5]区间FTDSurvProb (jj) =积分(@ (Z) vecCondProb (Z)。* normpdf (Z), 5、5);结束FTDDefProb = 1-FTDSurvProb;
将对外发行债券的概率与单个发行人的违约概率进行比较。
数字图(ProbDates',DefProb)日期标记保持在情节(ProbDates FTDDefProb,“线宽”3) datetick保存从标题(“FTD与个人违约概率曲线”) ylabel (“累积概率”)包含(“日期”)
查找现有FTD互换的价差和价格
假设篮子中的所有工具都具有相同的回收率,或均质损失假设(参见O'Kane [2方法获取FTD交换的价差cdsspread
函数通过传递刚刚计算出的FTD概率数据。
成熟= MarketDates;ProbDataFTD = [ProbDates, FTDDefProb];FTDSpread = cdsspread (ZeroData ProbDataFTD,解决、成熟度);
比较FTD价差和个人价差。
数字图(市场日期,市场价差在情节(MarketDates FTDSpread,“线宽”, 3)从标题(“FTD和个人CDS利差”) ylabel (“FTD传播(bp)”)包含(“到期日”)
现有的FTD掉期可以用来定价cdsprice
,使用相同的FTD概率。
Maturity0 = MarketDates (1);假设在最近的市场日期到期。Spread0 = 540;现有FTD合同的% Spread%默认恢复和名义值FTDPrice = cdsprice (ZeroData ProbDataFTD,解决、Maturity0 Spread0);流('现有FTD合约价格:%g\n'FTDPrice)
现有FTD合同价格:17644.7
分析相关性的敏感性
为了说明FTD价差对模型参数的敏感性,计算一系列相关值的市场价差。
Corr = [0 0.01 0.10 0.25 0.5 0.75 0.90 0.99 1];FTDSpreadByCorr = 0(长度(成熟),(corr));FTDSpreadByCorr (: 1) = (MarketSpreads)的总和;FTDSpreadByCorr(:,结束)= max (MarketSpreads)”;为ii = 2:length(corr)-1 beta = sqrt(corr(ii))*ones(nissuer,1);FTDSurvProb = 0(长度(ProbDates));为jj = 1: nProbDates%向量化条件概率作为Z的函数condProb = @ (Z)刺激(normcdf (bsxfun (@rdivide,...-repmat (DefThresh (:, jj), 1,长度(Z)) + bsxfun (@times,β,Z),...√1测试版。^ 2))));截断正态分布的域到[-5,5]区间FTDSurvProb (jj) =积分(@ (Z) condProb (Z)。* normpdf (Z), 5、5);结束FTDSurvProb = FTDSurvProb (: 1);FTDDefProb = 1-FTDSurvProb;ProbDataFTD = [ProbDates, FTDDefProb];FTDSpreadByCorr(:,(二)= cdsspread (ZeroData ProbDataFTD,解决、成熟度);结束
FTD价差位于单个价差之和和最大值之间的区间内。当相关性增加到1时,FTD息差向篮子中单个息差的最大值递减(所有信用项一起违约)。当相关性降低到零时,FTD利差接近于单个利差(独立信贷)的总和。
图图例= cell(1,length(corr));情节(MarketDates FTDSpreadByCorr (: 1),凯西:”)传说{1}=“利差的总和”;datetick举行在为ii = 2:长度(corr)-1 plot(MarketDates,FTDSpreadByCorr(:,ii),“线宽”,3*corr(ii))传说{ii} = [“相关系数”num2str (ii) * 100 (corr)“%”];结束情节(MarketDates FTDSpreadByCorr(:,结束),“k -”。)传说{结束}=利差的马克斯;持有从标题(“不同相关性的FTD利差”) ylabel (“FTD传播(bp)”)包含(“到期日”)传说(传说,“位置”,“西北”)
对于期限较短且相关性较小的债券,货币篮子实际上是独立的(FTD价差非常接近于单个价差的总和)。相关性效应在较长期限内变得更为显著。
以下是FTD价差依赖于相关性的另一种可视化方法。
图冲浪(corr MarketDates FTDSpreadByCorr) datetick (“y”) ax = gca;斧子。YDir =“反向”;视图(-40年,10)标题(不同相关性和期限的FTD利差)包含(“相关”) ylabel (“到期日”) zlabel (“FTD传播(bp)”)
参考文献
[1]吕弗勒,甘特和彼得·波施。使用Excel和VBA进行信用风险建模。威利金融,2007。
多米尼克[2]•欧凯恩称。建模单名称和多名称信用衍生品。威利金融,2008。
另请参阅
cdsbootstrap
|cdsprice
|cdsspread
|cdsrpv01