# portfolio.optim: Portfolio Optimization In tseries: Time Series Analysis and Computational Finance

 portfolio.optim R Documentation

## Portfolio Optimization

### Description

Computes an efficient portfolio from the given return series `x` in the mean-variance sense.

### Usage

```## Default S3 method:
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 <= w <= 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 standard deviation of the portfolio returns.

A. Trapletti

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

`solve.QP`

### Examples

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

tseries documentation built on Oct. 10, 2022, 5:06 p.m.