0

我已经估计了一个BEKK(1,1)模型,现在我想获得模型的预测值。以下是R估计BEKK(1,1)模型的代码。

> install.packages('MTS')
> install.packages('rmgarch')
> simulated <- simulateBEKK(2, 1000, c(1, 1))

##prepare the matrix:
> simulated <- do.call(cbind, simulated$eps)

##Estimate with default arguments:
> estimated <- BEKK(simulated)
> diagnoseBEKK(estimated)
4

2 回答 2

0

由于您的问题(这是一个问题吗?)并没有真正说明您要实现的目标(并且混淆了包/命令),我将回答我认为您想知道的内容。

首先,您描述的命令来自 package mgarchBEKK,而不是MTSor rmgarch

我会坚持你的例子,它有两个系列(不是五个,就像你的标题所暗示的那样)。

1. 模型模拟与估计

您运行代码(示例实际上来自文档,第 4 页

install.packages('mgarchBEKK')
library('mgarchBEKK')
## Simulate series: (2 = number of series to be simulated,
##                   1000 = length of series to be simulated,
##                   c(1,1) = BEKK(p, q) order. 
simulated = simulateBEKK(2, 1000, c(1,1))
## Prepare the matrix:
simulated = do.call(cbind, simulated$eps)
## Estimate with default arguments:
estimated = BEKK(simulated)

现在您已将所有信息存储在estimated. 假设您的输入变量是股票或指数的每日收益系列,那么 H 的最后一个值将是您对明天条件方差的预测,而 cor 的最后一个值是您对明天条件相关性的预测。所以基本上是1天的预测。


2. 准备数据

为了方便起见,您可以将条件标准差和条件相关性存储在单独的数据框中。喜欢:

results = data.frame('bekk.csd.variable1' = estimated$sd[[1]],
                     'bekk.csd.variable2' = estimated$sd[[2]],
                     'bekk.ccor.var1_var2' = estimated$[[1]][[2]])

3. 显示结果

然后显示您对条件波动率和条件相关性的 1 天/期间预测:

tail(results, n = 1)
于 2017-07-04T14:09:51.190 回答
0

数字,

我认为您的代码缺少某些内容。在第 2 部分。这是我认为可以修复的方法:

results = data.frame('bekk.csd.variable1' = estimated$sd[[1]],
                 'bekk.csd.variable2' = estimated$sd[[2]],
                 'bekk.ccor.var1_var2' = estimated$cor[[1]][[2]])

希望这可以帮助。

于 2017-11-21T23:21:46.007 回答