<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=us-ascii"><meta name=Generator content="Microsoft Word 14 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p
        {mso-style-priority:99;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
p.MsoAcetate, li.MsoAcetate, div.MsoAcetate
        {mso-style-priority:99;
        mso-style-link:"Balloon Text Char";
        margin:0in;
        margin-bottom:.0001pt;
        font-size:8.0pt;
        font-family:"Tahoma","sans-serif";}
span.BalloonTextChar
        {mso-style-name:"Balloon Text Char";
        mso-style-priority:99;
        mso-style-link:"Balloon Text";
        font-family:"Tahoma","sans-serif";}
span.EmailStyle20
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri","sans-serif";}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body lang=EN-US link=blue vlink=purple><div class=WordSection1><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Ross and others,<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>I will check this out.  Meanwhile I offer a few comments below.<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Thanks,<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Doug<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><b><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'>From:</span></b><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'> gsoc-porta-bounces@lists.r-forge.r-project.org [mailto:gsoc-porta-bounces@lists.r-forge.r-project.org] <b>On Behalf Of </b>Ross Bennett<br><b>Sent:</b> Saturday, June 22, 2013 10:13 AM<br><b>To:</b> PortfolioAnalytics<br><b>Subject:</b> Re: [GSoC-PortA] Quick question on multipliers and constrained_objective()<o:p></o:p></span></p><p class=MsoNormal><o:p> </o:p></p><div><p class=MsoNormal>Professor Martin and others,<o:p></o:p></p><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>I just added a testing script to match your examples in your 1. theory review weights constrained mvo v5.pdf slides (attached). See committed revision 2402 with sandbox/testing_ROI_Martin.R. Currently, the user just chooses optimize_method="ROI" and optimize.portfolio() takes care of choosing the ROI plugin for solve.QP or Rglpk_solve_LP based on the objectives specified. <span style='color:#1F497D'><o:p></o:p></span></p><p class=MsoNormal><b><i><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>[Doug] I guess you mean that rev. 2402 still requires use of the argument optimize_method=”ROI”.  I’m wondering if my earlier assumption from last summer that the code could be changed so that we don’t have to specify ROI in an argument.  <o:p></o:p></span></i></b></p><p class=MsoNormal><b><i><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Brian, what is your opinion on this?</span></i></b><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p></o:p></span></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>If "var" is specified as the only objective, then the plug-in selected is quadprog for solve.QP to minimize variance.<o:p></o:p></p><p class=MsoNormal><b><i><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>[Doug] I think we need to specify the solver independently of the use of “var”, with a default choice which could be solve.QP for now.<o:p></o:p></span></i></b></p><p class=MsoNormal><b><i><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>I am not very confident about the quality of solve.QP.  Maybe Brian knows if there are any test-bed benchmarks on it?  In addition<o:p></o:p></span></i></b></p><p class=MsoNormal><b><i><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>solve.QP lacks the following:  (a) The ability to provide an initial set of weights, (b) Lack of a “verbose =” (or “trace =”) with default F.</span></i></b><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p></o:p></span></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>If "var" and "mean" are specified as objectives, then the plug-in selected is quadprog for solve.QP to maximize quadratic utility.<o:p></o:p></p><p class=MsoNormal><b><i><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>[Doug] This is a way to go.  But maybe we want to be more explicit and clear by using “quadutil” or “qu” or some such?</span></i></b><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p></o:p></span></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>If "mean" is specified as the only objective, then the plug-in selected is glpk for Rglpk_solve_LP to maximize return.<o:p></o:p></p><p class=MsoNormal><b><i><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>[Doug] Good</span></i></b><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p></o:p></span></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>If "CVaR" is specified as the only objective, then the plug-in selected is glpk for Rglpk_solve_LP to minimize sample CVaR.<o:p></o:p></p><p class=MsoNormal><b><i><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>[Doug] Good.  I would prefer to use the term ETL.  This is just my habit, but I must say that CVaR was a bad naming choice by R&S,<o:p></o:p></span></i></b></p><p class=MsoNormal><b><i><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>the reason being that the literal translation “conditional VaR” is not what it is about.  I guess in situations like this where some <o:p></o:p></span></i></b></p><p class=MsoNormal><b><i><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>People like one name and some like another, we can use aliases???</span></i></b><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p></o:p></span></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>This is nice for the user because they don't need to know when to use quadprog and vice versa for glpk.<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>It appears that the reference manual may be out of date. I could easily make a vignette with several examples about the functionality that optimize_method="ROI" offers.  I'd prefer to do this after we are all satisfied how to set the portfolio object with constraints and objectives.<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>Regards,<o:p></o:p></p></div><div><p class=MsoNormal>Ross Bennett<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div></div><div><p class=MsoNormal style='margin-bottom:12.0pt'><o:p> </o:p></p><div><p class=MsoNormal>On Fri, Jun 21, 2013 at 11:52 PM, Doug Martin <<a href="mailto:martinrd@comcast.net" target="_blank">martinrd@comcast.net</a>> wrote:<o:p></o:p></p><div><div><p>Brian and Ross (and anyone else who wishes to comment),<o:p></o:p></p><p> <o:p></o:p></p><p>Thanks for the late evening response.   Good to allow both conventions wrt the sign of risk.  Will check the leading portfolio and risk products for most frequent choice, and then we should go to with the majority.  My priors are that the plus sign will win.<o:p></o:p></p><p> <o:p></o:p></p><p>Much more importantly:  I just started browsing the PortfolioAnalytics help files manual, slowly starting to refresh my memory of what little I understood last summer.  Please see the attached version of August 26 (not the latest I know, but almost the last if not the last the Hezky edited)), where I have added a small number of comments here and there.  See in particular my comments on optimize.portfolio.  It would be very helpful if the unfinished business of making ROI invisible to the user is taken care of, and soon we just have solve.QP and Rglpk_solve_LP as optimizer choice arguments.  Even before getting all the constraint object changes, because then I could check running my solve.QP and Rglpk_solve_LP based examples (Ross you are quite familiar with these) run via optimize.portfolio and box constraints.  Then come back to group constraints when they are implemented.<o:p></o:p></p><p> <o:p></o:p></p><p>Will keep browsing the manual, and try to understand what is going on.  Brian, I don’t know if you (and Ross) can manage, but examples at the end of each help file would be truly helpful (no pun intended).<o:p></o:p></p><p> <o:p></o:p></p><p>Thanks,<o:p></o:p></p><p>Doug<o:p></o:p></p><p> <o:p></o:p></p><p>P.S. Brian, I hope you didn’t hear my phone call at 11:15 or so – I thought you were still live on email and then realized that almost 30 minutes had passed and you had probably crashed. <o:p></o:p></p><p> <o:p></o:p></p><p> <o:p></o:p></p><p> <o:p></o:p></p><div><p class=MsoNormal>-----Original Message-----<br>From: <a href="mailto:gsoc-porta-bounces@lists.r-forge.r-project.org" target="_blank">gsoc-porta-bounces@lists.r-forge.r-project.org</a> [mailto:<a href="mailto:gsoc-porta-bounces@lists.r-forge.r-project.org" target="_blank">gsoc-porta-bounces@lists.r-forge.r-project.org</a>] On Behalf Of Brian G. Peterson<o:p></o:p></p></div><div><p class=MsoNormal>Sent: Friday, June 21, 2013 8:55 PM<br>To: <a href="mailto:gsoc-porta@r-forge.wu-wien.ac.at" target="_blank">gsoc-porta@r-forge.wu-wien.ac.at</a><br>Subject: Re: [GSoC-PortA] Quick question on multipliers and constrained_objective()<o:p></o:p></p></div><p> <o:p></o:p></p><p>On 06/21/2013 10:44 PM, Doug Martin wrote:<o:p></o:p></p><div><div><p>> Small comment:  a lot (if not most) literature on risk takes risk as a <o:p></o:p></p><p>> positive number, so puts a minus sign on the VaR quantile, etc.  I <o:p></o:p></p><p>> previously noticed that PerformanceAnalytics takes risk as negative, <o:p></o:p></p><p>> had the thought to change that.<o:p></o:p></p><p> <o:p></o:p></p><p>PerformanceAnalytics allows it either way, user's choice.<o:p></o:p></p><p> <o:p></o:p></p><p>Risk is risk of *loss*.  Period.<o:p></o:p></p><p> <o:p></o:p></p><p>Now, the math is sometimes/often easier with a positive number, I admit, but it's typical for risk reports on real portfolios to describe those risks as negative numbers.<o:p></o:p></p><p> <o:p></o:p></p><p>So we allow either.<o:p></o:p></p><p> <o:p></o:p></p><p> <o:p></o:p></p><p>Cheers,<o:p></o:p></p><p> <o:p></o:p></p><p>Brian<o:p></o:p></p><p> <o:p></o:p></p><p> <o:p></o:p></p><p>--<o:p></o:p></p><p>Brian G. Peterson<o:p></o:p></p><p><a href="http://braverock.com/brian/" target="_blank"><span style='color:windowtext;text-decoration:none'>http://braverock.com/brian/</span></a><o:p></o:p></p><p>Ph: <a href="tel:773-459-4973" target="_blank">773-459-4973</a><o:p></o:p></p><p>IM: bgpbraverock<o:p></o:p></p><p>_______________________________________________<o:p></o:p></p><p>GSoC-PortA mailing list<o:p></o:p></p><p><a href="mailto:GSoC-PortA@lists.r-forge.r-project.org" target="_blank"><span style='color:windowtext;text-decoration:none'>GSoC-PortA@lists.r-forge.r-project.org</span></a><o:p></o:p></p><p><a href="http://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/gsoc-porta" target="_blank"><span style='color:windowtext;text-decoration:none'>http://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/gsoc-porta</span></a><o:p></o:p></p></div></div></div></div><p class=MsoNormal style='margin-bottom:12.0pt'><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><o:p></o:p></p></div><p class=MsoNormal><o:p> </o:p></p></div></div></body></html>