portfolio.optim | R Documentation |

Computes an efficient portfolio from the given return series `x`

in the mean-variance sense.

```
## Default S3 method:
portfolio.optim(x, pm = mean(x), riskless = FALSE,
shorts = FALSE, rf = 0.0, reslow = NULL, reshigh = NULL,
covmat = cov(x), ...)
```

`x` |
a numeric matrix or multivariate time series consisting of a series of returns. |

`pm` |
the desired mean portfolio return. |

`riskless` |
a logical indicating whether there is a riskless lending and borrowing rate. |

`shorts` |
a logical indicating whether shortsales on the risky securities are allowed. |

`rf` |
the riskfree interest rate. |

`reslow` |
a vector specifying the (optional) lower bound on allowed portfolio weights. |

`reshigh` |
a vector specifying the (optional) upper bound on allowed portfolio weights. |

`covmat` |
the covariance matrix of asset returns. |

`...` |
further arguments to be passed from or to methods. |

The computed portfolio has the desired expected return `pm`

and
no other portfolio exists, which has the same mean return, but a
smaller variance. Inequality restrictions of the form ```
w_l \le w
\le w_h
```

can be imposed using the `reslow`

and
`reshigh`

vectors. An alternative covariance matrix estimate can
be supplied via the `covmat`

argument. To solve the quadratic
program, `solve.QP`

is used.

`portfolio.optim`

is a generic function with methods for
multivariate `"ts"`

and `default`

for matrix.

Missing values are not allowed.

A list containing the following components:

`pw` |
the portfolio weights. |

`px` |
the returns of the overall portfolio. |

`pm` |
the expected portfolio return. |

`ps` |
the standard deviation of the portfolio returns. |

A. Trapletti

E. J. Elton and M. J. Gruber (1991): *Modern Portfolio Theory and
Investment Analysis*, 4th Edition, Wiley, NY, pp. 65-93.

C. Huang and R. H. Litzenberger (1988): *Foundations for
Financial Economics*, Elsevier, NY, pp. 59-82.

`solve.QP`

```
x <- rnorm(1000)
dim(x) <- c(500,2)
res <- portfolio.optim(x)
res$pw
require("zoo") # For diff() method.
X <- diff(log(as.zoo(EuStockMarkets)))
res <- portfolio.optim(X) ## Long only
res$pw
res <- portfolio.optim(X, shorts=TRUE) ## Long/Short
res$pw
```

Embedding an R snippet on your website

Add the following code to your website.

For more information on customizing the embed code, read Embedding Snippets.