| Contents | Index |
| On this page… |
|---|
Portfolio Optimization Problems Portfolio Problem Specification |
Portfolio optimization problems involve identifying portfolios that satisfy three criteria: minimize a proxy for risk, match or exceed a proxy for return, and satisfy basic feasibility requirements.
Portfolios are points from a feasible set of assets that constitute an asset universe. A portfolio specifies either holdings or weights in each individual asset in the asset universe. The convention is to specify portfolios in terms of weights, although the portfolio object tools work with holdings as well.
The set of feasible portfolios is necessarily a nonempty, closed, and bounded set. The proxy for risk is a function that characterizes either the variability or losses associated with portfolio choices. The proxy for return is a function that characterizes either the gross or net benefits associated with portfolio choices. The terms "risk" and "risk proxy" and "return" and "return proxy" are interchangeable. The fundamental insight of Markowitz (see Portfolio Optimization ) is that the goal of the portfolio choice problem is to seek minimum risk for a given level of return and to seek maximum return for a given level of risk. Portfolios satisfying these criteria are efficient portfolios and the graph of the risks and returns of these portfolios forms a curve called the efficient frontier.
To specify a portfolio optimization problem, you need:
Proxy for portfolio return (μ)
Proxy for portfolio risk (Σ)
Set of feasible portfolios (X), called a portfolio set.
Financial Toolbox software supports a portfolio object for mean-variance portfolio optimization. The portfolio object has either gross or net portfolio returns as the return proxy, the variance of portfolio returns as the risk proxy, and a portfolio set that is any combination of the specified constraints to form a portfolio set.
The proxy for portfolio return is a function
on a portfolio set
that characterizes the rewards
associated with portfolio choices. In most cases, the proxy for portfolio
return has two general forms, gross and net portfolio returns. Both
portfolio return models separate the risk-free rate r0 so
that the portfolio
contains only
risky assets.
Regardless of the underlying distribution of asset returns, a collection of S asset returns y1, ... ,yS has a mean of asset returns
![]()
and (sample) covariance of asset returns
![]()
These moments (or alternative estimators that characterize these moments) are used directly in mean-variance portfolio optimization to form proxies for portfolio risk and return.
The gross portfolio return for a portfolio
is
![]()
where:
r0 is the risk-free rate (scalar).
m is the mean of asset returns (n vector).
If the portfolio weights sum to 1, the risk-free rate is irrelevant. The properties in the portfolio object to specify gross portfolio returns are:
RiskFreeRate for r0
AssetMean for m
The net portfolio return for a portfolio
is
![]()
where:
r0 is the risk-free rate (scalar).
m is the mean of asset returns (n vector).
b is the proportional cost to purchase assets (n vector).
s is the proportional cost to sell assets (n vector).
You can incorporate fixed transaction costs in this model also, although in this case, it is necessary to incorporate prices into such costs. The properties in the portfolio object to specify net portfolio returns are:
RiskFreeRate for r0
AssetMean for m
InitPort forx0
BuyCost for b
SellCost for s.
The proxy for portfolio risk is a function
on a portfolio set
that characterizes the risks
associated with portfolio choices.
The variance of portfolio returns for a portfolio
is:
![]()
where C is covariance of asset returns (n-by-n positive-semidefinite matrix).
The property in the portfolio object to specify the variance of portfolio returns is AssetCovar for C.
Although the risk proxy in mean-variance portfolio optimization is the variance of portfolio returns, the square root, which is the standard deviation of portfolio returns, is often reported and displayed. Moreover, this quantity is often called the "risk" of the portfolio. For details, see Markowitz (Portfolio Optimization).
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 you set up your portfolio set, you need to 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 the following 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.
Portfolio object properties to specify linear inequality constraints are:
AInequality for AI
bInequality for bI
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).
bI is the linear equality constraint vector (nE vector).
n is the number of assets in the universe and nE is the number of constraints.
Portfolio object properties to specify linear equality constraints are:
AEquality for AE
bEquality for bE
The default is to ignore these constraints.
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 method estimateBounds. 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.
Portfolio object properties to specify bound constraints are:
LowerBound for lB
UpperBound for uB
The default is to ignore these constraints.
Note, 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).
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.
Portfolio object properties to specify budget constraints are:
LowerBudget for lS
UpperBudget for uS
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 is used to specify how far portfolios can go into cash. For example, if lS = 0 and uS = 1, then the portfolio can have 0% to 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 provide a useful way to 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 0s or 1s with 1 indicating that an asset is part of the group or 0 indicating that the asset is not part of the group.
Portfolio object properties to specify group constraints are:
GroupMatrix for G
LowerGroup for lG
UpperGroup for uG
The default is to ignore these constraints.
Group ratio constraints are specialized linear constraints that provide a useful way to 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 identify which assets belong to a base and comparison group associated with that row. Each row contains either 0s or 1s with 1 indicating that an asset is part of the group or 0 indicating that the asset is not part of the group.
Portfolio object properties to specify group ratio constraints are:
GroupA for GA
GroupB for GB
LowerRatio for lR
UpperRatio for uR
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 software computes portfolio turnover as the average of purchases and sales. Average turnover constraints takes the form
![]()
where:
x is the portfolio (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.
Portfolio object properties to specify the average turnover constraint are:
Turnover for τ
InitPort for x0
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 form
![]()
![]()
with
x — The portfolio (n vector)
x0 — Initial portfolio (n vector)
τB — Upper-bound for turnover constraint on purchases (scalar)
τS — Upper-bound for turnover constraint on sales (scalar)
where n is the number of assets in the universe.
To specify one-way turnover constraints, use the following properties in the portfolio object: BuyTurnover for τB, SellTurnover for τS, and InitPort for x0.
Note The average turnover constraint with τ is not a combination of the one-way turnover constraints with τ = τB = τS. |
The default portfolio optimization problem has a risk and return proxy associated with a given problem, and a portfolio set that specifies portfolio weights to be nonnegative and to sum to 1. The lower bound combined with the budget constraint is sufficient to ensure that the portfolio set is nonempty, closed, and bounded. The default portfolio optimization problem characterizes a long-only investor who is fully invested in a collection of assets.
![]() | Portfolio Optimization Tools | Portfolio Object | ![]() |
View demos and recorded presentations led by industry experts.
Now On Demand
Network with industry peers and learn the latest applications of the leading software product for computational finance.
| © 1984-2012- The MathWorks, Inc. - Site Help - Patents - Trademarks - Privacy Policy - Preventing Piracy - RSS |