Linear equality constraints are optional linear constraints that impose systems of
equalities on portfolio weights (see Linear Equality Constraints). Linear equality constraints have properties
AEquality
, for the equality constraint matrix, and
bEquality
, for the equality constraint vector.
PortfolioCVaR
FunctionThe properties for linear equality constraints are set using the PortfolioCVaR
object. Suppose that
you have a portfolio of five assets and want to ensure that the first three assets
are 50% of your portfolio. To set this constraint:
A = [ 1 1 1 0 0 ]; b = 0.5; p = PortfolioCVaR('AEquality', A, 'bEquality', b); disp(p.NumAssets); disp(p.AEquality); disp(p.bEquality);
5 1 1 1 0 0 0.5000
setEquality
and addEquality
FunctionsYou can also set the properties for linear equality constraints using setEquality
. Suppose that you have
a portfolio of five assets and want to ensure that the first three assets are 50% of
your portfolio. Given a PortfolioCVaR
object
p
, use setEquality
to set the linear
equality constraints:
A = [ 1 1 1 0 0 ]; b = 0.5; p = PortfolioCVaR; p = setEquality(p, A, b); disp(p.NumAssets); disp(p.AEquality); disp(p.bEquality);
5 1 1 1 0 0 0.5000
Suppose that you want to add another linear equality constraint to ensure that the
last three assets also constitute 50% of your portfolio. You can set up an augmented
system of linear equalities or use addEquality
to build up linear
equality constraints. For this example, create another system of
equalities:
p = PortfolioCVaR; A = [ 1 1 1 0 0 ]; % first equality constraint b = 0.5; p = setEquality(p, A, b); A = [ 0 0 1 1 1 ]; % second equality constraint b = 0.5; p = addEquality(p, A, b); disp(p.NumAssets); disp(p.AEquality); disp(p.bEquality);
5 1 1 1 0 0 0 0 1 1 1 0.5000 0.5000
The PortfolioCVaR
object, setEquality
, and addEquality
implement scalar
expansion on the bEquality
property based on the dimension of the
matrix in the AEquality
property.
PortfolioCVaR
| setBounds
| setBudget
| setDefaultConstraints
| setEquality
| setGroupRatio
| setGroups
| setInequality
| setOneWayTurnover
| setTurnover