View source: R/extract.efficient.frontier.R
| create.EfficientFrontier | R Documentation |
create an efficient frontier
create.EfficientFrontier(
R,
portfolio,
type,
optimize_method = "CVXR",
n.portfolios = 25,
risk_aversion = NULL,
match.col = "ES",
search_size = 2000,
...
)
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 |
Currently there are 4 'types' supported to create an efficient frontier:
This is a special case for
an efficient frontier that can be created by a QP solver.
The portfolio object 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 via
meanvar.efficient.frontier.
This is a special
case for an efficient frontier that can be created by an LP solver.
The portfolio object 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 via
meanetl.efficient.frontier.
This is a special
case for an efficient frontier that can be created by CVXR solvers.
The portfolio object should have two objectives: 1) mean
and 2) CSM. If the portfolio object does not contain these
objectives, they will be added using default parameters.
The efficient frontier is created via
meanrisk.efficient.frontier.
This is a special case for multiple efficient frontiers.
The efficient frontier is created via
meanrisk.efficient.frontier.
This can handle more complex constraints and objectives
than the simple mean-var and mean-ETL cases. For this type, we actually
call optimize.portfolio with optimize_method="DEoptim"
and then extract the efficient frontier with
extract.efficient.frontier.
This can handle more complex constraints and objectives
than the simple mean-var and mean-ETL cases. For this type, we actually
call optimize.portfolio with optimize_method="random"
and then extract the efficient frontier with
extract.efficient.frontier.
an object of class 'efficient.frontier' with the objective measures and weights of portfolios along the efficient frontier.
Ross Bennett, Xinran Zhao
optimize.portfolio,
portfolio.spec,
meanvar.efficient.frontier,
meanetl.efficient.frontier
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.