Bookmark and Share

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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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

From   Austin Nichols <[email protected]>
To   [email protected]
Subject   Re: st: Return-based style analysis / Shape's Quadratic Programming technique
Date   Mon, 12 Sep 2011 04:04:38 -0400

Christopher Garlich <[email protected]>:
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
<[email protected]> 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:

© Copyright 1996–2018 StataCorp LLC   |   Terms of use   |   Privacy   |   Contact us   |   Site index