Accelerating the pace of engineering and science

# Documentation

### Contents

Class: Portfolio

Add linear equality constraints for portfolio weights to existing constraints

## Description

obj = addEquality(obj,AEquality,bEquality) adds linear equality constraints for portfolio weights to existing constraints.

Given a linear equality constraint matrix AEquality and vector bEquality, every weight in a portfolio Port must satisfy the following:

`AEquality * Port = bEquality`

This method "stacks" additional linear equality constraints onto any existing linear equality constraints that already exist in the input Portfolio object. If no constraints already exist, this method is the same as setEquality.

## Tips

• You can also use dot notation to add the linear equality constraints for portfolio weights.

`obj = obj.addEquality(AEquality, bEquality)`
• You can also remove linear equality constraints from a Portfolio object using dot notation.

`obj = obj.setEquality([ ], [ ])`

## Input Arguments

 obj Portfolio object [Portfolio]. AEquality Matrix to form linear equality constraints [matrix]. bEquality Vector to form linear equality constraints [vector].
 Note:   It is an error if AEquality is empty and bEquality is non-empty or if AEquality is non-empty and bEquality is empty.

## Output Arguments

 obj Updated Portfolio object [Portfolio].

## Attributes

 Access public Static false Hidden false

To learn about attributes of methods, see Method Attributes in the MATLAB® Object-Oriented Programming documentation.

## Examples

expand all

### Add a Linear Equality Constraint

Use the addEquality method to create linear equality constraints. Add another linear equality constraint to ensure that the last three assets constitute 50% of a portfolio.

```p = Portfolio;
A = [ 1 1 1 0 0 ];    % First equality constraint
b = 0.5;
p = setEquality(p, A, b);

A = [ 0 0 1 1 1 ];    % Second equality constraint
b = 0.5;

disp(p.NumAssets);
disp(p.AEquality);
disp(p.bEquality);
```
```     5

1     1     1     0     0
0     0     1     1     1

0.5000
0.5000

```