Skip to content

Portfolio Optimization

4 messages · Whit Armstrong, Heiko Mayer

#
You can do this w/ solve.QP.

use something like this:

solve.QP(lambda*2*vcv,fcst,Amat,bvec)

and set up Amat and bvec to be the appropriate duration constraints.

-Whit
On Tue, Mar 9, 2010 at 3:35 PM, Heiko Mayer <Heiko-Mayer at gmx.de> wrote:
1 day later
#
well, solve.QP is going to do this optim:

max[   x'E(R) - lambda * x' VCV x ]

Where x is your wgts vector.

You need to set lambda to reflect the amt of risk you want to take.

you can use Grinold and Kahn to decide what lambda should be:

target.lambda <- function(residual.risk, expected.IR, freq) {
    ## Grinold & Kahn page 122
    expected.IR/(2 * residual.risk * sqrt(freq))
}
On Thu, Mar 11, 2010 at 2:48 PM, Heiko Mayer <Heiko-Mayer at gmx.de> wrote: