The Hessian is the matrix of second derivatives (https://en.wikipedia.org/wiki/Hessian_matrix) -- in scalar terms, you're finding a point where the second derivative is zero and then trying to divide by the second derivative to calculate the step size.
I haven't gone through your code in any detail, but I'd start by checking the covariance matrix since that's proportional to the Hessian of your objective function. Is it (comfortably) non-singular? Since you're just solving the standard Markowitz problem, you might try a simpler (quadratic/convex) solver instead of a general non-linear solver. Should behave a bit better. Michael On Mon, Dec 14, 2015 at 6:13 PM, Michael Ashton <m.ash...@enduringinvestments.com> wrote: > I must admit to being flummoxed here, mainly because my linear algebra was 25 > years ago and I can't remember what a Hessian is. > > I have a matrix of 60 securities' weekly returns, along with 60 projected > returns. The returns are in a vector called Ret.vect and the covariance > matrix of weekly returns in cov.mat . I have the minConstraints and > maxConstraints that the parameters are permitted to take. I cycle through > targeted risks and get the same error for each risk targeted...below I have > removed the loop to focus on the risk=0.002. > > wgt.vect=c(rep(1/60, 60)) > constr.fun <- function(wgt.vect) {; > c1 = sqrt(crossprod(t(wgt.vect %*% cov.mat),wgt.vect)); > c2 = sum(wgt.vect); > return(c(c1,c2)); > } > ineqconstr.fun <- function(wgt.vect) { > wgt.vect[1:60]; > } > opt.fun <- function(wgt.vect) {-crossprod(wgt.vect,t(Ret.vect))} > > OptimSolution <- > solnp(wgt.vect,opt.fun,constr.fun,eqB=c(0.002,1),ineqconstr.fun,ineqLB=minConstraints,ineqUB=maxConstraints) > > I get the following error: > solnp--> Solution not reliable....Problem Inverting Hessian. > > Well, that doesn't tell me very much! The parameters (weights) that are > output for each run, as I cycle through the weights, are very > scrambled...lots of little allocations, rather than clumping as you would > expect to happen especially at the risky and riskless ends of the spectrum. > > Can anyone with more math than me give me a helping hand on the Hessian? > > Thanks, > > > Mike > > Michael Ashton, CFA > Managing Principal > > Enduring Investments LLC > W: 973.457.4602 > C: 551.655.8006 > > > ________________________________ > This email and any attachments are confidential and inte...{{dropped:9}} > > _______________________________________________ > R-SIG-Finance@r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-sig-finance > -- Subscriber-posting only. If you want to post, subscribe first. > -- Also note that this is not the r-help list where general R questions > should go. _______________________________________________ R-SIG-Finance@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-sig-finance -- Subscriber-posting only. If you want to post, subscribe first. -- Also note that this is not the r-help list where general R questions should go.