Matlab通过市场数据校准Hull-White利率模型参数

简介: Matlab通过市场数据校准Hull-White利率模型参数

利率衍生证券的定价依赖于描述基本过程的模型。这些利率模型取决于您必须通过将模型预测与市场上可用的现有数据进行匹配来确定的一个或多个参数。在Hull-White模型中,有两个与短期利率过程相关的参数:均值回归和波动率。

对于Hull-White模型,关于均值回归(α)和波动率(σ)最小化是二维的。也就是说,校准Hull-White模型可最大程度地减少模型的预测价格与观察到的市场价格之间的差异。


Hull-White校准案例

使用市场数据来识别为构建工具定价的Hull-White树所需的隐含波动率(σ)和均值回归(α)系数,必须对市场数据进行插值。

考虑具有以下参数的上限:



Strike = 0.0690;
Reset = 4;
Principal = 1000;
  datestr(capletDates')
ans =


21-Mar-2008
21-Jun-2008
21-Sep-2008
21-Dec-2008
21-Mar-2009
21-Jun-2009
21-Sep-2009
21-Dec-2009
21-Mar-2010
21-Jun-2010
21-Sep-2010
21-Dec-2010
21-Mar-2011

在最佳情况下,查找带有Strike =的 市场波动率 0.0690,以及列出的到期日,但找到这些确切数据的可能性很小。结果,使用市场上可用的数据并进行插值。

根据市场数据,您可以获得不同日期和行使价的上限信息。

 

到期 协议1 = 0.0590 协议2 = 0.0790
2008年3月21日 0.1533 0. 1526
2008年6月21日 0.1731 0. 1730
2008年9月21日 0. 1727 0. 1726
2008年12月21日 0. 1752 0. 1747
2009年3月21日 0. 1809 0. 1808
2009年6月21日 0. 1809 0. 1792
2009年9月21日 0. 1805 0. 1797
2009年12月21日 0.1802 0. 1794
2010年3月21日 0.1802 0. 1733
2010年6月21日 0. 1757 0. 1751
2010年9月21日 0. 1755 0. 1750
2010年12月21日 0. 1755 0. 1745
2011年3月21日 0. 1726 0. 1719

要求日期,协议价和实际波动分为三个变量:  MarketStrike,  MarketMat,和 MarketVol

MarketStrike = [0.0590; 0.0790];
MarketMat = {'21-Mar-2008';
'21-Jun-2008';
'21-Sep-2008';




MarketVol = [0.1533 0.1731 0.1727 0.1752 0.1809 0.1800 0.1805 0.1802 0.1735 0.1757 ...

使用此数据完成输入参数 RateSpec



RateSpec =


FinObj: 'RateSpec'
Compounding: 4
Disc: [14x1 double]
Rates: [14x1 double]
EndTimes: [14x1 double]
StartTimes: [14x1 double]
EndDates: [14x1 double]
StartDates: 733428
ValuationDate: 733428
Basis: 0
EndMonthRule: 1

调用校准例程以找到波动率参数Alpha和Sigma的值

根据市场数据计算的值 AlphaSigma 。例如,您可以将目标函数的公差定义为 100*eps

Local minimum possible.


> In hwcalbycapfloor at 93
In hwcalbycap at 75


Alpha =


1.0000e-06




Sigma =


0.0127

先前的警告表明转换不是最佳的。使用的搜索算法未找到符合所有约束的解决方案。要辨别该解决方案是否可接受,请通过为以下项指定第三个输出(OptimOut)来查看 优化结果:

hwcalb(RateSpec, MarketStrike, MarketMat,...

结构的 OptimOut.residual 字段 OptimOut是优化残差。此值包含Black caplet和优化过程中计算出的值之间的差异。您可以使用该 OptimOut.residual 值计算与Black Caplet价格相比的百分比差异(误差),然后确定残差是否可以接受,决定是否接受以单一数值参数化的市场 AlphaSigma


使用市场数据和Black模型获取价格

Black -76模型被认为是世界范围内广泛接受的互换期权定价模型,互换期权计算公式看起来和期权价格公式一 样,这表示在使用Black模型对互换期权进行定价时,可以用和定价期权时同样的方法进行计算.为了使Black模型生效,只需输入由市场决定的隐含波动率即可。

为了确定优化的有效性,请使用Black公式和市场数据计算参考值。请注意,您必须首先对市场数据进行插值以获得用于计算的数据量:




FlatVol = interp2(Mats, Strikes, MarketVol, datenum(Maturity),

使用Black模型计算价格:

capbybike, Settle, Maturity, FlatVol,...

Caplets =


0.3210
1.6355

比较优化值和Black值并以图形方式显示

在计算了参考值之后,请通过分析和图形方式比较这些值,以确定是否计算出的单个值 AlphaSigma 提供适当的近似值:


plot(MarketMatNum(2:end), Caplets, 'or', MarketMatNum(2:end), O
ylabel('Caplet Price');
t
set(gcf, 'NumberT

使用Black,HW分析和HW树模型比较上限价格。


相关文章
|
3月前
|
机器学习/深度学习 传感器 算法
【无人车路径跟踪】基于神经网络的数据驱动迭代学习控制(ILC)算法,用于具有未知模型和重复任务的非线性单输入单输出(SISO)离散时间系统的无人车的路径跟踪(Matlab代码实现)
【无人车路径跟踪】基于神经网络的数据驱动迭代学习控制(ILC)算法,用于具有未知模型和重复任务的非线性单输入单输出(SISO)离散时间系统的无人车的路径跟踪(Matlab代码实现)
209 2
|
3月前
|
机器学习/深度学习 算法 安全
【图像处理】使用四树分割和直方图移动的可逆图像数据隐藏(Matlab代码实现)
【图像处理】使用四树分割和直方图移动的可逆图像数据隐藏(Matlab代码实现)
167 2
|
2月前
|
机器学习/深度学习 人工智能 算法
【基于TTNRBO优化DBN回归预测】基于瞬态三角牛顿-拉夫逊优化算法(TTNRBO)优化深度信念网络(DBN)数据回归预测研究(Matlab代码实现)
【基于TTNRBO优化DBN回归预测】基于瞬态三角牛顿-拉夫逊优化算法(TTNRBO)优化深度信念网络(DBN)数据回归预测研究(Matlab代码实现)
121 0
|
3月前
|
传感器 机器学习/深度学习 编解码
【电缆】中压电缆局部放电的传输模型研究(Matlab代码实现)
【电缆】中压电缆局部放电的传输模型研究(Matlab代码实现)
130 3
|
2月前
|
存储 监控 并行计算
目标跟踪中常用点迹航迹数据关联算法的MATLAB实现
通过计算测量点与预测点之间的欧氏距离,选择最近邻点进行关联,适用于单目标跟踪场景。
|
3月前
|
传感器 资源调度 算法
【数据融合】【状态估计】基于KF、UKF、EKF、PF、FKF、DKF卡尔曼滤波KF、无迹卡尔曼滤波UKF、拓展卡尔曼滤波数据融合研究(Matlab代码实现)
【数据融合】【状态估计】基于KF、UKF、EKF、PF、FKF、DKF卡尔曼滤波KF、无迹卡尔曼滤波UKF、拓展卡尔曼滤波数据融合研究(Matlab代码实现)
316 0
|
2月前
|
机器学习/深度学习 算法 机器人
【水下图像增强融合算法】基于融合的水下图像与视频增强研究(Matlab代码实现)
【水下图像增强融合算法】基于融合的水下图像与视频增强研究(Matlab代码实现)
208 0
|
2月前
|
算法 定位技术 计算机视觉
【水下图像增强】基于波长补偿与去雾的水下图像增强研究(Matlab代码实现)
【水下图像增强】基于波长补偿与去雾的水下图像增强研究(Matlab代码实现)
111 0
|
2月前
|
算法 机器人 计算机视觉
【图像处理】水下图像增强的颜色平衡与融合技术研究(Matlab代码实现)
【图像处理】水下图像增强的颜色平衡与融合技术研究(Matlab代码实现)
|
2月前
|
新能源 Java Go
【EI复现】参与调峰的储能系统配置方案及经济性分析(Matlab代码实现)
【EI复现】参与调峰的储能系统配置方案及经济性分析(Matlab代码实现)
107 0

热门文章

最新文章