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.
Author(s)
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.
See Also
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