Hey, i am trying to do the MLE for Garch and have a problem with the optim function.
Initally i tried optim with Method=BFGS. Reading trhough the forum i found out i would neet bounds. So i went on with Method=L-BFGS-B. But now my parameters equal the lower bounds. > out <- optim(par=initial, fn=LogLik.GARCH,X=X, P=1, Q=1, method = > "L-BFGS-B",lower =c(0.01,0.01,0.01), upper =c(0.99,0.99,0.99)) > out ----------------------------------- *$par [1] 0.01 0.01 0.01* [...] $convergence [1] 0 *$message [1] "CONVERGENCE: NORM OF PROJECTED GRADIENT <= PGTOL"*----------------------------------- I got the Logli from "http://www-wiwi.uni-regensburg.de/images/institute/vwl/tschernig/lehre/I_Optimization.R" [[elided Hotmail spam]] { c <- PAR[1] # Konstante in GARCH Gleichung a <- PAR[2:(P+1)] # ARCH Parameter g <- PAR[(P+2):(P+Q+1)] # GARCH Parameter n <- length(X) # Stichprobengröße h_sq <- rep(var(X),n) # Vektor der bedingten Varianzen (am Anfang: unbedingte Var.) ll <- numeric(n) # Vektor der (MINUS) Log Likelihoods pro Beobachtung # Unzulässige Parameterwerte ausschließen (-> Inf als Wert) if (sum(a)+sum(g)>1) return(NA) # Instabil -> nicht zugelassen if (any(PAR<0)) return(NA) # Nichtnegativität verletzt -> nicht zugelassen # Iterativ Bedingte Varianz und minus Likelihood berechnen for (i in (max(P,Q)+1):n) { h_sq[i] <- c+sum(X[i-(1:P)]^2*a)+sum(h_sq[i-(1:Q)]*g) ll[i] <- -0.5*(log(2*pi)+log(h_sq[i])+X[i]^2/h_sq[i]) # minus Likelihood } # Bedingte Varianzen im Global Environment speichern h_sq <<- h_sq # Funktionswert = Log Likelihood return(sum(ll)) } -- View this message in context: http://r.789695.n4.nabble.com/Optim-fct-Parameters-LowerBounds-tp4598504.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.