Accelerating the pace of engineering and science

• Trials

# pcglims

Linear inequalities for asset group minimum and maximum allocation

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