Brian,<div><br></div><div>That is odd you are getting that for an output, I haven't done any work on the print or summary methods. What you have outlined below for a print or summary method makes perfect sense.</div><div>
<br></div><div>I just ran testing_portfolio_<u></u>specification.R and here is what I get.</div><div><div>> print(pspec$constraints)</div><div>[[1]]</div><div>$type</div><div>[1] "weight_sum"</div><div><br></div>
<div>$enabled</div><div>[1] TRUE</div><div><br></div><div>$min_sum</div><div>[1] 0.99</div><div><br></div><div>$max_sum</div><div>[1] 1.01</div><div><br></div><div>$call</div><div>add.constraint(portfolio = pspec, type = "weight_sum", enabled = TRUE, </div>
<div>    min_sum = 0.99, max_sum = 1.01, indexnum = 1)</div><div><br></div><div>attr(,"class")</div><div>[1] "weight_sum_constraint" "constraint"           </div><div><br></div><div>[[2]]</div>
<div>$type</div><div>[1] "box"</div><div><br></div><div>$enabled</div><div>[1] FALSE</div><div><br></div><div>$min</div><div>Convertible Arbitrage            CTA Global Distressed Securities </div><div>                 0.10                  0.05                  0.10 </div>
<div>     Emerging Markets Equity Market Neutral </div><div>                 0.15                  0.20 </div><div><br></div><div>$max</div><div>Convertible Arbitrage            CTA Global Distressed Securities </div><div>
                 0.40                  0.40                  0.50 </div><div>     Emerging Markets Equity Market Neutral </div><div>                 0.45                  0.60 </div><div><br></div><div>$call</div><div>add.constraint(portfolio = pspec, type = "box", min = c(0.1, </div>
<div>    0.05, 0.1, 0.15, 0.2), max = c(0.4, 0.4, 0.5, 0.45, 0.6), </div><div>    indexnum = 2)</div><div><br></div><div>attr(,"class")</div><div>[1] "box_constraint" "constraint"</div></div>
<div><br></div><div>Any idea why we get such different outputs?</div><div><br></div><div>Ross</div><div><br><div class="gmail_quote">On Mon, Jul 1, 2013 at 2:53 PM, 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">Ross,<br>
<br>
I was just running through your testing scripts.<br>
<br>
I notice this in the testing_portfolio_<u></u>specification.R output:<br>
<br>
$constraints<br>
$constraints[[1]]<br>
An object containing 5 constraints.<br>
Some constraints are of type nonlinear.<br>
<br>
$constraints[[2]]<br>
An object containing 5 constraints.<br>
Some constraints are of type nonlinear.<br>
<br>
There are actually only two constraints slots.  Each of the constraint objects has 5 slots in the list, but these are the normal constraints slots, not 5 separate constraint objects.<br>
<br>
I guess I would expect something more like:<br>
<br>
#this is the output of str<br>
<br>
$constraints[[1]]<br>
  ..$ :List of 5<br>
  .. ..$ type   : chr "weight_sum"<br>
  .. ..$ enabled: logi TRUE<br>
  .. ..$ min_sum: num 0.99<br>
  .. ..$ max_sum: num 1.01<br>
  .. ..$ call   : language add.constraint(portfolio = pspec, type = "weight_sum", enabled = TRUE,      min_sum = 0.99, max_sum = 1.01, indexnum = 1)<br>
  .. ..- attr(*, "class")= chr [1:2] "weight_sum_constraint" "constraint"<br>
$constraints[[2]]<br>
  ..$ :List of 5<br>
  .. ..$ type   : chr "box"<br>
  .. ..$ enabled: logi FALSE<br>
  .. ..$ min    : Named num [1:5] 0.1 0.05 0.1 0.15 0.2<br>
  .. .. ..- attr(*, "names")= chr [1:5] "Convertible Arbitrage" "CTA Global" "Distressed Securities" "Emerging Markets" ...<br>
  .. ..$ max    : Named num [1:5] 0.4 0.4 0.5 0.45 0.6<br>
  .. .. ..- attr(*, "names")= chr [1:5] "Convertible Arbitrage" "CTA Global" "Distressed Securities" "Emerging Markets" ...<br>
  .. ..$ call   : language add.constraint(portfolio = pspec, type = "box", min = c(0.1, 0.05, 0.1,      0.15, 0.2), max = c(0.4, 0.4, 0.5, 0.45, 0.6), indexnum = 2)<br>
  .. ..- attr(*, "class")= chr [1:2] "box_constraint" "constraint"<br>
<br>
<br>
## or better yet<br>
<br>
$constraints[[1]]<br>
type: 'weight_sum'<br>
enabled: TRUE<br>
min_sum: 0.99<br>
max_sum: 1.01<br>
$constraints[[2]]<br>
type: 'box'<br>
enabled: TRUE<br>
min: 0.1 0.05 0.1 0.15 0.2<br>
max: 0.4 0.4 0.5 0.45 0.6<br>
# these are named, so the named vector would be even better, of course<br>
<br>
And similar print methods for objectives?<br>
<br>
Thoughts?<span class="HOEnZb"><font color="#888888"><br>
<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>
</font></span></blockquote></div><br></div>