Main Content

Set up group ratio constraints for portfolio weights

sets up group ratio constraints for portfolio weights for `obj`

= setGroupRatio(`obj`

,`GroupA`

,`GroupB`

,`LowerRatio`

)`Portfolio`

,
`PortfolioCVaR`

, or `PortfolioMAD`

objects. For details on
the respective workflows when using these different objects, see Portfolio Object Workflow, PortfolioCVaR Object Workflow, and PortfolioMAD Object Workflow.

sets up group ratio constraints for portfolio weights for portfolio objects with an additional
optional argument for `obj`

= setGroupRatio(___,`UpperRatio`

)`UpperRatio`

.

Given base and comparison group matrices `GroupA`

and
`GroupB`

and `LowerRatio`

or
`UpperRatio`

bounds, group ratio constraints require any portfolio in
`Port`

to satisfy the following:

(GroupB * Port) .* LowerRatio <= GroupA * Port <= (GroupB * Port) .* UpperRatio

**Caution**

This collection of constraints usually requires that portfolio weights be nonnegative
and that the products `GroupA * Port`

and `GroupB * Port`

are always nonnegative. Although negative portfolio weights and non-Boolean group ratio
matrices are supported, use with caution.

You can also use dot notation to set up group ratio constraints for portfolio weight.

obj = obj.setGroupRatio(GroupA, GroupB, LowerRatio, UpperRatio);

To remove group ratio constraints, enter empty arrays for the corresponding arrays. To add to existing group ratio constraints, use

`addGroupRatio`

.

- Working with Group Ratio Constraints Using Portfolio Object
- Working with Group Constraints Using PortfolioCVaR Object
- Working with Group Constraints Using PortfolioMAD Object
- Portfolio Optimization Examples
- Portfolio Set for Optimization Using Portfolio Object
- Portfolio Set for Optimization Using PortfolioCVaR Object
- Portfolio Set for Optimization Using PortfolioMAD Object