<div dir="ltr">Peter,<div><br></div><div style>Thanks for the detailed description of what is going on. I will be able to dig into this deeper tomorrow afternoon, but here are some initial comments.</div><div style><br></div>
<div style>See comments in-line.</div><div style><br></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Wed, Oct 9, 2013 at 1:38 PM, Peter Carl <span dir="ltr"><<a href="mailto:peter@braverock.com" target="_blank">peter@braverock.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Ross,<br>
<br>
I'm running into the following:<br>
<br>
> buoys.portfmeas<br>
                Mean      StdDev       mETL<br>
MinSD    0.005435103 0.009286484 0.01357282<br>
MinmETL  0.005846839 0.011196709 0.01371471<br>
<br>
Note that the minimum standard deviation portfolio has a lower mETL than<br>
the Min mETL portfolio.  Both were calculated with ROI.<br>
<br>
MinSD.portf <- add.objective(portfolio=init.portf,<br>
  type="risk", # the kind of objective this is<br>
  name="var", # name of the function<br>
  arguments=list(clean=clean)<br>
)<br>
<br>
> MinSD.ROI<-optimize.portfolio(R=R,<br>
+   portfolio=MinSD.portf,<br>
+   optimize_method='ROI'<br>
+   )<br>
Warning message:<br>
In constrained_objective(w = weights, R = R, portfolio, trace = TRUE,  :<br>
  some arguments stored for var do not match<br>
<br>
That warning is true, "var" doesn't take that list of arguments, including<br>
"clean".  But when I use name="StdDev" in the portfolio construction, I<br>
get the following error:<br>
<br>
Error in optimize.portfolio(R = R, portfolio = MinSD.portf,<br>
optimize_method = "ROI") :<br>
  ROI only solves mean, var, or sample ETL/ES/CVaR type business<br>
objectives, choose a different optimize_method.<br>
In addition: Warning message:<br>
In <a href="http://is.na" target="_blank">is.na</a>(le) : <a href="http://is.na" target="_blank">is.na</a>() applied to non-(list or vector) of type 'NULL'<br>
<br>
So the first issue is to map "StdDev" into the list of acceptable<br>
functions for that solver.  It should then accept the "clean" argument and<br>
that should fix part of the issue.<br></blockquote><div><br></div><div style>Got it, I'll add functionality for StdDev to be accepted by the ROI solvers. I'll have to add StdDev, but still use "var" to calculate the variance-covariance matrix used in the objective function. I will also have to detect the "clean" argument so that the cleaned returns are used to calculate the variance-covariance matrix. </div>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
The second issue is that the Min mETL portfolio being identified isn't<br>
being plotted as the minimum mETL portfolio being identified in the cloud<br>
of random portfolios.  This is the same issue I saw earlier that turned<br>
out to be related to "clean" not being applied consistently across<br>
objectives.<br>
<br>
In this case, it should be:<br>
p=1-1/12<br>
clean="boudt"<br>
MinmETL.portf <- add.objective(portfolio=init.portf,<br>
  type="risk", # the kind of objective this is<br>
  name="ES", # the function to minimize<br>
  arguments=list(p=p, clean=clean)<br>
)<br>
<br>
> MinmETL.ROI<-optimize.portfolio(R=R,<br>
+   portfolio=MinmETL.portf,<br>
+   optimize_method='ROI',<br>
+   trace=TRUE, verbose=TRUE<br>
+   )<br>
Warning message:<br>
In <a href="http://is.na" target="_blank">is.na</a>(le) : <a href="http://is.na" target="_blank">is.na</a>() applied to non-(list or vector) of type 'NULL'<br>
<br>
I'm not sure if the warning is related.  But I'm wondering if "clean" is<br>
getting passed into "ES" with ROI.  If it isn't, then the optimizer is<br>
likely selecting the wrong portfolio.  Could you take a look at this when<br>
you have a moment?<br></blockquote><div><br></div><div style>It could be related, in general, the "clean" argument is not passed to ROI. I should be able to make some changes so that the cleaned returns are used for the ROI solvers. I'll take a closer look and report back with my findings.</div>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
Thanks,<br>
<br>
pcc<br>
<span class="HOEnZb"><font color="#888888">--<br>
Peter Carl<br>
<a href="http://www.braverock.com/peter" target="_blank">http://www.braverock.com/peter</a><br>
<br>
<br>
_______________________________________________<br>
GSoC-PortA mailing list<br>
<a href="mailto:GSoC-PortA@lists.r-forge.r-project.org">GSoC-PortA@lists.r-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-project.org/cgi-bin/mailman/listinfo/gsoc-porta</a><br>
</font></span></blockquote></div><br></div></div>