主要内容

使用正常校准SABR模型(Bachelier)波动分析定价的人

这个例子展示了如何使用两种不同的方法来调整SABR随机波动模型正常(Bachelier)从市场隐含波动与消极罢工。这两种方法使用SABR分析定价的人。当β参数的SABR模型设置为零,模型是一个正常的SABR模型,它允许计算隐含正常波动-罢工。

正常(Bachelier)市场隐含波动数据加载

建立假设市场对欧洲互换期权隐含波动正常校准之前一系列的罢工。掉期期权到期的一年解决日期和两年期掉期为底层的仪器。利率是用小数表示。市场正常波动是小数转换从基点。(改变单位影响的数值和解释α参数SABR模型)。

%负载的正常市场隐含波动率数据互换期权到期的一年。解决= datetime (2020、4、24);ExerciseDate = datetime (2021、4、24);基础= 1;ZeroDates =解决+ [calmonths ([3 6 9]) calyears ([1 2 3 4 56 7 10 15 20])];ZeroRates = (-。54 -。57 -。60 -。62 -。67 -。67 -。65点-。56 -。51 -。36 -。19 -.10]'/100; Compounding = 1; ZeroCurve = ratecurve(“零”、结算、ZeroDates ZeroRates,“复合”、复合);ATMStrike = -0.70/100;MarketStrikes = ATMStrike + ((-0.5:0.25:1.5)”)。/ 100;MarketVolatilities =[29.89 25.47 23.21 26.17 29.59 33.12 37.81 41.88 46.24]的/ 10000;%的时候解决,定义潜在的远期利率平价波动。CurrentForwardValue = MarketStrikes (3)
CurrentForwardValue = -0.0070
ATMVolatility = MarketVolatilities (3)
ATMVolatility = 0.0023

方法1:校准α,ρ,ν直接

你可以调整α,ρ,ν直接参数。设置的值β参数为零,以使实际利率为负SABR模型(正常SABR)。修复后的价值 β (β),你适合的参数 α (α), ρ (ρ), ν (ν直接)。优化工具箱™函数lsqnonlin生成的参数值,减少市场波动和波动之间的平方误差的计算SABR分析定价的人。

%定义预先确定的测试Beta1 = 0;%设置β0允许负率正常波动%校准αρ,怒objFun = @ (X) MarketVolatilities -波动(finpricer (“分析”,“模型”,finmodel (“SABR”,“α”X (1),“β”Beta1,的ρ,X (2),“怒”,X (3),“VolatilityType”,“正常”),“DiscountCurve”ZeroCurve),ExerciseDate、CurrentForwardValue MarketStrikes);%如果有必要,调整lsqnonlin公差和停止标准X = lsqnonlin (objFun [ATMVolatility 0 0.5],[0 1 0],[正1正]);
局部最小值。优化完成因为梯度的大小小于最优值的宽容。
α1 = X (1);Rho1 = X (2);Nu1 = X (3);

方法2:校准ραν,暗示从平价的波动

另一种方法是使用另一种标定方法。在第一种方法中,你设置的值 β (β)为零,允许实际利率为负。然而,在修复的价值 β (β),你适合的参数 ρ (ρ), ν (ν)直接而 α (α从市场)是隐含平价波动。模型校准使用这种方法生成平价波动,等于市场报价。平价时,这种方法可能是有用的波动是引用最频繁和重要的比赛。意味着 α (α)从平价市场正常波动( σ N o r 一个 l , 一个 T ),解决以下三次多项式 α (α),并选择最小的正实根。这类似于用于暗示的方法 α (α从市场平价黑色波动)2]。然而,请注意,以下表达式,用于正常波动是不同的表达式,用于黑色的波动。

β ( β - - - - - - 2 ) T 2 4 F ( 2 - - - - - - 2 β ) α 3 + ρ β ν T 4 F ( 1 - - - - - - β ) α 2 + ( 1 + 2 - - - - - - 3 ρ 2 2 4 ν 2 T ) α - - - - - - σ N o r 一个 l , 一个 T F - - - - - - β = 0

%定义预先确定的测试Beta2 = 0;%设置β0允许负率正常波动%年分数从结算日期选择成熟T = yearfrac(结算、ExerciseDate基础);%这个函数解决了SABR平价作为一个波动方程%多项式αalpharootsNormal = @(ρ,ν)根([Beta2。* (Beta2 - 2) * T / 24 / CurrentForwardValue ^ (2 - 2 * Beta2)ρ* Beta2 *ν* T / 4 / CurrentForwardValue ^ (1 - Beta2)(1 +(2 - 3 * ^ 2)ρ*ν^ 2 * T / 24)-ATMVolatility * CurrentForwardValue ^ (beta2)]);%这个函数将平价波动转化为α通过挑选%最小正实根atmNormalVol2SabrAlpha = @(ρ,ν)分钟(实际(arrayfun (@ (x)x * (x > 0) +最大浮点数* (x < 0 | | abs(图像放大(x)) > 1 e-6), alpharootsNormal(ρ,ν))));%校准ρ和ν(同时将平价波动转化为α使用atmNormalVol2SabrAlpha %)objFun = @ (X) MarketVolatilities -波动(finpricer (“分析”,“模型”,finmodel (“SABR”,“α”atmNormalVol2SabrAlpha (X (1), (2)),“β”Beta2,的ρX (1),“怒”,X (2),“VolatilityType”,“正常”),“DiscountCurve”ZeroCurve),ExerciseDate、CurrentForwardValue MarketStrikes);%如果有必要,调整lsqnonlin公差和停止标准0.5 X = lsqnonlin (objFun[0],[1 0],[1正]);
局部最小值。优化完成因为梯度的大小小于最优值的宽容。
Rho2 = X (1);Nu2 = X (2);%获得最终使用校准参数α从平价波动Alpha2 = atmNormalVol2SabrAlpha (Rho2 Nu2);%显示校准参数C ={αBeta1 Rho1 Nu1; Alpha2 Beta2 Rho2 Nu2};格式;CalibratedPrameters = cell2table (C,“VariableNames”,{“α”“β”的ρ“怒”},“RowNames”,{方法1的;方法2的})
CalibratedPrameters =2×4表αβρν_____ _____ _____ ____方法1 0.0023279 0 2 0 0.0022389 -0.019029 - 0.66368 -0.010078 - 0.63538方法

使用校准模型

使用校准模型来计算新的波动值在任何罢工,包括消极罢工。

计算波动模型校准使用方法1和方法2,然后画出的结果。模型校准使用方法2繁殖平价市场波动性(标有一个圆)。

PlottingStrikes = (min (MarketStrikes) -0.0025:0.0001: max (MarketStrikes) + 0.0025) ';%计算波动模型校准方法1SABR_Model_Method_1 = finmodel (“SABR”,“α”α1,“β”Beta1,的ρRho1,“怒”Nu1,“VolatilityType”,“正常”);ComputedVols1 =波动(finpricer (“分析”,“模型”SABR_Model_Method_1,“DiscountCurve”ZeroCurve),ExerciseDate、CurrentForwardValue PlottingStrikes);%计算波动模型校准方法2SABR_Model_Method_2 = finmodel (“SABR”,“α”Alpha2,“β”Beta2,的ρRho2,“怒”Nu2,“VolatilityType”,“正常”);ComputedVols2 =波动(finpricer (“分析”,“模型”SABR_Model_Method_2,“DiscountCurve”ZeroCurve),ExerciseDate、CurrentForwardValue PlottingStrikes);图;情节(MarketStrikes MarketVolatilities * 10000,“xk”,PlottingStrikes ComputedVols1 * 10000,“b”,PlottingStrikes ComputedVols2 * 10000,“r”,CurrentForwardValue ATMVolatility * 10000,“好吧”,“MarkerSize”10);甘氨胆酸h =;线([0],[min (h.YLim), max (h.YLim)],“线型”,“——”);包含(“罢工”,“FontWeight”,“大胆”);ylabel (“正常隐含波动率(bps)”,“FontWeight”,“大胆”);传奇(“市场波动”,“正常SABR模型(方法1),“正常SABR模型(方法2)”,“平价波动”,“位置”,“西北”);

图包含一个坐标轴对象。坐标轴对象包含罢工,正常ylabel隐含波动率(bps)包含5线类型的对象。一个或多个行显示的值只使用这些对象标记代表市场波动,正常SABR模型(方法1),正常SABR模型(方法2),平价的波动。

引用

[1]哈根,帕特里克·S。,Deep Kumar, Andrew S. Lesniewski, and Diana E. Woodward. "Managing Smile Risk."维尔莫特杂志,(2002年1月):84 - 108。

[2]西方,格雷姆。“SABR模型的校准在流动性不足的市场。”应用数学金融学。12,没有。4(2005年12月):371 - 385。