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 =


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

Related Examples

Introduced before R2006a

Was this topic helpful?