主要内容

价格使用SABR互换期权模型

这个例子展示了如何使用SABR互换期权价格模型。首先,掉期期权波动率曲面是由市场波动。这是通过校准SABR模型参数分别为每个互换期权到期。然后互换期权价格计算通过使用表面的黑色隐含波动率作为输入swaptionbyblk函数。

步骤1。负载市场互换期权波动率数据。

负载的黑色市场隐含波动数据互换期权。

解决=12 - 2013年6月- - - - - -”;ExerciseDates = {的12 - 9月- 2013;12 - 2014年6月- - - - - -”;12 - 2015年6月- - - - - -”;12 - 2016年6月- - - - - -”;12 - 2017年6月- - - - - -”;12 - 2018年6月- - - - - -”;12 - 2020年6月- - - - - -”;12 - 2023年6月- - - - - -”};YearsToExercise = yearfrac(解决ExerciseDates 1);NumMaturities =长度(YearsToExercise);MarketVolatilities = [57.6 53.7 49.4 45.6 44.1 41.1 35.2 32.0 46.6 46.9 44.8 41.6 39.8 37.4 33.4 31.0 35.9 39.3 39.6 37.9 37.2 34.7 30.5 28.9 34.1 36.5 37.8 36.6 35.0 31.9 28.1 26.6 41.0 41.3 39.5 37.8 36.0 32.6 29.0 26.0 45.8 43.4 41.9 39.2 36.9 33.2 29.6 26.3 50.3 46.9 44.0 - 40.0 37.5 - 33.8 30.2 - 27.3)/ 100;MarketStrikes = [1.00 1.25 1.68 2.00 2.26 2.41 2.58 2.62;1.50 1.75 2.18 2.50 2.76 2.91 3.08 3.12;2.00 2.25 2.68 3.00 3.26 3.41 3.58 3.62;2.50 2.75 3.18 3.50 3.76 3.91 4.08 4.12;3.00 3.25 3.68 4.00 4.26 4.41 4.58 4.62;3.50 3.75 4.18 4.50 4.76 4.91 5.08 5.12;4.00 4.25 4.68 5.00 5.26 5.41 5.58 5.62)/ 100;:CurrentForwardValues = MarketStrikes(4日)
CurrentForwardValues =1×80.0250 0.0275 0.0318 0.0350 0.0376 0.0391 0.0408 0.0412
:ATMVolatilities = MarketVolatilities(4日)
ATMVolatilities =1×80.3410 0.3650 0.3780 0.3660 0.3500 0.3190 0.2810 0.2660

当前潜在的远期利率和相应的平价波动在八互换期权期限表示两个矩阵的第四行。

步骤2。校准SABR每个互换期权成熟度模型参数。

使用模型中实现的函数blackvolbysabr静态SABR模型,模型参数假定为常数对时间,每个互换期权的参数分别校准成熟度(年锻炼)循环。更好地代表平价市场波动,α参数值由平价市场隐含波动(见“方法2”校准SABR模型)。

定义了预定的β为每个互换期权到期日,校准SABR模型参数和显示校准参数表中。

β= 0.5;贝塔= repmat(βNumMaturities 1);α= 0 (NumMaturities, 1);罗斯= 0 (NumMaturities, 1);新加坡国立大学= 0 (NumMaturities, 1);选择= optimoptions (“lsqnonlin”,“显示”,“没有”);k = 1: NumMaturities%这个函数解决了SABR平价作为一个波动方程%多项式αalpharoots = @(ρ,ν)根([(1 -β)^ 2 * YearsToExercise (k) / 24 / CurrentForwardValues (k) ^(β2 - 2 *)ρ*β*ν* YearsToExercise (k) / 4 / CurrentForwardValues (k) ^(1 -β)(1 +(2 - 3 * ^ 2)ρ*ν^ 2 * YearsToExercise (k) / 24)-ATMVolatilities (k) * CurrentForwardValues (k) ^(1 -β)]);%这个函数将平价波动转化为α通过挑选%最小正实根atmVol2SabrAlpha = @(ρ,ν)分钟(实际(arrayfun (@ (x)x * (x > 0) +最大浮点数* (x < 0 | | abs(图像放大(x)) > 1 e-6), alpharoots(ρ,ν))));%配合ρ和ν(同时将平价波动转化为α)objFun = @ (X) MarketVolatilities (:, k)blackvolbysabr (atmVol2SabrAlpha (X (1), (2)),β,X(1),(2),结算,ExerciseDates (k), CurrentForwardValues (k),MarketStrikes (:, k));0.5 X = lsqnonlin (objFun[0],[1 0],[1正],选项);ρ= X (1);ν= X (2);%得到最终的校准参数αα= atmVol2SabrAlpha(ρ,ν);阿尔法(k) =α;罗斯(k) =ρ;新加坡国立大学(k) =ν;结束CalibratedPrameters = array2table([阿尔法贝塔罗斯新加坡国立大学),“VariableNames”,{“α”“β”的ρ“怒”},“RowNames”,{“3 m 10 y ';“1到10 y”;“2 y 10 y”;' 3到10 y ';“4到10 y”;“5到10 y”;“7到10 y”;“10到10 y”})
CalibratedPrameters =8×4表自从3 mραβν__ ________ ________成10 0.051947 0.5 0.39572 1.4146 - 1 y 10 0.054697 0.5 0.2955 1.1257 - 2 y为0.058433 0.5 0.24175 0.93463 3 y成10 0.058484 0.5 0.20568 0.79647 4 y 10 0.056054 0.5 0.13685 0.76993 5 y为0.051072 0.5 0.060285 0.73595 7 y成10 0.04475 0.5 0.083385 0.66341 10 y y 0.044548 0.5 0.02261 0.49487十

步骤3。构造一个波动表面。

使用校准模型来计算新的在任何罢工波动值产生一个光滑的微笑对于一个给定的成熟。这对每个成熟度可以重复形成表面波动

使用校准计算波动模型每个成熟度和情节波动表面。

PlottingStrikes = (0.95:0.1:5.8) / 100;ComputedVols = 0(长度(PlottingStrikes), NumMaturities);k = 1: NumMaturities ComputedVols (:, k) = blackvolbysabr(α(k),β(k),罗斯(k),新加坡国立大学(k),结算,ExerciseDates (k), CurrentForwardValues (k), PlottingStrikes);结束图;冲浪(YearsToExercise PlottingStrikes ComputedVols);xlim ([0 10]);ylim ([0.0095 - 0.06]);zlim ([0.2 - 0.8]);视图(113年,32);集(gca),“位置”(0.13 - 0.11 0.775 - 0.815),“PlotBoxAspectRatioMode”,“手动”);包含(“年锻炼”,“Fontweight”,“大胆”);ylabel (“罢工”,“Fontweight”,“大胆”);zlabel (“黑色隐含波动率”,“Fontweight”,“大胆”);

图包含一个坐标轴对象。坐标轴对象包含年锻炼,ylabel罢工包含一个类型的对象的表面。

注意,在这个表面波动,微笑会奉承更长时间互换期权期限(年锻炼)。这是一致的ν参数值与掉期期权到期趋于减少,正如先前所显示的表中CalibratedPrameters

步骤4。使用swaptionbyblk掉期期权的价格。

使用表面波动价格互换期权在五年内到期。定义一个互换期权(10年期掉期)在五年内到期的利率期限结构和使用互换期权的时间解决日期来定义RateSpec。使用RateSpec计算当前远期掉期利率使用swapbyzero函数。计算这个互换期权使用黑色SABR隐含波动率blackvolbysabr函数(它被标识为一个红色箭头图之后)。价格互换期权使用黑色SABR隐含波动率作为输入swaptionbyblk函数。

%定义互换期权SwaptionSettle =12 - 2013年6月- - - - - -”;SwaptionExerciseDate =12 - 2018年6月- - - - - -”;SwapMaturity =12 - 2028年6月- - - - - -”;重置= 1;OptSpec =“电话”;罢工= 0.0263;%定义RateSpecValuationDate =12 - 2013年6月- - - - - -”;EndDates = {“12 - 7 - 2013”;的12 - 9月- 2013;的12 - 12月- 2013;12 - 2014年6月- - - - - -”;12 - 2015年6月- - - - - -”;12 - 2016年6月- - - - - -”;12 - 2017年6月- - - - - -”;12 - 2018年6月- - - - - -”;12 - 2019年6月- - - - - -”;12 - 2020年6月- - - - - -”;12 - 2021年6月- - - - - -”;12 - 2022年6月- - - - - -”;12 - 2023年6月- - - - - -”;12 - 2025年6月- - - - - -”;12 - 2028年6月- - - - - -”;12 - 2033年6月- - - - - -”};率= (0.2 0.3 0.4 0.7 0.5 0.7 1.0 1.4 1.7 1.92.1 2.3 2.5 2.8 3.1 3.3]/ 100;复合= 1;RateSpec = intenvset (“ValuationDate”ValuationDate,startdate可以的ValuationDate,“EndDates”EndDates,“利率”率,“复合”复合)
RateSpec =结构体字段:FinObj:“RateSpec”组合:1盘:[16 x1双]利率:x1双[16]EndTimes: x1双[16]开始时间:x1双[16]EndDates: x1双[16]startdate可以:735397 ValuationDate: 735397: 0 EndMonthRule: 1
%使用swapbyzeroLegRate = (NaN 0);%计算远期掉期利率,集南的票面利率。[~,CurrentForwardSwapRate] = swapbyzero (RateSpec、LegRate SwaptionSettle, SwapMaturity,StartDate可以的,SwaptionExerciseDate);%使用blackvolbysabrSABRBlackVolatility = blackvolbysabr(α(6)、β(6),罗斯(6),新加坡国立大学(6),SwaptionSettle,SwaptionExerciseDate CurrentForwardSwapRate,罢工)
SABRBlackVolatility = 0.3932
文本(YearsToExercise(6)罢工,SABRBlackVolatility,“\ leftarrow”,“颜色”,“r”,“FontWeight”,“大胆”,“字形大小”、22);

图包含一个坐标轴对象。坐标轴对象包含年锻炼,ylabel罢工包含2表面类型的对象,文本。

%使用swaptionbyblk价格= swaptionbyblk (RateSpec OptSpec,罢工,SwaptionSettle SwaptionExerciseDate,SwapMaturity SABRBlackVolatility,“重置”重置)
价格= 14.2403

[1]哈根,p S。Kumar D。,Lesniewski, A. S. and Woodward, D. E., “Managing Smile Risk,” Wilmott Magazine, 2002.

[2]西方,G。,“Calibration of the SABR Model in Illiquid Markets,”应用数学金融学,12(4),371 - 385年,2004页。

另请参阅

||

相关的例子

更多关于