Hi Arne, thanks for the quick answer & sorry for the mistake. Please find a corrected version of the code below. Unfortunately, the model still does not work – due to an error I believed to have overcome: “In log(2 * pi * sig2[i]) : NaNs produced”
So my questions remain the same: Why doesn't this work... and how can I avoid the for-loop? library(maxLik) library(fGarch) lag<-function(x,k){ c(rep(NA,k),x[1:(length(x)-k)]) } r<- as.vector(garchSim(garchSpec(rseed = 1985), n = 102)[,1]) r_1<- lag(r,1)[4:102] r_2<-lag(r,2) [4:102] s<-rnorm(102) s_1<- lag(s,1)[4:102] s_2<-lag(s,2) [4:102] c_1<-s_1-r_1 r <- r[4:102] s<-s[4:102] data<-as.matrix(cbind(r,r_1,r_2,s_1,s_2,c_1)) sum(na.omit(data)!=data) loglik <- function(param) { res <- param[1] a0 <- param[2] a1 <- param[3] a2 <- param[4] a3 <- param[5] a4 <- param[6] a5 <- param[7] omega <- param[8] alpha <- param[9] beta <- param[10] res <- r-a0-a1*r_1-a2*r_2-a3*s_1-a4*s_2-a5*c_1 sig2 <- numeric(99) ll <- numeric(99) sig2[1] <- 0 for (i in 2:99) { sig2[i] <- omega + alpha*res[i-1]^2 + beta*sig2[i-1] ll[i] <- -1/2*log(2*pi*sig2[i]) - 1/2*res[i]^2/sig2[i] } ll } est <- maxLik(loglik, start=c(.5,.5,.5,.5,.5,.5,.5,.5,.5,.5)) summary(est) Thank you very much! Best wishes, Philipp ----- ____________________________________ EBS Universitaet fuer Wirtschaft und Recht FARE Department Wiesbaden/ Germany http://www.ebs.edu/index.php?id=finacc&L=0 -- View this message in context: http://r.789695.n4.nabble.com/VECM-GARCH-using-maxLik-tp3297453p3297757.html Sent from the R help mailing list archive at Nabble.com. ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.