<div dir="ltr">All,<div><br></div><div style>Over the course of the google summer of code project, I learned a lot about the random portfolios algorithm (among many other topics) and became quite fascinated with the concept. I had some free time over the weekend and decided to implement random portfolio optimization using Rcpp. My motivation for doing this was to learn C++ and Rcpp with no expectation of how much faster this could actually be.</div>
<div style><br></div><div style>Here are the results of two benchmarks I did.</div><div style><br></div><div style>This first benchmark is just generating random portfolios.</div><div style><br></div><div style><div>    test replications elapsed relative</div>
<div>1     pa             10 188.74     6.583</div><div>2 rcpp_s           10   28.67    1.000</div><div><br></div></div><div style>The next benchmark is the actual optimization.</div><div style><br></div><div style><div>
  test replications elapsed relative</div><div>1   pa            10  211.027    808.5</div><div>2 rcpp           10      0.261    1.000</div></div><div style><br></div><div style>I am a beginner at C++ so I am pretty sure there are further improvements that can be made with my C++ code.</div>
<div style><br></div><div style>The benchmark results got me thinking that we might be able to use this in PortfolioAnalytics. The RcppRP package I started this weekend is really rough around the edges, but with some more improvements could serve as an alternate optimization method for random portfolios. We could have something like optimize.portfolio(..., optimize_method="random_rcpp") that calls the proper functions from RcppRP.</div>
<div style><br></div><div style>The RcppRP package is on my github page if you are interested in looking at the code.</div><div style><a href="https://github.com/rossb34/RcppRP">https://github.com/rossb34/RcppRP</a><br></div>
<div style><br></div><div style>Any thoughts on if this is worth continuing to pursue? Either way I plan to continue working on RcppRP for the sole purpose of learning C++ and Rcpp.</div><div style><br></div><div style>Regards,</div>
<div style>Ross</div><div style><br></div></div>