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 | ![]() |