CDS市场报价由标准传播(通常是100bp或500 bp)和前期付款或等效运行或刷新范围,没有提前付款。功能cdsbootstrap
,cdsspread
, 和cdsprice
执行前沿运行或运行到前期转换。
例如,要将市场报价转换为100个基点的标准价差的预先报价:
解决='17 -JUL-2009';CD的估值日期MarketDates = datenum ({“20-Sep-10”,“20-Sep-11”,“20-Sep-12”,“20-Sep-14”,...“20-Sep-16”});价差= [140 175 210 265 310]';市场数据=[市场日期市场价差];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 = [zeroates ZeroRates];[ProbData, HazData] = cdsbootstrap (ZeroData MarketData,解决);Maturity3 = MarketData (: 1);Spread3Run = MarketData (:, 2);Spread3Std = 100 *的(大小(Maturity3));Price3 = cdsprice (ZeroData ProbData,解决、Maturity3 Spread3Std);Upfront3 = Price3/10000000;%标准概念为10MM显示(Upfront3);
得到的值是:
Upfront3 = 0.0047 0.0158 0.0327 0.0737 0.1182
可以逆转转换以将Upfront引用转换为市场报价:
probdata3upf = cdsbootstrap(zerodata,[成熟3 upfront3 spread3std],sold);Spread3Runfromupf = Cdsspread(Zerodata,probdata3upf,定居,成熟3);显示([Spread3Run Spread3Runfromupf]);
将这一转换结果与原来的市场价差进行比较,结果显示出了逆转:
ANS = 140.0000 140.0000 175.0000 175.0000 210.0000 210.0000 2110.0000 210.0000 210.0000 210.0000 310.0000 310.0000
在平坦风险率(FHR)报价约定下,单一市场报价被用来校准概率曲线。这个约定产生概率曲线上的一个点和一个风险率值。例如,假设一份4年(标准日期)的CDS合约,当前基于fhr的价差为550 bp,需要转换为标准价差为500 bp的CDS合约:
Maturity4 = datenum (“20-Sep-13”);Spread4Run = 550;ProbData4Run = cdsbootstrap(ZeroData,[Maturity4 Spread4Run],Settle);Spread4Std = 500;Price4 = cdsprice (ZeroData ProbData4Run,解决、Maturity4 Spread4Std);Upfront4 = Price4/10000000;流(' %5.2f的连续价差等于\n', Spread4Run);流('标准价差%5.2f,预付%8.7f\n',...Spread4Std Upfront4);
50.00的连续价差相当于500.00的标准价差,预付0.0167576
反转转换:
ProbData4Upf = cdsbootstrap(ZeroData,[Maturity4 Upfront4 Spread4Std],Settle);Spread4RunFromUpf = cdsspread (ZeroData ProbData4Upf,解决,Maturity4);流('标准价差%5.2f,预付%8.7f\n',...Spread4Std Upfront4);流('相当于%5.2f\n'的持续息差,Spread4runfromupf);
500.00的标准扩散为0.0167576,相当于运行扩散550.00
正如Beumee等人在2009年所讨论的(见信用衍生品), FHR方法只是一个报价惯例,导致报价与市场数据不一致。例如,使用FHR方法计算3年期(标准日期)CDS合约的前期费用,标准价差为100 bp,并将结果与之前计算的前期费用进行比较,表明基于FHR方法产生的前期费用不同:
成熟5 = MarketData(3,1);Spread5Run = MarketData(3,2);probdata5run = cdsbootstrap(zerodata,[成熟5 Spread5Run],定居);Spread5std = 100;price5 = cdsprice(zerodata,probdata5run,sold,maturury5,spare5std);Upfront5 = Price5 / 10000000;流('基于fhr的预付金额的相对错误:%3.1f%%\n',...((Upfront5-Upfront3 (3)) / Upfront3 (3)) * 100);
基于fhr的前期金额相对误差:-0.8%
cdsbootstrap
|cdsprice
|cdsrpv01
|cdsspread