This function extracts the efficient frontier from an object created by
optimize.portfolio
.
extractEfficientFrontier(object, match.col = "ES", n.portfolios = 25,
risk_aversion = NULL)
an efficient.frontier
object with weights and other metrics along the efficient frontier
an optimal portfolio object created by optimize.portfolio
string name of column to use for risk (horizontal axis).
match.col
must match the name of an objective measure in the
objective_measures
or opt_values
slot in the object created
by optimize.portfolio
.
number of portfolios to use to plot the efficient frontier
vector of risk_aversion values to construct the efficient frontier.
n.portfolios
is ignored if risk_aversion
is specified and the number
of points along the efficient frontier is equal to the length of risk_aversion
.
Ross Bennett
If the object is an optimize.portfolio.ROI
object and match.col
is "ES", "ETL", or "CVaR", then the mean-ETL efficient frontier will be
created via meanetl.efficient.frontier
.
If the object is an optimize.portfolio.ROI
object and match.col
is "StdDev", then the mean-StdDev efficient frontier will be created via
meanvar.efficient.frontier
. Note that if 'var' is specified as the
name of an objective, the value returned will be 'StdDev'.
For objects created by optimize.portfolo
with the DEoptim, random, or
pso solvers, the efficient frontier will be extracted from the object via
extract.efficient.frontier
. This means that optimize.portfolio
must
be run with trace=TRUE
.