主要内容

基于移位SABR模型的负打击价格互换

这个例子展示了如何使用移位SABR模型为负打击的互换定价。采用市场移位Black波动率对移位SABR模型参数进行校正。然后使用校准的移位SABR模型来计算负打击的移位黑波动率。

然后使用计算出的移位黑波动率和swaptionbyblk函数与“转变”参数设置为预先指定的shift。类似地,移位的SABR希腊可以通过使用optsensbysabr函数,通过设置“转变”参数。最后,从交换价格计算标的资产的概率密度,以表明交换价格意味着某些负面冲击的正概率密度。

加载市场数据。

首先,加载市场利率和掉期波动率数据。市场掉期波动率以a的移位黑波动率表示0.8百分比变化。

定义RateSpec

ValuationDate =5 - 4月- 2016 ';EndDates = datemnth(ValuationDate,[1 2 3 6 9 12*[1 2 3 4 5 6 7 8 9 10 12]])';ZeroRates = [-0.34 -0.29 -0.25 -0.13 -0.07 -0.02 0.010 0.025...0.031 0.040 0.052 0.090 0.190 0.290 0.410 0.520]'/100;复利= 1;RateSpec = intenvset(“ValuationDate”ValuationDate,startdate可以的ValuationDate,...“EndDates”EndDates,“利率”ZeroRates,“复合”复合)
RateSpec =带字段的结构:FinObj: 'RateSpec'复合:1光盘:[16x1 double]利率:[16x1 double]结束时间:[16x1 double]开始时间:[16x1 double]结束日期:[16x1 double]开始日期:736425估值日期:736425基础:0 EndMonthRule: 1

定义交换。

SwaptionSettle =5 - 4月- 2016 ';SwaptionExerciseDate =5 - 4月- 2017 ';SwapMaturity =5 - 4月- 2022 ';重置= 1;OptSpec =“电话”;TimeToExercise = yearfrac(SwaptionSettle,SwaptionExerciseDate);

使用swapbyzero计算远期掉期率。

LegRate = [NaN 0];%如果需要计算正向掉期率,将固定利率设置为“NaN”。[~, CurrentForwardValue] = swapbyzero(RateSpec, legret,SwaptionSettle,SwapMaturity,...StartDate可以的SwaptionExerciseDate)
CurrentForwardValue = 6.6384e-04

指定移位黑色和移位SABR模型的小数移位量。

Shift = 0.008;0.8%的变化

加载市场隐含的移位黑色波动率数据的掉期。

marketshiftedblackvolatility = [21.1;15.3;14.0;14.6;16.0;17.7;19.8;23.9;26.2) / 100;StrikeGrid = [-0.5; -0.25; -0.125; 0; 0.125; 0.25; 0.5; 1.0; 1.5]/100; MarketStrikes = CurrentForwardValue + StrikeGrid; ATMShiftedBlackVolatility = MarketShiftedBlackVolatilities(StrikeGrid==0);

校准移位SABR模型参数。

为了更好地反映市场的平价波动,α参数值由市场平价波动率暗示。这类似于中“方法2”校准SABR模型.但是,要注意的是转变CurrentForwardValue和使用“转变”参数与blackvolbysabr.的β参数在0.5

Beta = 0.5;

该函数求解移位SABR平价波动率方程为的多项式α.注意添加的转变CurrentForwardValue

alpharoots = @(Rho,Nu)根([...(1 - Beta)^2*TimeToExercise/24/(CurrentForwardValue + Shift)^(2 - 2*Beta)...Rho*Beta*Nu*TimeToExercise/4/(CurrentForwardValue + Shift)^(1 - Beta)...(1 + (2 - 3*Rho^2)*Nu^2*TimeToExercise/24)...- atmshiftedblackvolatility *(CurrentForwardValue + Shift)^(1 - Beta)]);

该函数将平价波动率转换为α取最小的正实根。

atmVol2ShiftedSabrAlpha = @(Rho,Nu) min(real(arrayfun(@(x))...x * (x > 0) +最大浮点数* (x < 0 | | abs(图像放大(x)) > 1 e-6), alpharoots(ρ,ν))));

适合ρ而且ν(同时将平价波动率转换为α).注意“转变”参数的blackvolbysabr设置为预先指定的移位。

objFun = @(X) marketshiftedblackvolatility -...blackvolbysabr (atmVol2ShiftedSabrAlpha (X (1), (2)),...Beta, X(1), X(2), SwaptionSettle, SwaptionExerciseDate, CurrentForwardValue,...MarketStrikes,“转变”、转移);选项= optimoptions(“lsqnonlin”“显示”“没有”);X = lsqnonlin(objFun, [0 0.5], [-1 0], [1 Inf], options);罗= X(1);Nu = X(2);

拿到期末考试α从校准的参数。

Alpha = atmVol2ShiftedSabrAlpha(Rho, Nu)
Alpha = 0.0133

显示校准的移位SABR参数。

校准参数= array2table([Shift Alpha Beta Rho Nu],...“VariableNames”, {“转变”“α”“β”的ρ“怒”},...“RowNames”, {“从1Y到5Y”})
CalibratedPrameters =表1×5ρναβ转变  _____ ________ ____ _______ _______ 1到5 y 0.008 0.013345 0.5 0.46698 0.49816

使用校准的移位SABR模型计算交换挥发性。

使用blackvolbysabr“转变”参数。

Strikes = (-0.6:0.01:1.6)'/100;包括负面打击。sabrshiftedblackvolatility = blackvolbysabr(Alpha, Beta, Rho, Nu, SwaptionSettle,...SwaptionExerciseDate, CurrentForwardValue, Strikes,“转变”、转移);图;情节(MarketStrikes MarketShiftedBlackVolatilities,“o”...罢工、SABRShiftedBlackVolatilities);H = gca;线([0],[min (h.YLim), max (h.YLim)],“线型”“——”);Ylim ([0.13 0.31]) xlabel(“罢工”);传奇(“市场报价”“转移SABR”“位置”“东南”);标题([“平移黑色波动率(”num2str(* 100)转变,百分比变化)]);

图中包含一个轴对象。标题为Black Volatility (0.8% shift)的axes对象包含3个类型为line的对象。这些对象表示市场报价,移位的SABR。

定价互换,包括负面打击。

使用swaptionbyblk“转变”参数来计算交换价格使用移位黑模型。

SwaptionPrices = swaptionbyblk(RateSpec, OptSpec, Strikes, SwaptionSettle, SwaptionExerciseDate,...SwapMaturity SABRShiftedBlackVolatilities,“重置”重置,“转变”、转移);图;情节(罢工,SwaptionPrices,“r”);H = gca;线([0],[min (h.YLim), max (h.YLim)],“线型”“——”);包含(“罢工”);标题(“掉期期权价格”);

图中包含一个轴对象。标题为Swaption Price的axes对象包含2个类型为line的对象。

计算移位的SABR Delta。

使用optsensbysabr“转变”要计算的参数δ使用移位SABR模型。

ShiftedSABRDelta = optsensbysabr(RateSpec, Alpha, Beta, Rho, Nu, SwaptionSettle,...SwaptionExerciseDate, CurrentForwardValue, Strikes, OptSpec,“转变”、转移);图;情节(罢工,ShiftedSABRDelta,的r -);ylim ([-0.002 - 1.002]);H = gca;线([0],[min (h.YLim), max (h.YLim)],“线型”“——”);包含(“罢工”);标题(“δ”);

图中包含一个轴对象。标题为Delta的axes对象包含2个类型为line的对象。

计算概率密度。

终端标的资产价格的风险中性概率密度可以近似为互换价格对执行权的二阶导数(Breeden和Litzenberger, 1978)。如下图所示,对于某些负的- 0.8%以上的概率密度计算为正(下限由“转变”).

NumGrids =长度(罢工);ProbDensity = 0 (numgrid -2,1);dStrike = mean(diff(Strikes));k = 2:(numgrid -1) ProbDensity(k-1) = (SwaptionPrices(k-1) - 2*SwaptionPrices(k) + SwaptionPrices(k+1))/dStrike^2;结束ProbDensity = ProbDensity./sum(ProbDensity);ProbStrikes = Strikes(2:end-1);图;情节(ProbStrikes ProbDensity,的r -);H = gca;线([0],[min (h.YLim), max (h.YLim)],“线型”“——”);包含(“罢工”);标题(的概率密度);

图中包含一个轴对象。标题为Probability Density的axis对象包含2个类型为line的对象。

参考文献

Hagan, p.s., Kumar, D, Lesniewski, a.s.和Woodward, D. E。“微笑风险管理”。维尔莫特杂志。2002.

杰,J。利率衍生品解释。卷。1。帕尔格雷夫·麦克米伦,2014年。

布里登,D. T.和利岑伯格,R. H.。"隐含在期权价格中的国家或条件债权价格"商业》杂志上。卷,51。1978.

另请参阅

||||||||

相关的例子

更多关于