<div dir="ltr">I sent an email to R-Forge@R-Project.org in the beginning of March and have yet to hear back so I sent a follow up email on Monday. I spent some time earlier in the week trying to figure out where this error is coming from and still am unable to replicate the error we are getting on R-Forge. I heard back from someone yesterday, so hopefully we can get this taken care of.
<div><br></div><div>I suppose an option is to leave the .Rnw files in the vignettes/ folder, move the .pdf files to inst/doc/ and add 'BuildVignettes: false' to the DESCRIPTION file.</div><div><br></div><div>
Ross</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Mon, Feb 24, 2014 at 11:16 AM, Brian G. Peterson <span dir="ltr"><<a href="mailto:brian@braverock.com" target="_blank">brian@braverock.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">I'm guessing the vignettes might just take too long for R-Forge. We should ask them to see if they have any other data. I had no trouble building it here from the command line and RStudio.<br>
<br>
Brian<div class=""><br>
<br>
On 02/24/2014 11:23 AM, Ross Bennett wrote:<br>
</div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="">
All,<br>
<br>
PortfolioAnalytics is not building on R-forge and part of the error<br>
message is shown below.<br>
<br>
Error: processing vignette ‘risk_budget_optimization.Rnw’ failed with diagnostics:<br>
subscript out of bounds<br>
Execution halted<br>
Run time: 437.89 seconds.<br>
<br>
However, when I run R CMD Check, the R code in the vignettes runs<br>
successfully so I am not sure how to address this error or if there is<br>
something else I am missing. I also tried building the vignette in<br>
Rstudio with the 'compile pdf' button and it compiled successfully. For<br>
your reference, I am attaching the 00check.log file.<br>
<br>
Ross<br>
<br>
<br>
<br>
On Thu, Feb 20, 2014 at 10:48 AM, Doug Martin <<a href="mailto:martinrd@comcast.net" target="_blank">martinrd@comcast.net</a><br></div>
<mailto:<a href="mailto:martinrd@comcast.net" target="_blank">martinrd@comcast.net</a>>> wrote:<br>
<br>
Got it and will take a look tomorrow or on the weekend.____<br>
<br>
__ __<br>
<br>
Thanks,____<br>
<br>
Doug____<br>
<br>
__ __<br>
<br>
__ __<br>
<br>
*From:*<a href="mailto:gsoc-porta-bounces@lists.r-forge.r-project.org" target="_blank">gsoc-porta-bounces@<u></u>lists.r-forge.r-project.org</a><br>
<mailto:<a href="mailto:gsoc-porta-bounces@lists.r-forge.r-project.org" target="_blank">gsoc-porta-bounces@<u></u>lists.r-forge.r-project.org</a>><br>
[mailto:<a href="mailto:gsoc-porta-bounces@lists.r-forge.r-project.org" target="_blank">gsoc-porta-bounces@<u></u>lists.r-forge.r-project.org</a><br>
<mailto:<a href="mailto:gsoc-porta-bounces@lists.r-forge.r-project.org" target="_blank">gsoc-porta-bounces@<u></u>lists.r-forge.r-project.org</a>>] *On Behalf<br>
Of *Ross Bennett<br>
*Sent:* Thursday, February 20, 2014 11:27 AM<br>
*To:* PortfolioAnalytics<br>
*Subject:* Re: [GSoC-PortA] Finishing Touches to PortfolioAnalytics____<br>
<br>
__ __<br>
<br>
All,____<br>
<br>
__ __<div class=""><br>
<br>
I am working on adding functionality to accept a list of portfolio<br></div>
objects for optimize.portfolio and optimize.portfolio.<u></u>rebalancing.____<br>
<br>
__ __<div class=""><br>
<br>
I added a block of code at the beginning of optimize.portfolio and<br>
optimize.portfolio.rebalancing to detect a list of portfolio objects<br>
and then loop through each portfolio in the list of portfolios and<br>
recursively call optimize.portfolio or<br>
optimize.portfolio.<u></u>rebalancing. I have a return statement at the end<br>
of that block of code. Some frown upon multiple return statements in<br>
a function, is it ok that I do this here or is there a different<br></div>
approach I should follow.____<br>
<br>
__ __<div class=""><br>
<br>
I also added demo/multiple_portfolio_<u></u>optimization.R so you can test<br></div>
out the functionality.____<br>
<br>
__ __<br>
<br>
I just committed my changes with r3318.____<br>
<br>
__ __<br>
<br>
Ross____<br>
<br>
__ __<br>
<br>
__ __<div class=""><br>
<br>
On Wed, Feb 5, 2014 at 6:54 AM, Ross Bennett<br></div>
<<a href="mailto:rossbennett34@gmail.com" target="_blank">rossbennett34@gmail.com</a> <mailto:<a href="mailto:rossbennett34@gmail.com" target="_blank">rossbennett34@gmail.<u></u>com</a>>> wrote:____<div class="">
<br>
<br>
Makes a lot more sense from that perspective to avoid making<br>
optimize.portfolio and optimize.portfolio.rebalancing S3 generic<br></div>
methods. I'll proceed as you have outlined.____<br>
<br>
__ __<br>
<br>
Thanks for the clarification and guidance.____<br>
<br>
__ __<br>
<br>
Ross____<br>
<br>
__ __<br>
<br>
__ __<div class=""><br>
<br>
On Tue, Feb 4, 2014 at 11:29 PM, Brian G. Peterson<br></div>
<<a href="mailto:brian@braverock.com" target="_blank">brian@braverock.com</a> <mailto:<a href="mailto:brian@braverock.com" target="_blank">brian@braverock.com</a>>> wrote:____<br>
<br>
On 02/02/2014 10:25 PM, Ross Bennett wrote:____<div class=""><br>
<br>
Enhance the print and summary methods for<br></div>
optimize.portfolio.<u></u>rebalancing. Currently, a list of____<div class=""><br>
<br>
optimize.portfolio objects at each rebalance period is<br>
returned.____<br>
<br>
*/[Doug] So does that imply one can now input a list of<br></div>
portfolio____<div class=""><br>
<br>
<br>
optimization strategy objects to<br>
“optimize.portfolio.<u></u>rebalancing”,<br>
e.g., each with different constraints and different<br></div>
objectives?____<br>
<br>
(this would be very useful)/*____<div class=""><br>
<br>
<br>
<br>
<br>
No, that is currently not possible, but should not be too hard to<br>
implement. I could do this for optimize.portfolio as well. I<br>
think the<br>
most robust way to implement this would be to make<br>
optimize.portfolio()<br>
and optimize.portfolio.<u></u>rebalancing() generic methods.<br>
<br>
This would require a few minor design changes and I don't think<br>
it would<br>
break backwards compatibility. We would have to change the order of<br>
arguments for optimize.portfolio() and<br>
optimize.portfolio.<u></u>rebalancing()<br>
so that 'portfolio' is the first argument, currently 'R' is the<br>
first<br></div>
argument.____<div class=""><br>
<br>
<br>
I think the desired functionality (take a list of portfolio objects)<br>
is a good idea.<br>
<br>
I don't think relying on S3 dispatch and making optimize.portfolio.*<br>
into S3 generics makes sense though.<br>
<br>
I say this because there's far too much shared code. The<br>
sub-functions for the different optimizer methods and special cases<br>
are far less code than the wrapper/framework function. I wouldn't<br>
want to duplicate all that code, or add a bunch of extra function<br>
calls in code that's called lots and lots of times.<br>
<br>
Also, I *really* hate breaking backwards compatibility by<br>
rearranging arguments unless there's a compelling reason. For R<br>
generics like print/plot/summary, using S3 dispatch is the obvious<br>
and only answer, but for optimize.portfolio.*, I'd say leaving the<br>
arguments list alone makes the most sense.<br>
<br>
I think you could add the loop over portfolio specification list<br>
elements (if it is a list) and collection of the results into a list<br>
of optimization results into the optimize.portfolio.* functions<br>
without too much work, and without breaking existing code.<br>
<br>
Regards,<br>
<br>
Brian<br>
<br>
--<br>
Brian G. Peterson<br>
<a href="http://braverock.com/brian/" target="_blank">http://braverock.com/brian/</a><br></div>
Ph: <a href="tel:773-459-4973" value="+17734594973" target="_blank">773-459-4973</a> <tel:<a href="tel:773-459-4973" value="+17734594973" target="_blank">773-459-4973</a>><br>
IM: bgpbraverock____<div class=""><br>
<br>
<br>
______________________________<u></u>_________________<br>
GSoC-PortA mailing list<br>
<a href="mailto:GSoC-PortA@lists.r-forge.r-project.org" target="_blank">GSoC-PortA@lists.r-forge.r-<u></u>project.org</a><br></div>
<mailto:<a href="mailto:GSoC-PortA@lists.r-forge.r-project.org" target="_blank">GSoC-PortA@lists.r-<u></u>forge.r-project.org</a>><br>
<a href="http://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/gsoc-porta____" target="_blank">http://lists.r-forge.r-<u></u>project.org/cgi-bin/mailman/<u></u>listinfo/gsoc-porta____</a><br>
<br>
__ __<br>
<br>
__ __<div class=""><br>
<br>
<br>
______________________________<u></u>_________________<br>
GSoC-PortA mailing list<br>
<a href="mailto:GSoC-PortA@lists.r-forge.r-project.org" target="_blank">GSoC-PortA@lists.r-forge.r-<u></u>project.org</a><br></div>
<mailto:<a href="mailto:GSoC-PortA@lists.r-forge.r-project.org" target="_blank">GSoC-PortA@lists.r-<u></u>forge.r-project.org</a>><div class=""><br>
<a href="http://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/gsoc-porta" target="_blank">http://lists.r-forge.r-<u></u>project.org/cgi-bin/mailman/<u></u>listinfo/gsoc-porta</a><br>
<br>
<br>
<br>
<br>
______________________________<u></u>_________________<br>
GSoC-PortA mailing list<br>
<a href="mailto:GSoC-PortA@lists.r-forge.r-project.org" target="_blank">GSoC-PortA@lists.r-forge.r-<u></u>project.org</a><br>
<a href="http://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/gsoc-porta" target="_blank">http://lists.r-forge.r-<u></u>project.org/cgi-bin/mailman/<u></u>listinfo/gsoc-porta</a><br>
<br>
</div></blockquote><div class="HOEnZb"><div class="h5">
<br>
-- <br>
Brian G. Peterson<br>
<a href="http://braverock.com/brian/" target="_blank">http://braverock.com/brian/</a><br>
Ph: <a href="tel:773-459-4973" value="+17734594973" target="_blank">773-459-4973</a><br>
IM: bgpbraverock<br>
______________________________<u></u>_________________<br>
GSoC-PortA mailing list<br>
<a href="mailto:GSoC-PortA@lists.r-forge.r-project.org" target="_blank">GSoC-PortA@lists.r-forge.r-<u></u>project.org</a><br>
<a href="http://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/gsoc-porta" target="_blank">http://lists.r-forge.r-<u></u>project.org/cgi-bin/mailman/<u></u>listinfo/gsoc-porta</a><br>
</div></div></blockquote></div><br></div>