R语言预测波动率的实现:ARCH模型与HAR-RV模型
原文:http://tecdat.cn/?p=3832
波动率是众多定价和风险模型中的关键参数,例如BS定价方法或风险价值的计算。在这个模型中,或者说在教科书中,这些模型中的波动率通常被认为是一个常数。然而,情况并非如此,根据学术研究,波动率是具有聚类,厚尾和长记忆特征的时间序列变量。
本博客比较了GARCH模型(描述波动率聚类),ARFIMA模型( 长记忆),HAR-RV模型(基于高频数据 ),以及来自SSE 50指数和CME利率期货的样本。
此外,本文使用滚动时间窗预测方法来计算预测波动率并构建指数以评估模型的准确性。结果表明,基于长记忆和实现波动率的ARFIMA-RV模型是最准确的模型。
1.基于GARCH的模型
描述波动率聚类
为了模拟异方差性,GARCH采用以下过程:
为了反映金融市场的不对称性,学者们提出了EGARCH,TGARCH或APARCH,其中APARCH更为一般。
我们从在R中拟合APARCH开始:
可以看出ARCH效应是显而易见的
我们可以得到模型的系数,以及误差分析
为了进一步分析模型,我们分析了QQ图中的正态性残差。
我们发现残差不符合正态性,然后我们测试残差的自相关:
测试对于上面列出的模型,所有残差都具有一些自相关效应。因此,基于GARCH的模型可能不够准确,无法预测波动性。
我们使用MSE(误差的均方)来测量模型的预测性能。
MSE.NGARCH
0.000385108313676526
MSE.tGARCH
0.00038568802365854
MSE.APARCH
0.000385278917823468
2.基于HAR-RV的模型
处理高频实际波动率
高频数据包含更丰富的日内交易信息,因此可用于衡量波动率。实现波动是其中一种方式。如果我们将交易日_t_划分为_N个_时段,每个时段都会有一个对数收益率,那么实际收益可以计算如下:
HAR-RV,异构自回归RV模型由科希创建。
MSE计算如下
MSE.HARRV
1.08226110318177 * 10 ^( - 7)
MSE.HARRVCJ
1.90270268315141 * 10 ^( - 7)
3.基于ARFIMA的模型
描述长记忆
ARFIMA是分整自回归移动平均模型,其具有与ARMA模型相同的表示形式,但差分参数d可以是非整数值:
在差分参数d是非整数的情况下,则可以如下操作
在R中,我们编程探索HAR-RV和HAR-RV-CJ模型。
MSE如下所列
MSE.ARFIMA1
1.0663781087345 * 10 ^( - 7)
MSE.ARFIMA2
1.06634734745652 * 10 ^( - 7)
MSE.ARFIMA3
1.06846983445809 * 10 ^( - 7)
结论
SH50
S&P500
MSE.NGARCH
0.000385108314
7.793024760363 * 10 ^( - 5)
MSE.tGARCH
0.000385688024
7.803986179542 * 10 ^( - 5)
MSE.APARCH
0.000385278919
7.781641356006 * 10 ^( - 5)
MSE.HARRV
1.082261103181 * 10 ^( - 7)
1.459464289508 * 10 ^( - 9)
MSE.HARRVCJ
1.902702683151 * 10 ^( - 7)
N / A(没有足够的数据)
MSE.ARFIMA1
1.066378108737 * 10 ^( - 7)
1.820349558502 * 10 ^( - 8)
MSE.ARFIMA2
1.066347347457 * 10 ^( - 7)
1.848206765296 * 10 ^( - 8)
MSE.ARFIMA3
1.068469834458 * 10 ^( - 7)
1.844987432992 * 10 ^( - 8)
从结果我们知道基于ARFIMA的模型具有与HAR-RV相似的准确度,并且两者都比GARCH模型好得多。
拓端数据
拓端tecdat
拓端(http://tecdat.cn )创立于2016年,自成立以来,就定位为提供专业的数据分析与数据挖掘服务的提供商,致力于充分挖掘数据的价值,为客户定制个性化的数据解决方案与行业报告等。
0 条评论
拓端tecdat
拓端(http://tecdat.cn )创立于2016年,自成立以来,就定位为提供专业的数据分析与数据挖掘服务的提供商,致力于充分挖掘数据的价值,为客户定制个性化的数据解决方案与行业报告等。
宣传栏
目录
原文:http://tecdat.cn/?p=3832
波动率是众多定价和风险模型中的关键参数,例如BS定价方法或风险价值的计算。在这个模型中,或者说在教科书中,这些模型中的波动率通常被认为是一个常数。然而,情况并非如此,根据学术研究,波动率是具有聚类,厚尾和长记忆特征的时间序列变量。
本博客比较了GARCH模型(描述波动率聚类),ARFIMA模型( 长记忆),HAR-RV模型(基于高频数据 ),以及来自SSE 50指数和CME利率期货的样本。
此外,本文使用滚动时间窗预测方法来计算预测波动率并构建指数以评估模型的准确性。结果表明,基于长记忆和实现波动率的ARFIMA-RV模型是最准确的模型。
1.基于GARCH的模型
描述波动率聚类
为了模拟异方差性,GARCH采用以下过程:
为了反映金融市场的不对称性,学者们提出了EGARCH,TGARCH或APARCH,其中APARCH更为一般。
我们从在R中拟合APARCH开始:
可以看出ARCH效应是显而易见的
我们可以得到模型的系数,以及误差分析
为了进一步分析模型,我们分析了QQ图中的正态性残差。
我们发现残差不符合正态性,然后我们测试残差的自相关:
测试对于上面列出的模型,所有残差都具有一些自相关效应。因此,基于GARCH的模型可能不够准确,无法预测波动性。
我们使用MSE(误差的均方)来测量模型的预测性能。
MSE.NGARCH
0.000385108313676526
MSE.tGARCH
0.00038568802365854
MSE.APARCH
0.000385278917823468
2.基于HAR-RV的模型
处理高频实际波动率
高频数据包含更丰富的日内交易信息,因此可用于衡量波动率。实现波动是其中一种方式。如果我们将交易日_t_划分为_N个_时段,每个时段都会有一个对数收益率,那么实际收益可以计算如下:
HAR-RV,异构自回归RV模型由科希创建。
MSE计算如下
MSE.HARRV
1.08226110318177 * 10 ^( - 7)
MSE.HARRVCJ
1.90270268315141 * 10 ^( - 7)
3.基于ARFIMA的模型
描述长记忆
ARFIMA是分整自回归移动平均模型,其具有与ARMA模型相同的表示形式,但差分参数d可以是非整数值:
在差分参数d是非整数的情况下,则可以如下操作
在R中,我们编程探索HAR-RV和HAR-RV-CJ模型。
MSE如下所列
MSE.ARFIMA1
1.0663781087345 * 10 ^( - 7)
MSE.ARFIMA2
1.06634734745652 * 10 ^( - 7)
MSE.ARFIMA3
1.06846983445809 * 10 ^( - 7)
结论
SH50
S&P500
MSE.NGARCH
0.000385108314
7.793024760363 * 10 ^( - 5)
MSE.tGARCH
0.000385688024
7.803986179542 * 10 ^( - 5)
MSE.APARCH
0.000385278919
7.781641356006 * 10 ^( - 5)
MSE.HARRV
1.082261103181 * 10 ^( - 7)
1.459464289508 * 10 ^( - 9)
MSE.HARRVCJ
1.902702683151 * 10 ^( - 7)
N / A(没有足够的数据)
MSE.ARFIMA1
1.066378108737 * 10 ^( - 7)
1.820349558502 * 10 ^( - 8)
MSE.ARFIMA2
1.066347347457 * 10 ^( - 7)
1.848206765296 * 10 ^( - 8)
MSE.ARFIMA3
1.068469834458 * 10 ^( - 7)
1.844987432992 * 10 ^( - 8)
从结果我们知道基于ARFIMA的模型具有与HAR-RV相似的准确度,并且两者都比GARCH模型好得多。