首页 > 其他分享 >R语言中基于混合数据抽样(MIDAS)回归的HAR-RV模型预测GDP增长|附代码数据

R语言中基于混合数据抽样(MIDAS)回归的HAR-RV模型预测GDP增长|附代码数据

时间:2023-02-28 22:58:17浏览次数:53  
标签:GDP RV 语言 模型 GARCH MIDAS 预测

原文链接:http://tecdat.cn/?p=12292

最近我们被客户要求撰写关于HAR-RV的研究报告,包括一些图形和统计输出。

我们复制了Ghysels(2013)中提供的示例。我们进行了MIDAS回归分析,来预测季度GDP增长以及每月非农就业人数的增长

预测GDP增长

预测公式如下

图片

其中yt是按季度季节性调整后的实际GDP的对数增长,x3t是月度总就业非农业工资的对数增长。

首先,我们加载数据并执行转换。

R> y <- window(USqgdp, end = c(2011, 2))
R> x <- window(USpayems, end = c(2011, 7))
R> yg <- diff(log(y)) * 100
R> xg <- diff(log(x)) * 100

最后两行用于均衡样本大小,样本大小在原始数据中有所不同。我们只需在数据的开头和结尾添加其他NA值即可。数据的图形表示如图所示。要指定midas_r函数的模型,我们以下等效形式重写它:

图片

图片


点击标题查阅往期内容

图片

R语言预测期货波动率的实现:ARCH与HAR-RV与GARCH,ARFIMA模型比较

图片

左右滑动查看更多

图片

01

图片

02

图片

03

图片

04

图片

就像在Ghysels(2013)中一样,我们将估算样本限制在1985年第一季度到2009年第一季度之间。我们使用Beta多项式,非零Beta和U-MIDAS权重来评估模型。

R> coef(beta0)
(Intercept) yy xx1 xx2 xx3
0.8315274 0.1058910 2.5887103 1.0201202 13.6867809

R> coef(betan)
(Intercept) yy xx1 xx2 xx3 xx4
0.93778705 0.06748141 2.26970646 0.98659174 1.49616336 -0.09184983

(Intercept) yy xx1 xx2 xx3 xx4
0.92989757 0.08358393 2.00047205 0.88134597 0.42964662 -0.17596814
xx5 xx6 xx7 xx8 xx9
0.28351010 1.16285271 -0.53081967 -0.73391876 -1.18732001

我们可以使用2009年第2季度至2011年第2季度包含9个季度的样本数据评估这三个模型的预测性能。

R> fulldata <- list(xx = window(nx, start = c(1985, 1), end = c(2011, 6)),
+ yy = window(ny, start = c(1985, 1), end = c(2011, 2)))
R> insample <- 1:length(yy)
R> outsample <- (1:length(fulldata$yy))[-insample]
R> avgf <- average_forecast(list(beta0, betan, um), data = fulldata,
+ insample = insample, outsample = outsample)
R> sqrt(avgf$accuracy$individual$MSE.out.of.sample)
[1] 0.5361953 0.4766972 0.4457144

我们看到,MIDAS回归模型提供了最佳的样本外RMSE。

预测实际波动

作为另一个演示,我们使用midasr来预测每日实现的波动率。Corsi(2009)提出了一个简单的预测每日实际波动率的模型。实现波动率的异质自回归模型(HAR-RV)定义为

图片

图片

我们假设一周有5天,一个月有4周。该模型是MIDAS回归的特例:

图片

图片

为了进行经验论证,我们使用了由Heber,Lunde,Shephard和Sheppard(2009)提供的关于股票指数的已实现波动数据。我们基于5分钟的收益数据估算S&P500指数的年度实现波动率模型。

 Parameters:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 0.83041 0.36437 2.279 0.022726 *
rv1 0.34066 0.04463 7.633 2.95e-14 ***
rv2 0.41135 0.06932 5.934 3.25e-09 ***
rv3 0.19317 0.05081 3.802 0.000146 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 5.563 on 3435 degrees of freedom

为了进行比较,我们还使用归一化指数Almon权重来估计模型

 Parameters:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 0.837660 0.377536 2.219 0.0266 *
rv1 0.944719 0.027748 34.046 < 2e-16 ***
rv2 -0.768296 0.096120 -7.993 1.78e-15 ***
rv3 0.029084 0.005604 5.190 2.23e-07 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 5.535 on 3435 degrees of freedom

我们可以使用异方差性和自相关鲁棒权重规范检验hAhr_test来检验这些限制中哪些与数据兼容。

 hAh restriction test (robust version)
data:
hAhr = 28.074, df = 17, p-value = 0.04408
 
hAh restriction test (robust version)
data:
hAhr = 19.271, df = 17, p-value = 0.3132

我们可以看到,与MIDAS回归模型中的HAR-RV隐含约束有关的零假设在0.05的显着性水平上被拒绝,而指数Almon滞后约束的零假设则不能被拒绝。

图片

图说明了拟合的MIDAS回归系数和U-MIDAS回归系数及其相应的95%置信区间。对于指数Almon滞后指标,我们可以通过AIC或BIC选择滞后次数。

我们使用了两种优化方法来提高收敛性。将测试函数应用于每个候选模型。函数hAhr_test需要大量的计算时间,尤其是对于滞后阶数较大的模型,因此我们仅在第二步进行计算,并且限制了滞后 restriction test 的选择。AIC选择模型有9阶滞后:

 Selected model with AIC = 21551.97
Based on restricted MIDAS regression model
The p-value for the null hypothesis of the test hAhr_test is 0.5531733
 Parameters:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 0.96102 0.36944 2.601 0.00933 **
rv1 0.93707 0.02729 34.337 < 2e-16 ***
rv2 -1.19233 0.19288 -6.182 7.08e-10 ***
rv3 0.09657 0.02190 4.411 1.06e-05 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 5.524 on 3440 degrees of freedom

hAh_test的HAC再次无法拒绝指数Almon滞后的原假设。我们可以使用具有1000个观测值窗口的滚动预测来研究两个模型的预测性能。为了进行比较,我们还计算了无限制AR(20)模型的预测。

 Model MSE.out.of.sample MAPE.out.of.sample
1 rv ~  (rv, 1:20, 1) 10.82516 26.60201
2 rv ~  (rv, 1:20, 1, harstep) 10.45842 25.93013
3 rv ~  (rv, 1:9, 1, nealmon) 10.34797 25.90268
MASE.out.of.sample MSE.in.sample MAPE.in.sample MASE.in.sample
1 0.8199566 28.61602 21.56704 0.8333858
2 0.8019687 29.24989 21.59220 0.8367377
3 0.7945121 29.08284 21.81484 0.8401646

我们看到指数Almon滞后模型略优于HAR-RV模型,并且两个模型均优于AR(20)模型。

参考文献

Andreou E,Ghysels E,Kourtellos A(2010)。“具有混合采样频率的回归模型。” 计量经济学杂志,158,246–261。doi:10.1016 / j.jeconom.2010.01。004。

Andreou E,Ghysels E,Kourtellos A(2011)。“混合频率数据的预测。” 在MP Clements中,DF Hendry(编),《牛津经济预测手册》,第225–245页。


图片

点击文末 “阅读原文”

获取全文完整资料。

本文选自《R语言中基于混合数据抽样(MIDAS)回归的HAR-RV模型预测GDP增长》。

点击标题查阅往期内容

HAR-RV-J与递归神经网络(RNN)混合模型预测和交易大型股票指数的高频波动率
R语言预测期货波动率的实现:ARCH与HAR-RV与GARCH,ARFIMA模型比较
PYTHON用GARCH、离散随机波动率模型DSV模拟估计股票收益时间序列与蒙特卡洛可视化
极值理论 EVT、POT超阈值、GARCH 模型分析股票指数VaR、条件CVaR:多元化投资组合预测风险测度分析
Garch波动率预测的区制转移交易策略
金融时间序列模型ARIMA 和GARCH 在股票市场预测应用
时间序列分析模型:ARIMA-ARCH / GARCH模型分析股票价格
R语言风险价值:ARIMA,GARCH,Delta-normal法滚动估计VaR(Value at Risk)和回测分析股票数据
R语言GARCH建模常用软件包比较、拟合标准普尔SP 500指数波动率时间序列和预测可视化
Python金融时间序列模型ARIMA 和GARCH 在股票市场预测应用
MATLAB用GARCH模型对股票市场收益率时间序列波动的拟合与预测R语言GARCH-DCC模型和DCC(MVT)建模估计
Python 用ARIMA、GARCH模型预测分析股票市场收益率时间序列
R语言中的时间序列分析模型:ARIMA-ARCH / GARCH模型分析股票价格
R语言ARIMA-GARCH波动率模型预测股票市场苹果公司日收益率时间序列
Python使用GARCH,EGARCH,GJR-GARCH模型和蒙特卡洛模拟进行股价预测
R语言时间序列GARCH模型分析股市波动率
R语言ARMA-EGARCH模型、集成预测算法对SPX实际波动率进行预测
matlab实现MCMC的马尔可夫转换ARMA - GARCH模型估计
Python使用GARCH,EGARCH,GJR-GARCH模型和蒙特卡洛模拟进行股价预测
使用R语言对S&P500股票指数进行ARIMA + GARCH交易策略
R语言用多元ARMA,GARCH ,EWMA, ETS,随机波动率SV模型对金融时间序列数据建模
R语言股票市场指数:ARMA-GARCH模型和对数收益率数据探索性分析
R语言多元Copula GARCH 模型时间序列预测
R语言使用多元AR-GARCH模型衡量市场风险
R语言中的时间序列分析模型:ARIMA-ARCH / GARCH模型分析股票价格
R语言用Garch模型和回归模型对股票价格分析
GARCH(1,1),MA以及历史模拟法的VaR比较
matlab估计arma garch 条件均值和方差模型R语言POT超阈值模型和极值理论EVT分析
R语言极值推断:广义帕累托分布GPD使用极大似然估计、轮廓似然估计、Delta法
R语言极值理论EVT:基于GPD模型的火灾损失分布分析
R语言有极值(EVT)依赖结构的马尔可夫链(MC)对洪水极值分析
R语言POT超阈值模型和极值理论EVT分析
R语言混合正态分布极大似然估计和EM算法
R语言多项式线性模型:最大似然估计二次曲线
R语言Wald检验 vs 似然比检验
R语言GARCH-DCC模型和DCC(MVT)建模估计
R语言非参数方法:使用核回归平滑估计和K-NN(K近邻算法)分类预测心脏病数据
matlab实现MCMC的马尔可夫转换ARMA - GARCH模型估计
R语言基于Bootstrap的线性回归预测置信区间估计方法
R语言随机搜索变量选择SSVS估计贝叶斯向量自回归(BVAR)模型
Matlab马尔可夫链蒙特卡罗法(MCMC)估计随机波动率(SV,Stochastic Volatility) 模型
Matlab马尔可夫区制转换动态回归模型估计GDP增长率R语言极值推断:广义帕累托分布GPD使用极大似然估计、轮廓似然估计、Delta法

标签:GDP,RV,语言,模型,GARCH,MIDAS,预测
From: https://www.cnblogs.com/tecdat/p/17166381.html

相关文章

  • 浅析nginx -s reload与service nginx restart区别及linux下nginx加载配置文件异常提示
    1、语法:nginx-ssignal。signal的值如下:stop:fastshutdown,快速的停止nginxquit:gracefulshutdown,不再接受新的请求,等正在处理的请求出完成后在进行停止(优雅的......
  • Nginx+Gunicorn+supervisor部署基于flask开发的项目
    1.概述(1)概述FlaskFlask是Python中有名的轻量级同步web框架Gunicorn高性能的PythonWSGI服务器NginxNginx是一个高性能的HTTP和反向代理服务器,同时也是......
  • 关于OpenShift(OKD)网络Service、Routes的一些认识
    写在前面博文内容为OpenShift网络相关组件Service、Routes的一些认识理解不足小伙伴帮忙指正傍晚时分,你坐在屋檐下,看着天慢慢地黑下去,心里寂寞而凄凉,感到自己的生......
  • C#文件转Byte存储到SQLServer数据库
    场景:临时不同的系统,相同的数据库,通用文件读取1.数据库字段采用:varbinary(max)类型2.代码注:这里获取文件是通过先将byte[]数据先存到当前服务器对应项目的文件夹中(加了......
  • getServletContext爆红
    看下依赖删除<dependency><groupId>javax.servlet</groupId><artifactId>servlet-api</artifactId><version>2.5</ve......
  • JavaWeb中的Servlet
    Servlet目录Servlet一、互联网中的资源二、Servlet2.1、Servlet的作用2.2、Servlet执行流程2.3、Servlet生命周期2.4、Servlet的继承体系由来一:GenericServlet二:HttpServl......
  • 解决SQL Server 删除大量数据后磁盘空间无变化
    造成空间不变化的原因InnoDB中采用了B+树作为存储数据的结构,也就是常说的索引组织表。在InnoDB中,delete操作并不会真的删除数据,SQLServer实际上只是给要删除的数据打......
  • Servlet处理请求参数中文乱码问题
    资料来源于:B站尚硅谷JavaWeb教程(全新技术栈,全程实战),本人才疏学浅,记录笔记以供日后回顾视频链接获取的请求参数有中文乱码问题设置编码tomcat8之前,设置编码:......
  • 注册功能_后台_service代码实现&测试与注册功能_后台_验证码&前台数据处理
    注册功能_后台_service代码实现&测试添加数据   成功的添加到数据库中     注册功能_后台_验证码&前台数据处理  //验证......
  • Servlet入门
    资料来源于:B站尚硅谷JavaWeb教程(全新技术栈,全程实战),本人才疏学浅,记录笔记以供日后回顾视频链接创建Servlet流程与可能遇到的问题新建项目-新建模块在模块中添......