# portfolio.optim

##### Portfolio Optimization

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

in the mean-variance sense.

- Keywords
- ts

##### Usage

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

##### Arguments

- 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.

##### Details

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.

##### Value

- A list containing the following components:
pw the portfolio weights. px the returns of the overall portfolio. pm the expected portfolio return. ps the standared deviation of the portfolio returns.

##### References

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.

##### See Also

##### Examples

```
x <- rnorm(1000)
dim(x) <- c(500,2)
res <- portfolio.optim(x)
res$pw
```

*Documentation reproduced from package tseries, version 0.10-18, License: GPL-2*