主要内容

定价CDS索引选项

此示例显示如何使用CDS索引选项cdsoptprice.随着前进的调整。与单名CD不同,CDS组合索引包含多个学分。当一个或多个违约的学分时,相应的余额支付是对保护买方的,但合同仍在继续进行优惠券付款。考虑到CDS索引选项在到期前的一些基础贷记时未取消,可以尝试使用Black的非敲除单名CDS选项的Black index选项价格。但是,Black的型号在此表单中不合适,因为当罢工传播时,它不会正确捕获锻炼决定(K.)非常高,也没有确保推动奇偶阶段(K.)不等于合同传播(O'Kane,2008)。

但是,通过适当的修改,Black的用于单名CD选项的模型cdsoptprice.可以为CDS索引选项提供良好的近似值。虽然Black的模型对CDS索引选项进行了修改的方式存在一些变体,但它们通常涉及调整前向扩展F罢工蔓延K., 或两者。在这里,我们描述了仅调整前向扩散的方法。在黑色的单名CD选项的模型中,前向传播F被定义为:

F = S. T. T. E. T. = S. T. T. R. P. V. 01. T. T. - S. T. T. E. R. P. V. 01. T. T. E. R. P. V. 01. T. T. E. T.

哪里

S.蔓延。

RPV01是基本点的风险存在的价值(见CDSRPV01)。

T.是估值日期。

T.E.是期权到期日。

T.是CDS成熟日期。

要正确捕获锻炼决策,请正确获取CDS索引选项,我们使用BlackOut的模型的敲除形式,并调整前向扩展以合并FEP.如下:

F 一种 D. j = F + F E. P. R. P. V. 01. T. T. E. T.

FEP.定义为

F E. P. = 1 - R. Z. T. T. E. 1 - 问: T. T. E.

哪里

R.是恢复率。

Z.是折扣因素。

问:是生存概率。

cdsoptprice.,可以使用前进传播调整调整练习顾问参数。计算调整的前进扩展时,我们可以使用差价计算CDSSPREAD.和RPV01S使用CDSRPV01

设置CDS索引,其选项和零曲线的数据。底层是2017年6月20日至2017年6月的5年的CDS指数,并在2012年6月20日到期。在引导默认概率曲线时,假设平面索引扩展。

%CDS索引和选项数据恢复= .4;基础= 2;期间= 4;CDSMaturity = Datenum('20 -Jun-2017');收缩= 100;indexspread = 140;BusdayConvention =.'跟随';settr = datenum('13 -apr-2012');OptionMaturity = Datenum('20 -Jun-2012');Optionstrike = 140;散宽率= .69;%零曲线数据mm_time = [1 2 3 6]';mm_rate = [0.004111 0.00563 0.00757 0.01053]'mm_dates = daysadd(定居,30 * mm_time,1);Swap_time = [1 2 3 4 5 6 7 8 9 10 12 15 20 30]'Swap_rate = [0.01387 0.01035 0.01145 0.01318 0.01508 0.01700 0.01700 0.01700 0.01868......0.02012 0.02132 0.02237 0.02564 0.02564 0.02564 0.02564 0.02524''swap_dates = daysadd(定居,360 * swap_time,1);insttypes = [repmat({'存款'},大小(mm_time)); repmat({'交换'},尺寸(Swap_time))];intruments = [repmat(soldmat(instrypes))[mm_dates; swap_dates] [mm_rate; swap_rate]];zerocurve = irdatacurve.bootstrap('零',解决,insttypes,仪器);Plootstrap默认概率曲线假设平面索引扩展。MarketData = [CDSMaturity IndexSpread];probdates = datemnth(optionmaturity,(0:5 * 12)');probdata = cdsbootstrap(Zerocurve,MarketData,Setting,'probdates',probdates);

计算点并转发RPV01S,将在稍后在计算的调整前进扩展的计算中使用。为此,我们可以使用CDSRPV01

%RPV01(T,T)RPV01_CDSMaturity = CDSRPV01(Zerocurve,ProbData,Setten,CDSMaturity)%RPV01(T,T_E,T)RPV01_OptionExpiryforward = CDSRPV01(Zerocurve,ProbData,Sold,CDSMaturity,......'开始日期',optionmaturity)%RPV01(t,t_e)= rpv01(t,t) -  rpv01(t,t_e,t)RPV01_OptionExpiry = RPV01_CDSMaturity  -  RPV01_Optionexpiryforward
rpv01_cdsmaturity = 4.7853 rpv01_optionexpiryforward = 4.5971 rpv01_optionexpiry = 0.1882

计算使用点差价使用CDSSPREAD.

%s(t,t_e)Spread_OptionExpiry = CDSSPREAD(Zerocurve,ProbData,Setten,OptionMaturity,......'期',期,'基础',基础,'BusdayConvention',busdayconvention,......'payaccruedpremium',真正,'恢复率',复苏)%s(t,t)Spread_cdsMaturity = CDSSpread(Zerocurve,ProbData,Setten,CDSMaturity,......'期',期,'基础',基础,'BusdayConvention',busdayconvention,......'payaccruedpremium',真正,'恢复率',复苏)
Spread_OptionExpiry = 139.9006 Spread_CDSMaturity = 140.0000

然后使用点差和RPV01s来计算前进扩散。

%f = s(t,t_e,t)forwardspread =(Spread_cdsMaturity。* RPV01_CDSMaturity  -......Spread_OptionExpiry。* RPV01_OptionExpiry)./ rpv01_optionexpiryforward
ForwardSpread = 140.0040.

计算前端保护(FEP)。

fep = 10000 *(1恢复)* zerocurve.getdiscountfortors(optionmaturity)* probdata(1,2)
FEP = 26.3108.

计算调整的前进扩展。

调整框架= forwardspread + fep./rpv01_optionexpiryforward
调整为ForwardsPread = 145.7273.

计算价格使用cdsoptprice.随着调整后的前进蔓延。再次注意到昏死参数应设置为真正因为FEP已经被纳入调整后的前进蔓延。

[付款人,接收者] = CDSoptPrice(Zerocurve,probdata,sold,OptionMaturity,......CDSMaturity,Optionstrike,Speagvolation,'昏死',真正,......'调整为forwardspread',调整练习熟练,'payaccruedpremium',真正);fprintf('付款人:%.0f接收器:%.0f \ n',付款人,接收者);
付款人:92接收者:66

也可以看看

||

相关话题