私は、fGarch と rugarch の 2 つのパッケージを使用して、GARCH(1,1) モデルを 3980 の毎日のログ リターンで構成される為替レート時系列に適合させてきました。
fx_rates <- data.frame(read.csv("WMCOFixingsTimeSeries.csv", header=T, sep=";", stringsAsFactors=FALSE))
#data series
EURUSD <- ts(diff(log(fx_rates$EURUSD), lag=1), frequency=1)
#GARCH(1,1)
library(timeSeries)
library(fGarch)
x <- EURUSD
fit <- garchFit(~garch(1,1), data=x, cond.dist="std", trace=F, include.mean=F)
fit@fit$matcoef
library(rugarch)
spec <- ugarchspec(variance.model = list(model = "sGARCH", garchOrder = c(1, 1)),
mean.model=list(armaOrder=c(0,0), include.mean=F), distribution.model="std")
gfit <- ugarchfit(spec, x, solver="hybrid", fit.control=list(stationarity=0))
gfit@fit$matcoef
2 つのモデルは、次の結果を示しています。
fGarch:
fit@fit$matcoef
Estimate Std. Error t value Pr(>|t|)
omega 1.372270e-07 6.206406e-08 2.211054 2.703207e-02
alpha1 2.695012e-02 3.681467e-03 7.320484 2.471356e-13
beta1 9.697648e-01 3.961845e-03 244.776060 0.000000e+00
shape 8.969562e+00 1.264957e+00 7.090804 1.333378e-12
ルガーク:
gfit@fit$matcoef
Estimate Std. Error t value Pr(>|t|)
omega 1.346631e-07 3.664294e-07 0.3675008 7.132455e-01
alpha1 2.638156e-02 2.364896e-03 11.1554837 0.000000e+00
beta1 9.703710e-01 1.999087e-03 485.4070764 0.000000e+00
shape 8.951322e+00 1.671404e+00 5.3555696 8.528729e-08
スレッドhttp://r.789695.n4.nabble.com/Comparison-between-rugarch-and-fGarch-td4683770.htmlで見積もりが一致しない理由を見つけましたが、大きな違いはわかりません標準誤差で、オメガのさまざまな重要性を確認できます。オメガは重要でないままであるため、違いは定常性の制約によって引き起こされるものではありません。推定パラメータ (オメガ、アルファ、ベータ、および nu (形状)) の標準誤差がどのように計算されるか知っている人はいますか?