typo: lambda * (sum(wgt.wect) - 1) On Sun, May 6, 2018 at 10:51 AM, Eric Berger <ericjber...@gmail.com> wrote:
> Hi Michael, > A few comments > 1. To add the constraint sum(wgt.vect=1) you would use the method of > Lagrange multipliers. > What this means is that in addition to the w_i (the components of the > weight variables) you would add an additional variable, call it lambda. > Then you would modify your optim.fun() function to add the term > lambda * (sum(wgt.vect - 1) > 2. Are you sure that you have defined Mo.vect correctly? It is a scalar > the way you have written it. > 3. Similarly your definition of wgt.vect creates a scalar. > > HTH, > Eric > > > On Fri, May 4, 2018 at 5:18 AM, Joshua Ulrich <josh.m.ulr...@gmail.com> > wrote: > >> On Thu, May 3, 2018 at 2:03 PM, Michael Ashton >> <m.ash...@enduringinvestments.com> wrote: >> > Thanks Bert. But everyone on that forum wants to use finance tools >> rather than general optimization stuff! And I am not optimizing a >> traditional Markowitz mean-variance problem. Plus, smarter people here. :-) >> > >> I'm very confused by these statements. Most of the "finance tools" >> use general-purpose global and/or stochastic optimization packages >> (e.g. rugarch uses nloptr and Rsolnp, PortfolioAnalytics uses DEoptim, >> pso, GenSA). And most (all?) of those optimization packages have ways >> to specify box, equality, and nonlinear inequality constraints. >> >> And I can't recall the last time someone emailed the list about >> optimizing a traditional Markowitz mean-variance problem... maybe 10 >> years ago? >> >> >> On May 3, 2018, at 3:01 PM, Bert Gunter <bgunter.4...@gmail.com> >> wrote: >> >> >> >> You can't -- at least as I read the docs for ?optim (but I'm pretty >> >> ignorant about this, so maybe there's a way to tweak it so you can). >> >> >> >> See here: https://cran.r-project.org/web/views/Optimization.html >> >> for other R optimization capabilities. >> >> >> >> Also, given your credentials, the r-sig-finance list might be a >> >> better place for you to post your query. >> >> >> >> Cheers, >> >> Bert >> >> >> >> >> >> Bert Gunter >> >> >> >> "The trouble with having an open mind is that people keep coming along >> >> and sticking things into it." >> >> -- Opus (aka Berkeley Breathed in his "Bloom County" comic strip ) >> >> >> >> >> >> On Thu, May 3, 2018 at 10:52 AM, Michael Ashton >> >> <m.ash...@enduringinvestments.com> wrote: >> >>> Hi โ >> >>> >> >>> This is giving me a headache. Iโm trying to do a relatively simple >> optimization โ actually trying to approximate the output from the Excel >> Solver function but at roughly 1000x the speed. ๐ >> >>> >> >>> The optimization parameters look like this. The only trouble is that >> I want to add a constraint that sum(wgt.vect)=1, and I canโt figure out how >> to do that in optim. >> >>> >> >>> Mo.vect <- as.vector(tail(head(mo,i),1)) >> >>> wgt.vect <- as.vector(tail(head(moWeightsMax,i),1)) >> >>> cov.mat <- cov(tail(head(morets,i+12),12)) >> >>> opt.fun <- function(wgt.vect) -sum(Mo.vect %*% wgt.vect) / >> (t(wgt.vect) %*% (cov.mat %*% wgt.vect)) >> >>> >> >>> LowerBounds<-c(0.2,0.05,0.1,0,0,0) >> >>> UpperBounds<-c(0.6,0.3,0.6,0.15,0.1,0.2) >> >>> >> >>> OptimSolution<-optim(wgt.vect, fn=opt.fun, >> method="L-BFGS-B",lower=LowerBounds,upper=UpperBounds) >> >>> >> >>> >> >>> Any thoughts are appreciated! >> >>> >> >>> Mike >> >>> >> >>> Michael Ashton, CFA >> >>> Managing Principal >> >>> >> >>> Enduring Investments LLC >> >>> W: 973.457.4602 >> >>> C: 551.655.8006 >> >>> >> >>> >> >>> [[alternative HTML version deleted]] >> >>> >> >>> ______________________________________________ >> >>> R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see >> >>> https://stat.ethz.ch/mailman/listinfo/r-help >> >>> PLEASE do read the posting guide http://www.R-project.org/posti >> ng-guide.html >> >>> and provide commented, minimal, self-contained, reproducible code. >> > ______________________________________________ >> > R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see >> > https://stat.ethz.ch/mailman/listinfo/r-help >> > PLEASE do read the posting guide http://www.R-project.org/posti >> ng-guide.html >> > and provide commented, minimal, self-contained, reproducible code. >> >> >> >> -- >> Joshua Ulrich | about.me/joshuaulrich >> FOSS Trading | www.fosstrading.com >> R/Finance 2018 | www.rinfinance.com >> >> ______________________________________________ >> R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see >> https://stat.ethz.ch/mailman/listinfo/r-help >> PLEASE do read the posting guide http://www.R-project.org/posti >> ng-guide.html >> and provide commented, minimal, self-contained, reproducible code. >> > > [[alternative HTML version deleted]] ______________________________________________ R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see 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.