Linear inequalities for fixing total portfolio value
As an alternative to pcpval, use the Portfolio object (Portfolio) for mean-variance portfolio optimization. This object supports 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. For information on the workflow when using Portfolio objects, see Portfolio Object Workflow.
[A,b] = pcpval(PortValue, NumAssets)
Scalar total value of asset portfolio (sum of the allocations in all assets). PortValue = 1 specifies weights as fractions of the portfolio and return and risk numbers as rates instead of value.
Number of available asset investments.
[A,b] = pcpval(PortValue, NumAssets) scales the total value of a portfolio of NumAssets assets to PortValue. All portfolio weights, bounds, return, and risk values except ExpReturn and ExpCovariance (see portopt) are in terms of PortValue.
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 pcpval is called with fewer than two output arguments, the function returns A concatenated with b [A,b].
Scale the value of a portfolio of three assets = 1, so all return values are rates and all weight values are in fractions of the portfolio.
PortValue = 1; NumAssets = 3; [A,b] = pcpval(PortValue, NumAssets)
A = 1 1 1 -1 -1 -1 b = 1 -1
Portfolio weights of 40%, 10%, and 50% in the three assets satisfy the constraints.