这个例子展示了如何使用移位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);
为了更好地反映市场的现价波动,α
参数值是由市场的货币价格波动所暗示的。这类似于“方法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
使用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)转变,的百分比变化)]);
使用swaptionbyblk
与“转变”
参数,使用移位黑模型计算交换价格。
SwaptionPrices = swaptionbyblk(RateSpec, OptSpec, Strikes, SwaptionSettle, swaptionexercisdate,...SwapMaturity SABRShiftedBlackVolatilities,“重置”重置,“转变”、转移);图;情节(罢工,SwaptionPrices,“r”);甘氨胆酸h =;线([0],[min (h.YLim), max (h.YLim)],“线型”,“——”);包含(“罢工”);标题(“掉期期权价格”);
使用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)],“线型”,“——”);包含(“罢工”);标题(“δ”);
终端标的资产价格的风险中性概率密度可以近似为掉期价格对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)],“线型”,“——”);包含(“罢工”);标题(的概率密度);
Hagan, P. S., Kumar, D., Lesniewski, A. S. and Woodward, D. E.。“管理微笑的风险。”维尔莫特杂志。2002.
杰,J。利率衍生品解释。卷。1。2014年,帕尔格雷夫麦克米伦。
布里登(d.t.)和利岑伯格(r.h.)期权价格中隐含的状态或有债权价格商业》杂志上。卷,51。1978.
optsensbysabr
|capbyblk
|floorbyblk
|capvolstrip
|floorvolstrip
|swaptionbyblk
|capbynormal
|floorbynormal
|swaptionbynormal