2017-06-24 17 views
1

dccforecastのn.rollが実際にどのように機能するかを理解することが困難です。私は生成されたコードとグラフを与えます。問題を理解して解決するのを手伝ってください。"dccforecast"の "n.roll"は本当に何をしますか?

まず、私のデータを紹介しましょう。私は2つの時系列を持っています:4171日の観測(16年)。 Iは、DCCの係数の推定のために最初の6年間のデータを使用することに興味と

I)の残りの10年(2609年毎日の観察)は

[T = 0] ----推定のための相関を予測します予測期間(2609)〜[t = 4171]

ii)今後5年間(毎日1305回の観察)、期間(1562)----- [t = 1562]それぞれで

[T = 0] ----推定期間(1562)----- [T = 1562] ---予測期間(1305)--- [T = 2864]

私の予測期間中のtのポイント、私は時間tに利用可能なすべてのデータを使用し、t + 1の予測を取得したい。時刻t + 1での予測のため

、0からT + 1

にすべてのデータを使用して、時刻t + 2で予測0からT

にすべてのデータを使用時刻t + 3での予測は、時刻t + 4で予測のためのT + 2

0からすべてのデータを使用し、T + 3

等0からすべてのデータを使用します。ここで

はケースのために私のコードです私:私は定義しています

xspec = ugarchspec(mean.model = list(armaOrder = c(1, 0)), variance.model = list(garchOrder = c(1,1), model = 'gjrGARCH'), distribution.model = 'norm') 
uspec = multispec(replicate(2, xspec)) # 2 is the number of variables 

dccspec = dccspec(uspec = uspec, dccOrder = c(1, 1), model='aDCC', distribution = 'mvnorm') 

dcc.fit.focast = dccfit(dccspec, data = tst, out.sample = 2609, forecast.length = 2609, fit.control = list(eval.se=T)) 

dcc.focast=dccforecast(dcc.fit.focast, n.ahead = 1, n.roll = 0) 
plot(dcc.focast, which = 3, series=c(1,2)) 

「n.roll = 0」理由(n.roll = 0、全ての予測がある場合、それは「rmgarch」で説明するように、手動ENGLE and SHEPPARD(2001)の論文に記載されている近似法に基づく無条件n-ahead予測ルーチンに基づいて、私はEngle and Sheppard(2001)で使用されている近似法を使用することに興味があります。

n.roll=0

しかし、私は0から1305までn.rollを変更すると、

dcc.focast=dccforecast(dcc.fit.focast, n.ahead = 1, n.roll = 1305) 
plot(dcc.focast, which = 3, series=c(1,2)) 

は、私が次のグラフを取得:

n.roll=1305

を私はn.rollを増やす際に、予測の終了点も増加します。 "rmgarch"マニュアルは無条件平均のn.rollを記述します。しかし何らかの形でそれは生産された予測の数と関係しています。

誰かがこれを説明し、私が必要とする予測を得る方法に関する推奨を与えることができますか?事前に

おかげで、

マーティン

答えて

0

は私が1つのステップで予測を行うためにループをやってしまいました。それは働いた。

関連する問題