关于数据挖掘:R语言GARCH模型对股市sp500收益率bootstrap滚动估计预测VaR拟合诊断和蒙特卡罗模拟可视化附代码数据

31次阅读

共计 4384 个字符,预计需要花费 11 分钟才能阅读完成。

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

最近咱们被客户要求撰写对于 GARCH 的钻研报告,包含一些图形和统计输入。

Box 等人的开创性工作 (1994) 在自回归挪动均匀模型畛域的相干工作为稳定率建模畛域的相干工作铺平了路线,别离由 Engle (1982) 和 Bollerslev (1986) 引入了 ARCH 和 GARCH 模型

这些模型的扩大包含更简单的动力学,例如阈值模型来捕获新闻影响的不对称性,以及除正态之外的散布来解释实际中察看到的偏度和适度峰度。在进一步的扩大中,本文旨在为单变量 GARCH 过程建模提供一套全面的办法,包含拟合、过滤、预测、模仿以及诊断工具,包含绘图和各种测试。用于评估模型不确定性的其余办法(例如滚动预计、疏导预测和模仿参数密度)为这些过程的建模提供了丰盛的环境。

示例

拟合对象属于 uGARCHfit 类,能够传递给各种其余办法,例如 show (summary)、plot、ugarchsim、ugarchforecast 等。

> fit = ugarchfit(spec = spec)

拟合诊断

持重标准误差基于 White (1982) 的办法,该办法通过计算参数 (θ) 的协方差 (V) 来生成渐近无效的置信区间:

其中,

这是最佳分数的 Hessian 和协方差。持重标准误差是 V 的对角线的平方根。拟合或过滤对象上的 inforcriteria 办法返回 Akaike (AIC)、贝叶斯 (BIC)、Hannan-Quinn (HQIC) 和 Shibata (SIC) 信息规范,以通过以不同速率惩办过拟合来启用模型抉择。模式上,它们能够定义为:

Q-statistics 和 ARCH-LM 测验已被 Fisher 和 Gallagher (2012) 的 Weighted Ljung-Box 和 ARCH-LM 统计量取代,这更好地阐明了来自预计模型。ARCH-LM 测验当初是一个加权组合测验,用于测验充沛拟合的 ARCH 过程的原假如,而 Ljung-Box 是另一个组合测验,其 ARMA 拟合的充分性为零。signbias 计算 Engle 和 Ng (1993) 的 Sign Bias Test,也显示在摘要中。这测试了标准化残差中杠杆效应的存在(以捕获 GARCH 模型可能的谬误指定),

其中 I 是指标函数,^t 是 GARCH 过程的预计残差。原假如是 H0:ci = 0(对于 i = 1、2、3),并且联结 H0:c1 = c2 = c3 = 0。从先前拟合的总结能够推断,存在显着的负和对冲击的踊跃反馈。应用诸如 apARCH 之类的模型可能会加重这些影响

gof 计算卡方拟合优度测验,将标准化残差的教训散布与所选密度的实践散布进行比拟。该实现基于 Palm (1996) 的测试,该测试通过从新分类标准化残差而不是依据它们的值(如在规范测试中),而是依据它们的大小,计算在存在非独立同散布察看的状况下的测试,计算察看到小于标准化残差的值的概率,该残差应该是雷同的规范均匀分布。该函数必须采纳 2 个参数,即拟合对象以及用于对值进行分类的箱数。在拟合摘要中,应用了 (20, 30, 40, 50) 个 bin 的抉择,

nymblom 测验计算了 Nyblom (1989) 的参数稳定性测验,以及联结测验。显示用于比拟后果的临界值,但在超过 20 个参数的状况下,这不适用于联结测试。

视频

工夫序列剖析:ARIMA GARCH 模型剖析股票价格数据

**

拓端

,赞 22

最初,一些信息图能够交互绘制(which = ‘ask’),独自绘制(which = 1:12),或者一次全副绘制(which = ‘all’),如图 2 所示。


点击题目查阅往期内容

R 语言极值实践 EVT、POT 超阈值、GARCH 模型剖析股票指数 VaR、条件 CVaR:多元化投资组合预测危险测度剖析

左右滑动查看更多

01

02

03

04

过滤

有时心愿应用一组预约义的参数简略地过滤一组数据。例如,当新数据达到并且人们可能不心愿从新拟合时,可能就是这种状况。

> filt = ugarchfilter(spec = spe)
> show(filt)

预测和 GARCH bootstrap 程序

两种类型的预测。一种滚动办法,其中基于拟合例程中设置的 out.sample 选项创立间断 1-ahead 预测,以及用于 n>1 超前预测的无条件办法。(也能够将两者联合起来创立一个相当简单的对象)。在后一种状况下,也能够应用 Pascual 等人形容的 bootstrap 程序。bootstrap 办法基于从拟合模型的教训散布中从新采样标准化残差,以生成序列和 sigma 的将来实现。实现了两种办法:一种通过模仿和从新拟合建设参数的模仿散布来思考参数不确定性,另一种只思考散布不确定性,从而防止低廉且简短的参数散布预计。在后一种状况下,1-ahead sigma 预测的预测区间将不可用,因为在这种状况下,只有参数不确定性与 GARCH 类型模型相干。

> sec = ugrspc(are.e=list(model="csGARCH"),ititin="std")
> fi = grit(sc,sp5et)
bot(fit, mehod = c("Pl", "Full")[1],

残缺 GARCH bootstrap 程序总结如下:

  1. 从预计对象中提取标准化残差。如果是具备固定参数的标准,首先应用提供的数据集进行过滤,而后从过滤后的对象中提取标准化残差。
  2. 应用 spd 或基于内核的办法从原始标准化残差中采样大小为 N 的 n.bootfit 集(原始数据集减去任何样本周期外)。

模仿

模仿能够间接在拟合对象上进行:

其中 n.sim 示意模仿的长度,而 m.sim 示意独立模仿的数量。出于速度的起因,当 n.sim 绝对于 m.sim 较大时,仿真代码在 C 中执行,而对于较大的 m.sim,应用了非凡用处的 C++ 代码(应用 Rcpp 和 RcppArmadillo),发现这会导致速度显着进步。

滚动预计

对模型 / 数据集组合执行滚动预计和预测,可抉择返回指定程度的 VaR。更重要的是,它返回计算预测密度所需的任何度量所必须的散布预测参数。以下示例阐明了该办法的应用,其中还应用了并行性能并在 10 个内核上运行。

> cl = mkSluter(10)
> spec = uarpc(vaaneoel = list(model = "eGARCH"), ditrtonodel = "jsu")
> roll = ghrospe,se .at = 1000, ef.every= 10,
refit.windw =moing, calult.V= TRUE,
V.ha = c(0.01, 0.05), cser = c, eep.oef = TUE)


> report

蒙特卡罗试验:模仿参数散布和 RMSE

通过屡次模仿和拟合模型并针对不同的“窗口”大小来执行蒙特卡罗试验。这容许通过查看均方根误差的降落率以及咱们是否具备 √ N 一致性,在数据窗口减少时对参数估计的一致性有所理解。

> spec = urhprnmel = list(model = "gjrGARCH"),
+ distuto.el  "ged")


> dist = ugacdsribton(fiOspec spec, n.sm = 2000),
+ user = cl)
> stopCluster(cl)
> show(dist)

 

常见问题解答和指南

问:我应该应用多少数据对 GARCH 过程进行建模?

然而,应用 100 个数据点来尝试拟合模型不太可能是一种正当的办法,因为您不太可能取得十分无效的参数估计。提供了一种办法(ugarchdistribution),用于从预先指定的模型、不同大小的数据进行模仿,将模型拟合到数据,并推断参数的散布以及作为数据长度的 RMSE 变化率减少。这是查看参数散布的一种计算成本十分高的办法(但在非贝叶斯世界中是惟一的办法),因而应审慎应用并在有足够计算能力的状况下应用。

点击题目查阅往期内容

R 语言单变量和多变量(多元)动静条件相关系数 DCC-GARCH 模型剖析股票收益率金融工夫序列数据稳定率 \
R 语言中的工夫序列分析模型:ARIMA-ARCH / GARCH 模型剖析股票价格 \
GARCH-DCC 模型和 DCC(MVT)建模预计 \
R 语言预测期货稳定率的实现:ARCH 与 HAR-RV 与 GARCH,ARFIMA 模型比拟 \
ARIMA、GARCH 和 VAR 模型预计、预测 ts 和 xts 格局工夫序列 \
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 语言极值实践 EVT、POT 超阈值、GARCH 模型剖析股票指数 VaR、条件 CVaR:多元化投资组合预测危险测度剖析 \
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 条件均值和方差模型

正文完
 0