主要内容

使用转移SABR模型的负打击价格互换

这个例子展示了如何使用移位SABR模型对具有负打击的掉期进行定价。市场移位黑色波动被用来校准移位SABR模型参数。校准后的移位SABR模型用于计算负向移位黑的波动率。

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

加载市场数据。

首先,加载市场利率和掉期波动率数据。市场掉期波动率以移位黑波动率报价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' compound: 1 Disc: [16x1 double] Rates: [16x1 double] EndTimes: [16x1 double] StartTimes: [16x1 double] EndDates: [16x1 double] StartDates: 736425 ValuationDate: 736425 Basis: 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,LegRate,SwaptionSettle,SwapMaturity,...StartDate可以的SwaptionExerciseDate)
CurrentForwardValue = 6.6384 e-04

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

转变= 0.008;0.8%变动

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

MarketShiftedBlackVolatilities = (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以及the的用法“转变”参数与blackvolbysabr.的β参数在0.5

β= 0.5;

这个函数以多项式的形式解决了移位SABR的货币波动率方程α.注意添加了转变CurrentForwardValue

= @(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)]);

这个函数将价格波动转化为α取最小的正实根。

atmvol2shiftedsabalpha = @(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)),...测试,X(1), X(2), SwaptionSettle, swaptionexercisdate, CurrentForwardValue,...MarketStrikes,“转变”、转移);选择= optimoptions (“lsqnonlin”“显示”“没有”);X = lsqnonlin(objFun, [0 0.5], [-1 0], [1 Inf], options);ρ= X (1);ν= X (2);

得到最终的α从校准参数。

Alpha = atmvol2shiftedsabalpha (Rho, Nu)
α= 0.0133

显示校准移位SABR参数。

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

使用校准的移位SABR模型计算掉期波动率。

使用blackvolbysabr“转变”参数。

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

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

为掉期定价,包括那些有负面打击的掉期。

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

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

图中包含一个轴对象。具有标题交换价格的axes对象包含两个类型为line的对象。

计算移位SABR Delta。

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

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

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

计算概率密度。

终端标的资产价格的风险中性概率密度可以近似为掉期价格对strike的二阶导数(Breeden and Litzenberger, 1978)。如下图所示,对于大于- 0.8%(下限)的负速率,计算出的概率密度为正“转变”).

NumGrids =长度(罢工);ProbDensity = 0 (NumGrids-2, 1);dStrike =意味着(diff(罢工));k = 2:(NumGrids-1) ProbDensity(k-1) = (SwaptionPrices(k) - 2*SwaptionPrices(k) + SwaptionPrices(k+1))/dStrike^2;结束ProbDensity = ProbDensity. /笔(ProbDensity);ProbStrikes =罢工(2:end-1);图;情节(ProbStrikes ProbDensity,的r -);甘氨胆酸h =;线([0],[min (h.YLim), max (h.YLim)],“线型”“——”);包含(“罢工”);标题(的概率密度);

图中包含一个轴对象。标题为“概率密度”的轴对象包含2个类型为line的对象。

参考文献

Hagan, P. S., Kumar, D., Lesniewski, A. S. and Woodward, D. E.。“管理微笑的风险。”维尔莫特杂志。2002.

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

布里登(d.t.)和利岑伯格(r.h.)期权价格中隐含的状态或有债权价格商业》杂志上。卷,51。1978.

另请参阅

||||||||

相关的例子

更多关于