主要内容

从跑到先

CDS市场报价由标准传播(通常是100bp或500 bp)和前期付款或等效运行或刷新范围,没有提前付款。功能cdsbootstrapcdsspread, 和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%

另请参阅

|||

相关话题