2016-05-29 12 views
1

GARCHモデルのパラメータ推定と予測に問題があります。 私はugarchspecugarchfit機能でパラメータを推定しようとした1996年に始まり、2009年 で終わる、ボラティリティの時系列を持っている:GARCHパラメタ推定とルガールパッケージ付きRの予測

garch1.1 <- ugarchspec(variance.model=list(model="sGARCH", garchOrder=c(1,1)),mean.model=list(armaOrder=c(0,0)),distribution="std") 
garch1.1fit <- ugarchfit(spec=garch1.1,data=RV) 

結果は大丈夫に見えたので、私はと続けました予測。 ugarchforecastまたはugarchroll機能を使用したかったです。しかし、私がそれをやろうとしたとき、彼らは間違った日付で働いていることを認識しました。例えば、私は

forecast <- ugarchforecast(garch1.1fit,n.ahead=2) 

のような単純な予測を行うにしようと、私は次のような結果を得る:

0-roll forecast [T0=1979-04-05 01:00:00]: 
    Series  Sigma 
T+1 5.373e-05 3.733e-05 
T+2 5.373e-05 3.762e-05 

をだから私の問題がある:はなぜRは、T0は= 1979と言うのでしょうか?これは私のデータが1996年に始まり、2009年に終わるので正しいとは言えません。 garch1.1fitからの残差を見ると、日付も間違っています。 ここで問題は何ですか?

答えて

0

私はどのオブジェクトをRVとして使用しているのかよくわかりませんが、数値ベクトルと見なします。パッケージrugarchはxtsパッケージでサポートされているxtsオブジェクトでうまく動作します。新しいものRV.xtsのため、変更されたオブジェクトRVであなたのコード、その後

require(xts) 

time <- #put here time vector from your data 
RV.xts <- na.omit(xts(x = RV, order.by = time)) 

と::

garch1.1 <- ugarchspec(variance.model=list(model="sGARCH", garchOrder=c(1,1)), 
         mean.model=list(armaOrder=c(0,0)), 
         distribution="std") 
garch1.1fit <- ugarchfit(spec=garch1.1,data=RV.xts) 
forecast <- ugarchforecast(garch1.1fit,n.ahead=2) 

iが提供されているコードは、2つのことを行います。最初の落札

次のコードは、仕事をする必要がありますxtsオブジェクトを使用してtime。このオブジェクトはあなたのugarchfit()関数にこのモデルの時刻を伝えます。第2に、可能なNAデータを省略し、関数ugarchfit()は処理しません。

チェックすることにより、正しくオブジェクトxts接続日付があれば確認してください:

head(RV.xts) 
tail(RV.xts) 
+0

ありがとうございました。私はas.POSIXct関数を "time"に使用しましたが、今はすべて正常に動作します! – junoesque

+0

私の他の問題にもお手伝いできますか?それは "RのローリングウインドウでのEWMA予測" – junoesque

0

あなたのugarchモデルの日付を指定していないと思います。 R「日付」クラスは、1970-01-01日からの日数でコード化されています。次のコード

は、概念を理解するのに役立つことがあります。日付がugarchモデルに指定されていないとして

as.Date("1970-01-01") 
as.numeric(as.Date("1970-01-01")) 

as.Date("1970-01-10") 
as.numeric(as.Date("1970-01-10")) 

、あなたのデータは、1970年から1979年の年埋めるために観測数を持っているようです(おそらく週末であります除外)、その期間の後に予測が開始されます。

+0

あなたの答えをありがとう!そして、週末は私のデータから除外されます。これは大きな問題ですか?この問題を解決する方法を教えてください。私はRの初心者なので、ここですべてのことをするのはかなり難しいです。 – junoesque

+0

simeシリーズを始めると、週末は細かい問題だと思います。私は他のポストで可能な解決策を提供しました。 – cure