| Financial Toolbox | ![]() |
Linear inequalities for individual asset allocation
Syntax
Arguments
Description
[A,b] = pcalims(AssetMin, AssetMax, NumAssets)
specifies the lower and upper bounds of portfolio allocations in each of NumAssets available asset investments.
A is a matrix and b a vector such that A*PortWts' <= b, where PortWts is a 1-by-NASSETS vector of asset allocations.
If pcalims is called with fewer than two output arguments, the function returns A concatenated with b [A,b].
Examples
Set the minimum weight in every asset to 0 (no short-selling), and set the maximum weight of IBM to 0.5 and CSCO to 0.8, while letting the maximum weight in INTC float.
| Asset |
IBM |
INTC |
CSCO |
| Min. Wt. |
0 |
0 |
0 |
| Max. Wt. |
0.5 |
0.8 |
AssetMin = 0AssetMax = [0.5 NaN 0.8][A,b] = pcalims(AssetMin, AssetMax)A = 1 0 0 0 0 1 -1 0 0 0 -1 0 0 0 -1 b = 0.5000 0.8000 0 0 0
Portfolio weights of 50% in IBM and 50% in INTC satisfy the constraints.
Set the minimum weight in every asset to 0 and the maximum weight to 1.
| Asset |
IBM |
INTC |
CSCO |
| Min. Wt. |
0 |
0 |
0 |
| Max. Wt. |
1 |
1 |
1 |
AssetMin = 0 AssetMax = 1 NumAssets = 3 [A,b] = pcalims(AssetMin, AssetMax, NumAssets) A = 1 0 0 0 1 0 0 0 1 -1 0 0 0 -1 0 0 0 -1 b = 1 1 1 0 0 0
Portfolio weights of 50% in IBM and 50% in INTC satisfy the constraints.
See Also
pcgcomp, pcglims, pcpval, portcons, portopt
| payuni | pcgcomp | ![]() |