Documentation

This is machine translation

Translated by
Mouse over text to see original. Click the button below to return to the English verison of the page.

pcglims

Linear inequalities for asset group minimum and maximum allocation

As an alternative to pcglims, 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.

Syntax

[A,b] = pcglims(Groups, GroupMin, GroupMax)

Arguments

 Groups Number of groups (NGROUPS) by number of assets (NASSETS) specification of which assets belong to which group. Each row specifies a group. For a specific group, Group(i,j) = 1 if the group contains asset j; otherwise, Group(i,j) = 0. GroupMin GroupMax Scalar or NGROUPS-long vectors of minimum and maximum combined allocations in each group. NaN indicates no constraint. Scalar bounds are applied to all groups.

Description

[A,b] = pcglims(Groups, GroupMin, GroupMax) specifies minimum and maximum allocations to groups of assets. An arbitrary number of groups, NGROUPS, comprising subsets of NASSETS investments, is allowed.

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 pcglims is called with fewer than two output arguments, the function returns A concatenated with b [A,b].

Examples

 Asset INTC XOM RD Region North America North America Europe Sector Technology Energy Energy

Group

Min. Exposure

Max. Exposure

North America

0.30

0.75

Europe

0.10

0.55

Technology

0.20

0.50

Energy

0.50

0.50

Set the minimum and maximum investment in various groups.

%          INTC  XOM  RD
Groups = [   1    1   0  ;  % North America
0    0   1  ;  % Europe
1    0   0  ;  % Technology
0    1   1  ]; % Energy

GroupMin = [0.30
0.10
0.20
0.50];

GroupMax = [0.75
0.55
0.50
0.50];

[A,b] = pcglims(Groups, GroupMin, GroupMax)
A =

-1    -1     0
0     0    -1
-1     0     0
0    -1    -1
1     1     0
0     0     1
1     0     0
0     1     1

b =

-0.3000
-0.1000
-0.2000
-0.5000
0.7500
0.5500
0.5000
0.5000

Portfolio weights of 50% in INTC, 25% in XOM, and 25% in RD satisfy the constraints.