hwcalbyfloor
校准Hull-White树使用地板
语法
描述
(
校准的α
,σ
,OptimOut
)= hwcalbyfloor (RateSpec
,MarketStrike
MarketMaturity
,MarketVolatility
)α
(均值回归)σ
(波动)使用地板市场数据和Hull-White模型使用整个地板表面。
Hull-White校准函数(hwcalbyfloor
和hwcalbycap
)支金宝app持三种模式:黑色(默认),Bachelier或正常,将黑色的。有关更多信息,请参见的可选参数转变
和模型
。
(
估计,α
,σ
,OptimOut
= hwcalbyfloor (RateSpec
,MarketStrike
MarketMaturity
,MarketVolatility
,罢工
,解决
,成熟
)α
(均值回归)σ
(波动)使用地板市场数据和Hull-White模型价格在特定成熟度/地板使用额外的可选的输入参数波动罢工
,解决
,成熟
。
罢工
,解决
,成熟
指定参数校准市场波动表面上的一个特定点。如果省略,在所有的市场工具执行校准
对校准使用Hull-White模型的一个例子罢工
,解决
,成熟
输入参数,请参阅使用市场数据校准Hull-White模型。
例子
从市场数据校准Hull-White模型使用整个地板表面波动
这个例子展示了如何使用hwcalbyfloor
输入参数为MarketStrike
,MarketMaturity
,MarketVolatility
校准HW模型使用整个地板表面波动。
地板市场波动数据覆盖两个罢工在12到期日期。
重置= 4;MarketStrike = (0.0590;0.0790);MarketMaturity = {“21 - 3月- 2008”;截止2008年6月21日的;“21 - 9 - 2008”;”21日- 12月- 2008;“21 - 3月- 2009”;截止2009年6月21日的;“21 - 9 - 2009”;”21日- 12月- 2009;“21 - 3月- 2010”;截止2010年6月21日的;“21 - 9 - 2010”;”21日- 12月- 2010};MarketMaturity = datenum (MarketMaturity);MarketVolaltility = [0.1533 0.1731 0.1727 0.1752 0.1809 0.1800 0.1805 0.1802…0.1735 0.1757 0.1755 0.1755;0.1526 0.1730 0.1726 0.1747 0.1808 0.1792 0.1797 0.1794…0.1733 0.1751 0.1750 0.1745);
策划市场波动表面。
[AllMaturities, AllStrikes] = meshgrid (MarketMaturity MarketStrike);图;冲浪(AllMaturities AllStrikes MarketVolaltility) datetick包含(“成熟”)ylabel (“罢工”)zlabel (“波动”)标题(“市场波动数据”)
利率期限结构和创建一个RateSpec
。
解决=“21日- 1月- 2008”;复合= 4;基础= 0;率= (0.0627;0.0657;0.0691;0.0717;0.0739;0.0755;0.0765; 0.0772; 0.0779; 0.0783; 0.0786; 0.0789]; EndDates = {“21 - 3月- 2008”;截止2008年6月21日的;“21 - 9 - 2008”;”21日- 12月- 2008;…“21 - 3月- 2009”;截止2009年6月21日的;“21 - 9 - 2009”;”21日- 12月- 2009;…。“21 - 3月- 2010”;截止2010年6月21日的;“21 - 9 - 2010”;”21日- 12月- 2010};RateSpec = intenvset (“ValuationDate”解决,startdate可以的解决,…“EndDates”EndDates,“利率”率,“复合”复合,…“基础”基础)
RateSpec = FinObj:“RateSpec”复合:4盘:[12 x1双]利率:x1双[12]EndTimes: [12 x1双]开始时间:x1双[12]EndDates: x1双[12]startdate可以:733428 ValuationDate: 733428: 0 EndMonthRule: 1
从市场数据校准Hull-White模型。
o = optimoptions (“lsqnonlin”,“TolFun”1 e-5“显示”,“关闭”);(ασ)= hwcalbyfloor (RateSpec、MarketStrike MarketMaturity,…MarketVolaltility,“重置”重置,“基础”的基础上,“OptimOptions”啊,)
警告:LSQNONLIN不收敛到最优解。它退出exitflag = 3。在hwcalbycapfloor > > optimizeOverCapSurface 232在79年hwcalbycapfloor hwcalbyfloor 81α= 0.0835σ= 0.0145
黑色的价格进行比较。
BlkPrices = floorbyblk (RateSpec AllStrikes (:),, AllMaturities (:),…MarketVolaltility (:),“重置”重置,“基础”基础)
BlkPrices = 0 0.2659 0.0010 0.5426 0.0021 0.6841 0.0042 0.7947 0.0081 0.8970 0.0128 0.9947 0.0217 1.1145 0.0340 1.2448 0.0402 1.3415 0.0610 1.4947 0.0827 1.6458 0.1071 1.7951
使用校准参数设置Hull-White树、ασ。
VolDates = EndDates;VolCurve =σ*的(元素个数(EndDates), 1);AlphaDates = EndDates;AlphaCurve =α*的(元素个数(EndDates), 1);HWVolSpec = HWVolSpec(结算、VolDates VolCurve, AlphaDates, AlphaCurve);HWTimeSpec = HWTimeSpec(结算、EndDates复合);HWTree = HWTree (HWVolSpec RateSpec HWTimeSpec,“方法”,“HW2000”)
HWTree = FinObj:“HWFwdTree”VolSpec: [1 x1 struct] TimeSpec: [1 x1 struct] RateSpec: [1 x1 struct]则:[0 0.6593 1.6612 2.6593 3.6612 4.6593 5.6612 6.6593 7.6612 8.6593 9.6612 10.6593]罗伯特:[733428 733488 733580 733672 733763 733853 733945 734037 734128 734218 734310 734402]CFlowT: {1} x12细胞聚合氯化铝:}{1 x11细胞连接:{1 x11细胞}FwdTree: {1} x12细胞
根据校准计算Hull-White价格树。
HWPrices = floorbyhw (HWTree AllStrikes (:),, AllMaturities(:),重置,基础)
HWPrices = 0 0.2644 0.0067 0.5404 0.0101 0.6924 0.0169 0.7974 0.0236 0.8919 0.0320 0.9919 0.0460 1.1074 0.0649 1.2340 0.0829 1.3558 0.1096 1.4957 0.1406 1.6418 0.1724 1.7877
情节黑色价格对校准Hull-White树。
图;BlkPrices情节(AllMaturities (:),”或“HWPrices AllMaturities (:),‘* b”);datetick (“x”(2)包含“成熟”);ylabel (“价格”);标题(“黑和校准(HW)价格”);传奇(“黑价格”,“校准HW树价格”,“位置”,“西北”);网格在
校准Floorlets使用正常(Bachelier)模型
这个例子展示了如何使用hwcalbyfloor
校准市场数据与正常价格floorlets (Bachelier)模型。使用正常(Bachelier)模型执行校准使用负利率时,罢工,和正常的隐含波动率。
考虑一个地板与这些参数:
解决= datetime (2016、12、30);成熟= datetime (2019、12、30);罢工= -0.004075;重置= 2;校长= 100;基础= 0;
floorlets和市场数据对于这个例子被定义为:
floorletDates = cfdates(结算、成熟度、重置基础);datestr (floorletDates”)
ans =6 x11 char数组30——2017年6月,“30 - 12月- 2017年的30 - 2018年6月,“30 - 12月- 2018年的30——2019年6月,“30 - 12月- 2019 '
%的市场数据信息MarketStrike = (-0.00595;0);MarketMat = [datetime (2017、6、30);datetime(2017, 12日,30);datetime (2018、6、30);datetime(2018, 12日,30);datetime (2019、6、30);datetime (2019、12、30)];MarketVol = [0.184 0.2329 0.2398 0.2467 0.2906 - 0.3348;%第一行对应表10.217 0.2707 0.2760 0.2814 0.3160 - 0.3508);%罢工相关表2中第二行
定义RateSpec
使用intenvset
。
率= (-0.003210;-0.003020;-0.00182;-0.001343;-0.001075);ValuationDate = datetime (2016、12、30);EndDates = [datetime (2017、6、30);datetime(2017, 12日,30);datetime (2018、6、30);datetime(2018, 12日,30);datetime (2019、12、30)];复合= 2;基础= 0;RateSpec = intenvset (“ValuationDate”ValuationDate,…startdate可以的ValuationDate,“EndDates”EndDates,…“利率”率,“复合”复合,“基础”、基础);
使用hwcalbyfloor
发现波动率参数的值α
和σ
使用正常(Bachelier)模型。
格式短o = optimoptions (“lsqnonlin”,“TolFun”,100 * eps);警告(“关闭”,“fininst: hwcalbycapfloor: NoConverge”)[ασ,OptimOut] = hwcalbyfloor (RateSpec、MarketStrike MarketMat,…MarketVol,罢工,解决,成熟,“重置”重置,“校长”校长,…“基础”的基础上,“OptimOptions”阿,,“模型”,“正常”)
局部最小值。lsqnonlin停止因为当前步骤的大小小于步长值的宽容。
α= 1.0000 e-06
σ= 0.3410
OptimOut =结构体字段:resnorm: 1.9233 e-04残留:x1双[5]exitflag: 2输出:[1 x1 struct]λ:雅可比矩阵[1 x1 struct]: [5 x2双)
的OptimOut.residual
场的OptimOut
结构优化残余。这个值包含正常的区别(Bachelier) floorlets和那些在优化计算。使用OptimOut.residual
值计算percentual差异(错误),而正常(Bachelier) floorlet价格,然后决定是否残留是可以接受的。几乎总是有一些剩余,所以决定是否接受参数化市场的一个值α
和σ
。
价格floorlets使用市场数据和正常(Bachelier)模型获取参考floorlet值。确定优化的有效性,计算参考使用正常(Bachelier) floorlet值公式和市场数据。请注意,您必须首先插入的市场数据获取floorlets计算。
MarketMatNum = datenum (MarketMat);[垫、罢工]= meshgrid (MarketMatNum MarketStrike);FlatVol = interp2(垫、罢工、MarketVol datenum(成熟),罢工,样条的);[FloorPrice, Floorlets] = floorbynormal (RateSpec,罢工,解决、成熟度、FlatVol…“重置”重置,“基础”的基础上,“校长”、校长);Floorlets = Floorlets(2:结束)
Floorlets =5×14.7637 6.7180 8.1833 9.5825 10.6090
比较优化值和正常(Bachelier)值,并以图形方式显示结果。计算floorlets引用值后,比较分析和图形化的值来确定单个值的计算α
和σ
提供一个适当的近似。
OptimFloorlets = Floorlets + OptimOut.residual;disp (' ');
disp (“Bachelier校准Floorlets”);
Bachelier校准Floorlets
disp ([Floorlets OptimFloorlets])
4.7637 4.7685 6.7180 6.7263 8.1833 8.1878 9.5825 9.5795 10.6090 10.6007
情节(MarketMatNum(2:结束),Floorlets,”或“OptimFloorlets MarketMatNum(2:结束),‘* b”);datetick (“x”(2)包含“Floorlet成熟度”);ylabel (“Floorlet价格”);ylim ([0 16]);标题(“Bachelier和校准Floorlets”);h =传奇(“Bachelier Floorlets”,“校准Floorlets”);集(h,“颜色”[0.9 0.9 0.9]);集(h,“位置”,“东南”);集(gcf,“NumberTitle”,“关闭”网格)在
输入参数
MarketStrike
- - - - - -市场上罢工
向量
市场上罢工,指定为一个NINST
——- - - - - -1
向量。
数据类型:双
MarketMaturity
- - - - - -市场地板到期日
datetime数组|字符串数组|日期特征向量
市场上成熟日期,指定为一个NINST
——- - - - - -1
使用datetime向量数组,字符串数组,或日期特征向量。
支持现金宝app有的代码,hwcalbyfloor
还接受连续日期数据作为输入,但不推荐。
MarketVolatility
- - - - - -市场平波动
矩阵
市场波动,指定为一个NSTRIKES
——- - - - - -NMATS
矩阵的市场平波动,NSTRIKES
罢工是囊片的数量MarketStrike
和NMATS
囊片成熟日期来自哪里MarketMaturity
。
数据类型:双
罢工
- - - - - -速率地板上行使
十进制标量
(可选)速率地板上行使,指定为小数标量值。
数据类型:双
解决
- - - - - -结算日期的地板上
datetime标量|字符串标量|日期特征向量
(可选)结算日期,指定为一个标量datetime,字符串,或数据特征向量。
支持现金宝app有的代码,hwcalbyfloor
还接受连续日期数据作为输入,但不推荐。
成熟
- - - - - -到期日的地板上
datetime标量|字符串标量|日期特征向量
(可选)到期日的地板上,指定为标量datetime,字符串,或数据特征向量。
支持现金宝app有的代码,hwcalbyfloor
还接受连续日期数据作为输入,但不推荐。
名称-值参数
指定可选的双参数作为Name1 = Value1,…,以=家
,在那里的名字
参数名称和吗价值
相应的价值。名称-值参数必须出现在其他参数,但对的顺序无关紧要。
R2021a之前,用逗号来分隔每一个名称和值,并附上的名字
在报价。
例子:[ασ,OptimOut] = hwcalbyfloor (RateSpec、MarketStrike MarketMaturity, MarketVolaltility,“重置”,2,“校长”,100000年,“基础”,3,OptimOptions, o)
重置
- - - - - -每年支付的频率
1
(默认)|数字
每年支付的频率,指定为逗号分隔组成的“重置”
和一个标量数值。
数据类型:双
主要
- - - - - -名义本金
One hundred.
(默认)|非负整数
名义本金,指定为逗号分隔组成的“校长”
和一个标量非负整数。
数据类型:双
基础
- - - - - -日计数的基础上按年折算时使用输入远期利率
0
(实际/实际)(默认)|整数的集合[0…13]
日计数的基础上按年计算输入时使用远期利率,指定为逗号分隔组成的“基础”
和一个标量值。值:
0 =实际/实际
1 = 30/360 (SIA)
2 =实际/ 360
3 =实际/ 365
4 = 30/360 (PSA)
5 = 30/360 (ISDA)
6 = 30/360(欧洲)
7 =实际/ 365(日本)
8 =实际/实际(国际)
9 =实际/ 360(国际)
10 =实际/ 365(国际)
11 = 30/360E(国际)
12 =实际/ 365 (ISDA)
13 =总线/ 252
有关更多信息,请参见基础。
数据类型:双
磅
- - - - - -下界
(0,0)
(默认)|数值向量
下界,指定为逗号分隔组成的“磅”
和一个2
——- - - - - -1
向量的下界,定义为[LBSigma;LBAlpha]
搜索算法中使用的函数。有关更多信息,请参见lsqnonlin
。
数据类型:双
乌兰巴托
- - - - - -上界
[]
(未绑定)(默认)|数值向量
上界,指定为逗号分隔组成的乌兰巴托的
和一个2
——- - - - - -1
向量的上界,定义为[UBSigma;LBAlpha]
搜索算法中使用的函数。有关更多信息,请参见lsqnonlin
。
数据类型:双
XO
- - - - - -初始值
[0.5,0.5]
(默认)|数值向量
初始值,指定为逗号分隔组成的“XO”
和一个2
——- - - - - -1
向量的初始值,定义为[Sigma0;Alpha0]
搜索算法中使用的函数。有关更多信息,请参见lsqnonlin
。
数据类型:双
OptimOptions
- - - - - -优化参数
结构
优化参数,指定为逗号分隔组成的“OptimOptions”
和结构定义使用optimoptions
。
数据类型:结构体
转变
- - - - - -小数为黑色转移模型的转变
0
(没有变化)(默认)|积极的小数
小数的转变对于移位的黑色模型,指定为逗号分隔组成的“转变”
和一个标量积极的十进制值。将这个参数设置为一个积极的转变小数远期利率和增加积极的转变罢工
,有效集远期利率和消极的下界罢工
。例如,一个转变
的价值0.01
等于1%的转变。
数据类型:双
模型
- - - - - -指标模型用于校准程序
对数正态
(黑色的模型)(默认)|值是正常的
和对数正态
指标模型用于校准程序,指定为逗号分隔组成的“模型”
和一个标量值的特征向量正常的
或对数正态
。
数据类型:字符
输出参数
α
——均值回归价值获得校准地板使用市场信息
标量数值
均值回归价值获得校准地板利用市场信息,作为一个标量值返回。
σ
——波动值从校准地板使用获得市场信息
标量数值
波动值获得校准地板利用市场信息,作为一个标量返回。
OptimOut
——优化结果
数字结构
优化的结果,作为一个结构返回。
版本历史
介绍了R2009aAbrir比如
这种版本modificada德埃斯特比如。害怕Desea abrir埃斯特比如con sus modificaciones吗?
第一de MATLAB
Ha事实clic en联合国围绕此时一个埃斯特第一de MATLAB:
Ejecute el第一introduciendolo en la ventana de第一de MATLAB。洛杉矶navegadores网络没有admiten第一de MATLAB。
你也可以从下面的列表中选择一个网站:
表现最好的网站怎么走吗
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。