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