The final element for a complete specification of a portfolio optimization problem is the set of feasible portfolios, which is called a portfolio set. A portfolio set is specified by construction as the intersection of sets formed by a collection of constraints on portfolio weights. A portfolio set necessarily and sufficiently must be a nonempty, closed, and bounded set.
When setting up your portfolio set, ensure that the portfolio
set satisfies these conditions. The most basic or “default”
portfolio set requires portfolio weights to be nonnegative (using
the lower-bound constraint) and to sum to 1
(using
the budget constraint). The most general portfolio set handled by
the portfolio optimization tools can have any of these constraints:
Linear inequality constraints
Linear equality constraints
Bound constraints
Budget constraints
Group constraints
Group ratio constraints
Average turnover constraints
One-way turnover constraints
Linear inequality constraints are general linear constraints that model relationships among portfolio weights that satisfy a system of inequalities. Linear inequality constraints take the form
where:
x is the portfolio (n vector).
AI is the linear inequality constraint matrix (nI-by-n matrix).
bI is the linear inequality constraint vector (nI vector).
n is the number of assets in the universe and nI is the number of constraints.
PortfolioMAD
object properties to specify linear inequality constraints are:
AInequality
for
AI
bInequality
for
bI
NumAssets
for n
The default is to ignore these constraints.
Linear equality constraints are general linear constraints that model relationships among portfolio weights that satisfy a system of equalities. Linear equality constraints take the form
where:
x is the portfolio (n vector).
AE is the linear equality constraint matrix (nE-by-n matrix).
bE is the linear equality constraint vector (nE vector).
n is the number of assets in the universe and nE is the number of constraints.
PortfolioMAD
object properties to specify linear equality constraints are:
AEquality
for
AE
bEquality
for
bE
NumAssets
for n
The default is to ignore these constraints.
'Simple'
Bound constraints are specialized linear constraints that
confine portfolio weights to fall either above or below specific bounds. Since every
portfolio set must be bounded, it is often a good practice, albeit not necessary, to
set explicit bounds for the portfolio problem. To obtain explicit bounds for a given
portfolio set, use the estimateBounds
function. Bound
constraints take the form
where:
x is the portfolio (n vector).
lB is the lower-bound constraint (n vector).
uB is the upper-bound constraint (n vector).
n is the number of assets in the universe.
PortfolioMAD
object properties to specify bound constraints are:
LowerBound
for
lB
UpperBound
for
uB
NumAssets
for n
The default is to ignore these constraints.
The default portfolio optimization problem (see Default Portfolio Problem) has lB = 0
with uB set
implicitly through a budget constraint.
Budget constraints are specialized linear constraints that confine the sum of portfolio weights to fall either above or below specific bounds. The constraints take the form
where:
x is the portfolio (n vector).
1
is the vector of ones (n vector).
lS is the lower-bound budget constraint (scalar).
uS is the upper-bound budget constraint (scalar).
n is the number of assets in the universe.
PortfolioMAD
object properties to specify budget constraints are:
LowerBudget
for
lS
UpperBudget
for
uS
NumAssets
for n
The default is to ignore this constraint.
The default portfolio optimization problem (see Default Portfolio Problem) has lS = uS = 1
,
which means that the portfolio weights sum to 1
.
If the portfolio optimization problem includes possible movements
in and out of cash, the budget constraint specifies how far portfolios
can go into cash. For example, if lS = 0
and uS = 1
,
then the portfolio can have 0–100% invested in cash. If cash
is to be a portfolio choice, set RiskFreeRate
(r0)
to a suitable value (see Return Proxy and Working with a Riskless Asset).
Group constraints are specialized linear constraints that enforce “membership” among groups of assets. The constraints take the form
where:
x is the portfolio (n vector).
lG is the lower-bound group constraint (nG vector).
uG is the upper-bound group constraint (nG vector).
G is the matrix of group membership indexes (nG-by-n matrix).
Each row of G identifies which assets belong
to a group associated with that row. Each row contains either 0
s
or 1
s with 1
indicating that
an asset is part of the group or 0
indicating that
the asset is not part of the group.
PortfolioMAD
object properties to specify group constraints are:
GroupMatrix
for G
LowerGroup
for
lG
UpperGroup
for
uG
NumAssets
for n
The default is to ignore these constraints.
Group ratio constraints are specialized linear constraints that enforce relationships among groups of assets. The constraints take the form
for i = 1,..., nR where:
x is the portfolio (n vector).
lR is the vector of lower-bound group ratio constraints (nR vector).
uR is the vector matrix of upper-bound group ratio constraints (nR vector).
GA is the matrix of base group membership indexes (nR-by-n matrix).
GB is the matrix of comparison group membership indexes (nR-by-n matrix).
n is the number of assets in the universe and nR is the number of constraints.
Each row of GA and GB identifies which assets belong to a base and comparison group associated with that row.
Each row contains either 0
s or 1
s
with 1
indicating that an asset is part of the
group or 0
indicating that the asset is not part
of the group.
PortfolioMAD
object properties to specify group ratio constraints are:
GroupA
for
GA
GroupB
for
GB
LowerRatio
for
lR
UpperRatio
for
uR
NumAssets
for n
The default is to ignore these constraints.
Turnover constraint is a linear absolute value constraint that ensures estimated optimal portfolios differ from an initial portfolio by no more than a specified amount. Although portfolio turnover is defined in many ways, the turnover constraints implemented in Financial Toolbox™ compute portfolio turnover as the average of purchases and sales. Average turnover constraints take the form
where:
x is the portfolio (n vector).
1
is the vector of ones (n vector).
x0 is the initial portfolio (n vector).
τ is the upper bound for turnover (scalar).
n is the number of assets in the universe.
PortfolioMAD
object properties to specify the average turnover constraint are:
Turnover
for τ
InitPort
for
x0
NumAssets
for n
The default is to ignore this constraint.
One-way turnover constraints ensure that estimated optimal portfolios differ from an initial portfolio by no more than specified amounts according to whether the differences are purchases or sales. The constraints take the forms
where:
x is the portfolio (n vector)
1
is the vector of ones (n vector).
x0 is the Initial portfolio (n vector).
τB is the upper bound for turnover constraint on purchases (scalar).
τS is the upper bound for turnover constraint on sales (scalar).
To specify one-way turnover constraints, use the following properties in the
PortfolioMAD
object:
BuyTurnover
for
τB
SellTurnover
for
τS
InitPort
for
x0
The default is to ignore this constraint.
Note
The average turnover constraint (see Working with Average Turnover Constraints Using PortfolioMAD Object) with τ is not a combination of the one-way turnover constraints with τ = τB = τS.
Portfolio
| PortfolioCVaR
| PortfolioMAD