| Financial Toolbox | ![]() |
Mean-variance efficient frontier
Syntax
[PortRisk, PortReturn, PortWts] = frontcon(ExpReturn, ExpCovariance, NumPorts, PortReturn, AssetBounds, Groups, GroupBounds)
Arguments
Description
[PortRisk, PortReturn, PortWts] = frontcon(ExpReturn,
ExpCovariance, NumPorts, PortReturn, AssetBounds, Groups,
GroupBounds)
returns the mean-variance efficient frontier with user-specified asset constraints, covariance, and returns. For a collection of NASSETS risky assets, computes a portfolio of asset investment weights that minimize the risk for given values of the expected return. The portfolio risk is minimized subject to constraints on the asset weights or on groups of asset weights.
PortRisk is an NPORTS-by-1 vector of the standard deviation of each portfolio.
PortReturn is a NPORTS-by-1 vector of the expected return of each portfolio.
PortWts is an NPORTS-by-NASSETS matrix of weights allocated to each asset. Each row represents a portfolio. The total of all weights in a portfolio is 1.
frontcon generates a plot of the efficient frontier if you invoke it without output arguments.
The asset returns are assumed to be jointly normal, with expected mean returns of ExpReturn and return covariance ExpCovariance. The variance of a portfolio with 1-by-NASSETS weights PortWts is given by PortVar = PortWts*ExpCovariance*PortWts'. The portfolio expected return is PortReturn = dot(ExpReturn, PortWts).
Examples
Given three assets with expected returns of
compute the mean-variance efficient frontier for four points.
NumPorts = 4;
[PortRisk, PortReturn, PortWts] = frontcon(ExpReturn,...
ExpCovariance, NumPorts)
PortRisk =
0.0426
0.0483
0.1089
0.2000
PortReturn =
0.1569
0.1713
0.1856
0.2000
PortWts =
0.2134 0.3518 0.4348
0.0096 0.4352 0.5552
0 0.7128 0.2872
0 1.0000 0
See Also
| frac2cur | fvdisc | ![]() |