Linear inequalities for fixing total portfolio value


[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.


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) 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 =


Portfolio weights of 40%, 10%, and 50% in the three assets satisfy the constraints.

Introduced before R2006a