| create.EfficientFrontier {PortfolioAnalytics} | R Documentation |
create an efficient frontier
Description
create an efficient frontier
Usage
create.EfficientFrontier(
R,
portfolio,
type,
optimize_method = "CVXR",
n.portfolios = 25,
risk_aversion = NULL,
match.col = "ES",
search_size = 2000,
...
)
Arguments
R |
xts object of asset returns |
portfolio |
object of class 'portfolio' specifying the constraints and objectives, see |
type |
type of efficient frontier, see Details. |
optimize_method |
the optimize method to get the efficient frontier, default is CVXR |
n.portfolios |
number of portfolios to calculate along the efficient frontier |
risk_aversion |
vector of risk_aversion values to construct the efficient frontier.
|
match.col |
column to match when extracting the efficient frontier from an objected created by |
search_size |
passed to |
... |
passthrough parameters to |
Details
Currently there are 4 'types' supported to create an efficient frontier:
- "mean-var", "mean-sd", or "mean-StdDev":
This is a special case for an efficient frontier that can be created by a QP solver. The
portfolioobject should have two objectives: 1) mean and 2) var. If the portfolio object does not contain these objectives, they will be added using default parameters. The efficient frontier will be created viameanvar.efficient.frontier.- "mean-ETL", "mean-ES", "mean-CVaR", "mean-etl":
This is a special case for an efficient frontier that can be created by an LP solver. The
portfolioobject should have two objectives: 1) mean and 2) ETL/ES/CVaR. If the portfolio object does not contain these objectives, they will be added using default parameters. The efficient frontier is created viameanetl.efficient.frontier.- "mean-EQS":
This is a special case for an efficient frontier that can be created by CVXR solvers. The
portfolioobject should have two objectives: 1) mean and 2) EQS. If the portfolio object does not contain these objectives, they will be added using default parameters. The efficient frontier is created viameanrisk.efficient.frontier.- "mean-risk":
This is a special case for multiple efficient frontiers. The efficient frontier is created via
meanrisk.efficient.frontier.- "DEoptim":
This can handle more complex constraints and objectives than the simple mean-var and mean-ETL cases. For this type, we actually call
optimize.portfoliowithoptimize_method="DEoptim"and then extract the efficient frontier withextract.efficient.frontier.- "random":
This can handle more complex constraints and objectives than the simple mean-var and mean-ETL cases. For this type, we actually call
optimize.portfoliowithoptimize_method="random"and then extract the efficient frontier withextract.efficient.frontier.
Value
an object of class 'efficient.frontier' with the objective measures and weights of portfolios along the efficient frontier.
Author(s)
Ross Bennett, Xinran Zhao
See Also
optimize.portfolio,
portfolio.spec,
meanvar.efficient.frontier,
meanetl.efficient.frontier