# Specify Portfolio Constraints

## Objects

`Portfolio` | Create Portfolio object for mean-variance portfolio optimization and analysis |

## Functions

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

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.

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

**Portfolio Optimization Using a Social Performance Measure**

This example shows how to use a `Portfolio`

object for portfolio optimization that includes a social performance measure for the percentage of women on a company's board and group constraints.

This example shows three techniques of asset diversification in a portfolio.

## Concepts

**Portfolio Set for Optimization Using Portfolio Objects**

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

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.

**When to Use Portfolio Objects Over Optimization Toolbox**

The three cases for using Portfolio, PortfolioCVaR, PortfolioMAD object are: always use, preferred use, and use Optimization Toolbox.