Specify Portfolio Constraints

Define constraints for portfolio assets such as linear equality and inequality, bound, budget, group, group ratio, and turnover constraints

Objects

PortfolioCreate Portfolio object for mean-variance portfolio optimization and analysis

Functions

expand all

addEqualityAdd linear equality constraints for portfolio weights to existing constraints
addGroupRatioAdd group ratio constraints for portfolio weights to existing group ratio constraints
addGroupsAdd group constraints for portfolio weights to existing group constraints
addInequalityAdd linear inequality constraints for portfolio weights to existing constraints
getBoundsObtain bounds for portfolio weights from portfolio object
getBudgetObtain budget constraint bounds from portfolio object
getCostsObtain buy and sell transaction costs from portfolio object
getEqualityObtain equality constraint arrays from portfolio object
getGroupRatioObtain group ratio constraint arrays from portfolio object
getGroupsObtain group constraint arrays from portfolio object
getInequalityObtain inequality constraint arrays from portfolio object
getOneWayTurnoverObtain one-way turnover constraints from portfolio object
setGroupsSet up group constraints for portfolio weights
setInequalitySet up linear inequality constraints for portfolio weights
setBoundsSet up bounds for portfolio weights for a portfolio object
setBudgetSet up budget constraints
setCostsSet up proportional transaction costs
setDefaultConstraintsSet up portfolio constraints with nonnegative weights that sum to 1
setEqualitySet up linear equality constraints for portfolio weights
setGroupRatioSet up group ratio constraints for portfolio weights
setInitPortSet up initial or current portfolio
setOneWayTurnoverSet up one-way portfolio turnover constraints
setTurnoverSet up maximum portfolio turnover constraint
setTrackingPortSet up benchmark portfolio for tracking error constraint
setTrackingErrorSet up maximum portfolio tracking error constraint
setMinMaxNumAssetsSet cardinality constraints on the number of assets invested in a portfolio object

Examples and How To

Specifying Constraints

Working with Portfolio Constraints Using Defaults

The most basic or “default” portfolio set requires portfolio weights to be nonnegative and to sum to 1.

Working with 'Simple' Bound Constraints Using Portfolio Object

'Simple' bound constraints are optional linear constraints that maintain upper and lower bounds on portfolio weights.

Working with Budget Constraints Using Portfolio Object

The budget constraint is an optional linear constraint that maintains upper and lower bounds on the sum of portfolio weights.

Working with Group Constraints Using Portfolio Object

Group constraints are optional linear constraints that group assets together and enforce bounds on the group weights.

Working with Group Ratio Constraints Using Portfolio Object

Group ratio constraints are optional linear constraints that maintain bounds on proportional relationships among groups of assets.

Working with Linear Equality Constraints Using Portfolio Object

Linear equality constraints are optional linear constraints that impose systems of equalities on portfolio weights.

Working with Linear Inequality Constraints Using Portfolio Object

Linear inequality constraints are optional linear constraints that impose systems of inequalities on portfolio weights.

Working with Average Turnover Constraints Using Portfolio Object

The turnover constraint is an optional linear absolute value constraint that enforces an upper bound on the average of purchases and sales.

Working with One-Way Turnover Constraints Using Portfolio Object

One-way turnover constraints are optional constraints that enforce upper bounds on net purchases or net sales.

Working with Tracking Error Constraints Using Portfolio Object

Tracking error constraints are optional constraints that measure the risk relative to a portfolio called a tracking portfolio.

Working with 'Conditional' BoundType, MinNumAssets, and MaxNumAssets Constraints Using Portfolio Objects

Using 'Conditional' BoundType, MinNumAssets, and MaxNumAssets constraints with portfolio objects.

Using Constraints

Constraint Specification Using a Portfolio Object

This example computes the efficient frontier of portfolios consisting of three different assets, INTC, XON, and RD, given a list of constraints.

Asset Allocation Case Study

This example shows how to set up a basic asset allocation problem that uses mean-variance portfolio optimization with a Portfolio object to estimate efficient portfolios.

Portfolio Optimization Examples

The following sequence of examples highlights features of the Portfolio object in the Financial Toolbox™.

Portfolio Analysis with Turnover Constraints

This example shows how to analyze the characteristics of a portfolio of equities, and then compares them with the efficient frontier.

Leverage in Portfolio Optimization with a Risk-Free Asset

This example shows how to use the setBudget function for the Portfolio class to define the limits on the sum(AssetWeight_i) in risky assets.

Portfolio Optimization with Semicontinuous and Cardinality Constraints

This example shows how to use a Portfolio object to directly handle semicontinuous and cardinality constraints.

Black-Litterman Portfolio Optimization

This example shows the workflow to implement the Black-Litterman model with the Portfolio class.

Concepts

Portfolio Set for Optimization Using Portfolio Object

The complete specification of a portfolio optimization problem is the set of feasible portfolios, which is called a portfolio set.

Portfolio Object Workflow

Portfolio object workflow for creating and modeling a mean-variance portfolio.

Setting Up a Tracking Portfolio

The Portfolio object property TrackingPort lets you identify a tracking portfolio.