2

我正在尝试在 JAGS 中构建 GARCH(1,1) 模型,为简单起见,我们假设均值方程遵循 AR(1) 过程。我正在尝试构建 1 个 JAGS 模型,该模型将允许加入 AR(1) 和 GARCH(1,1) 进程。

目前,我只能通过构建 2 个单独的 JAGS 模型来获得结果(为了演示的清晰性,它们被简化了)。第一个 JAGS 模型估计 AR(1) 过程的参数:

modelstring="
model {
  for (i in 2:n) {
    y[i]~dnorm(alpha0+alpha1*y[i-1],1)
  }
alpha0 ~ dnorm(alpha0.mean,alpha0.prec)
alpha1 ~ dunif(-1,1)
}

有了参数的估计,我生成了 AR(1) 过程的数据,获得残差和方差(假设有一些窗口):

ALPHA0=summary(output1)$statistics[1]
ALPHA1=summary(output1)$statistics[2]
y_hat=ALPHA0+ALPHA1*y[1:(dim(DATA)[1])]
eps=y-y_hat
window=30
VAR=rep(NA, dim(DATA)[1]-window)
for (i in 1:length(VAR)){
    VAR[i]=var(eps[i:(i+window)])
}

下一个块是 JAGS 中的 GARCH(1,1) 散文:

modelstring="
  model {
    for (i in 2:n) {
      Var[i]~dnorm(beta0+beta1*Var[i-1]*+beta2*eps[i-1]^2,1)
    }
    beta0 ~ dnorm(beta0.mean,beta0.prec)
    beta1 ~ dunif(0,1)
    beta2 ~ dnorm(0,1-beta1)
  }
"

如何加入两个相互依赖的进程?

4

0 回答 0