2016-08-03 9 views
0

私はライブラリrugarchを使用していますが、ライブラリと同じ出力を「手動で」探して、すべてを正しく理解しているかどうかを確認します。 私の分散傍受(オメガ)を私のデータセットの無条件分散と等しくしたいと思います。したがって、ugarchspec関数でvariance.targeting = TRUEを設定しました。rugarchとvariance targeting in R

私は私の無条件共分散がほぼ同等であることを確認できます。 シグマ:しかし、私はGARCH方程式と「手動」に同じ条件付き分散の時系列を見つけることができません オメガ/(1-アルファ1-β1) (T)²=オメガ+アルファ* X(T-1)^ 2 +ベータ*シグマ(T-1)²

ここでは私の問題を説明するために、再現例です

data(sp500ret) 

sp500ret <- scale(sp500ret, scale = FALSE, center = TRUE) # de-mean 
model <- ugarchspec(variance.model = list(model = "sGARCH", garchOrder = c(1, 1), variance.targeting = TRUE), 
mean.model = list(armaOrder = c(0, 0), include.mean = FALSE), distribution.model = "norm") 
fit <- ugarchfit(model, sp500ret) 

omega <- [email protected]$coef[3] 
alpha <- [email protected]$coef[2] 
beta <- [email protected]$coef[1] 

var(sp500ret) 
# 0.0001426482 
omega/(1 - alpha - beta) 
# 0.0001426587 

var_rugarch <- [email protected]$var 
var_manual <- c() 
var_manual[1] <- var_rugarch[1] 
for (t in 2:5523) { 
    var_manual[t] <- omega + alpha * sp500ret[t-1]^2 + beta * var_manual[t-1] 
} 

which(var_rugarch == var_manual) 
# [1] 1 

しかし、 variance.targeting = FALSEの場合、最後の行はvar_rugarch = var_manualを示します。 variance.targeting = TRUEの場合、これら2つの変数が同じでない理由は何ですか?

答えて

0

さて、私は間違いをしました。 何らかの理由で、rugarchがfit @ fit $ coefのパラメータのインデックスを変更し、Microsoft Visual Studioが変数のプレビューを更新しませんでした。