 Notice: On April 23, 2014, Statalist moved from an email list to a forum, based at statalist.org.

# Re: st: Return-based style analysis / Shape's Quadratic Programming technique

 From Austin Nichols To statalist@hsphsun2.harvard.edu Subject Re: st: Return-based style analysis / Shape's Quadratic Programming technique Date Mon, 12 Sep 2011 04:04:38 -0400

```Christopher Garlich <cgarlich@mail.uni-mannheim.de>:
Full references please.  R-squared is the same with transformed coefs.
Transforming and retransforming coefs is an intuitive method of
constrained optimization.

If you have different average returns for different asset classes, and
you are trying to maximize average returns, the optimum will be b=1
for the max and b=0 elsewhere, which the mlogit transform will have
trouble with.  Presumably you care about the riskiness of asset
classes, but you will need to be more clear about what you want to
estimate if you want better advice.  You seem to want to replicate the
return on an existing portfolio?  Set of portfolios?

On Sat, Sep 10, 2011 at 8:12 AM, Christopher Garlich
<cgarlich@mail.uni-mannheim.de> wrote:
> Hi everybody,
>
> studying mutual funds, I would like to rebuild Sharpe's (1988/92) Quadratic
> Programming technique (which is a return-based style analysis) within STATA.
>
>
> Basically, it's a simple regression of portfolio returns on the returns of a
> set of asset classes (e.g. stocks, bonds, etc.).
> So if you had just 2 asset classes, it would look something like this:
> R(portfolio) =  b1*R(stocks) + b2*R(bonds)
>
> But in order to determine portfolio weights that actually make sense to an
> (long-only) investor, one has to impose 2 restrictions:
> b1 + b2 + ... + bn = 1
> and 0 <= b <= 1, for all b
>
> In forums I have seen suggestions that using nonlinear least-squares [nl]
> will do the trick if you respecify the coefficients to be estimated in the
> following way:
> b1 = 1/(1+exp(b'2))
> a2 = exp(b'2)/(1+exp(b'2))
> ...and then recover the betas that you are looking for by using:
> nlcom (1/(1+exp(_b[/b2]) ///
> exp(_b[/b2])/(1+exp(_b[/b2])
>
>
> But isn't there a more intuitive way? Additionally, I would definitely need
> the R2 from this regression but I wouldn't know how to recover this from the
> transformation above.
> Has anyone encountered this (or a similar) problem before?
>
>
> Thanks and regards,
> Chris

*
*   For searches and help try:
*   http://www.stata.com/help.cgi?search
*   http://www.stata.com/support/statalist/faq
*   http://www.ats.ucla.edu/stat/stata/
```