spec=ugarchspec(variance.model = list(model="gjrGARCH",garchOrder=c(1,1)),mean.model = list(armaOrder = c(0,0))) fit<-ugarchfit(spec,Momentum.daily$WML) garch<- unlist(sigma(fit),recursive = TRUE) names(garch)<-paste("Garch-o-") Momentum.126day.Var<-rollapply(log(Momentum.daily$WML+1)^2,126,sum,by=1) Momentum.126day.Var<-Momentum.126day.Var^0.5 Momentum.126day.Var<-as.xts(Momentum.126day.Var[1:22665], order.by=Momentum.daily$date[127:22791] ) Momentum.21day.Var<- rollapply((log(Momentum.daily$WML+1)^2),22,sum,by=1) Momentum.21dayfut.Var<-as.xts(Momentum.21day.Var, order.by = Momentum.daily$date[22:22791]) Momentum.21dayfut.Var<-Momentum.21dayfut.Var^0.5
so these are the ingredients for my regression(of course i transformed them to monthly volatilitys and matched them in a matrix). I want to regress the future 22 day realized volatility (Momentum.21dayfut), on the lagged 126 day return volatility and my Garch estimated volatility. However, My Garch coefficients are correct but i think sigma(fit) isn't the correct estimate for the Garch estimates of my sample.
Thats what im trying to do. Is sigma(fit) (fit is my ugarchfit outcome) the estimated volatility of the sample, constructed by my Garch coefficients? Or do i have to calculate the volatility for each point in time with my coefficients ?
2nd question: Since i need monthly estimates for my linear regression, can i just divide my 126day realized volatility by 6^0.5 and multiply my Garch volatility with 21^0.5 ?
Thanks for your help !