0

だから私はコロンビア株http://unstarched.net/2013/03/20/high-frequency-garch-the-multiplicative-component-garch-mcsgarch-model/のこの投稿を複製しようとしているので、最初に投稿が何をし、どのように機能するかを理解するために行うのと同じです。しかし、mscGARCH をフィッティングすると、ポストと同じことをしているため、今はそうではありません。すべての準備ができてそこで質問しますが、答えが得られないので、助けを求めてここに来ました。私が持っているコードは次のとおりです。

library(rugarch)
Sys.setenv(TZ="GMT")
library(quantmod)
library(zoo)
library(TTR)

R_i=read.csv('C:/Users/Alejandro/Downloads/C_2008_1minret.csv')
R_i= xts(R_i[,2],as.POSIXct(R_i[,1]))
getSymbols("C", from="2000-01-01", to="2013-03-20")
C= adjustOHLC(C,use.Adjusted = T)
R_d= ROC(Cl(C),na.pad=F)

par(cex.main=0.85,col.main="black")
acf(abs(as.numeric(R_i)),lag.max=4000, main="1-min retornos absolutos\nCitigroup (2008 Jan-Feb)"
      ,cex.lab=1.5)

####################
## Implementacion ##
####################

n= length(unique(format(index(R_i),"%Y-%m-%d")))

spec_d=ugarchspec(mean.model = list(armaOrder=c(1,1)),
                  variance.model = list(model="eGARCH",garchOrder=c(2,1)),
                  distribution="nig")

roll=ugarchroll(spec_d,data=R_d["/2008-02-29"], forecast.lenght=n,
                refit.every = 5,refit.window = "moving", moving.size=2000,
                calculate.VaR=F)

df=as.data.frame(roll)
f_sigma=as.xts(df[,"Sigma",drop=F])

spec= ugarchspec(mean.model=list(armaOrder=c(1,1),include.mean=T),
                 variance.model=list(model="mcsGARCH"), distribution="nig")

fit=ugarchfit(data=R_i, spec=spec,DailyVar=f_sigma^2)

最後のコマンドは、次のエラーを表示するコマンドですError in !matchD : invalid argument type。しかし、私は自分が間違っていることを知りません

4

1 に答える 1

1

私は自分自身の前にこのエラーに遭遇しました。私の記憶が正しければ、エラーは次の行から発生します。

fit=ugarchfit(data=R_i, spec=spec,DailyVar=f_sigma^2)

R_iと のデータ範囲がf_sigma一致していることを確認する必要があります。それがこのエラーが伝えていることだと思います (matchD = 日次データの日中一致?)

たとえば、R_i が 2012 年のすべての日付の日中データを持っている場合、呼び出しで、に含まれる入力として使用される毎日のボリューム推定値がf_sigma同じ時間範囲で重複する (つまり、f_sigma正しくサブセット化される) ことを確認します。たとえば、次のようなことをします fit=ugarchfit(data=R_i, spec=spec,DailyVar=f_sigma["2012"]^2)

于 2015-09-21T22:30:38.283 に答える