# Documentation

### This is machine translation

Translated by
Mouseover text to see original. Click the button below to return to the English version of the page.

Note: This page has been translated by MathWorks. Please click here
To view all translated materials including this page, select Japan from the country navigator on the bottom of this page.

# setTurnover

Set up maximum portfolio turnover constraint

Use the `setTurnover` function with a `Portfolio`, `PortfolioCVaR`, or `PortfolioMAD` object to set up maximum portfolio turnover constraint for portfolio objects.

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

## Syntax

``obj = setTurnover(obj,Turnover)``
``obj = setTurnover(obj,Turnover,InitPort,NumAssets)``

## Description

example

````obj = setTurnover(obj,Turnover)` sets up maximum portfolio turnover constraint for portfolio objects.```

example

````obj = setTurnover(obj,Turnover,InitPort,NumAssets)` sets up maximum portfolio turnover constraint for portfolio objects with additional options specified for `Turnover`, `InitPort`, and `NumAssets`.Given an upper bound for portfolio turnover in `Turnover` and an initial portfolio in `InitPort`, the turnover constraint requires any portfolio in `Port` to satisfy the following: 1' *1/2* | Port - InitPort | <= Turnover```

## Examples

collapse all

Given a Portfolio object `p`, to ensure that average turnover is no more than 30% with an initial portfolio of 10 assets in a variable `x0`, use the `setTurnover` method to set the turnover constraint.

```x0 = [ 0.12; 0.09; 0.08; 0.07; 0.1; 0.1; 0.15; 0.11; 0.08; 0.1 ]; p = Portfolio('InitPort', x0); p = setTurnover(p, 0.3); disp(p.NumAssets);```
``` 10 ```
`disp(p.Turnover);`
``` 0.3000 ```
`disp(p.InitPort);`
``` 0.1200 0.0900 0.0800 0.0700 0.1000 0.1000 0.1500 0.1100 0.0800 0.1000 ```

Given a CVaR portfolio object `p`, to ensure that average turnover is no more than 30% with an initial portfolio of 10 assets in a variable `x0`, use the `setTurnover` method to set the turnover constraint.

```x0 = [ 0.12; 0.09; 0.08; 0.07; 0.1; 0.1; 0.15; 0.11; 0.08; 0.1 ]; p = PortfolioCVaR('InitPort', x0); p = setTurnover(p, 0.3); disp(p.NumAssets);```
``` 10 ```
`disp(p.Turnover);`
``` 0.3000 ```
`disp(p.InitPort);`
``` 0.1200 0.0900 0.0800 0.0700 0.1000 0.1000 0.1500 0.1100 0.0800 0.1000 ```

Given PortfolioMAD object `p`, to ensure that average turnover is no more than 30% with an initial portfolio of 10 assets in a variable `x0`, use the `setTurnover` method to set the turnover constraint.

```x0 = [ 0.12; 0.09; 0.08; 0.07; 0.1; 0.1; 0.15; 0.11; 0.08; 0.1 ]; p = PortfolioMAD('InitPort', x0); p = setTurnover(p, 0.3); disp(p.NumAssets);```
``` 10 ```
`disp(p.Turnover);`
``` 0.3000 ```
`disp(p.InitPort);`
``` 0.1200 0.0900 0.0800 0.0700 0.1000 0.1000 0.1500 0.1100 0.0800 0.1000 ```

## Input Arguments

collapse all

Object for portfolio, specified using `Portfolio`, `PortfolioCVaR`, or `PortfolioMAD` object. For more information on creating a portfolio object, see

Portfolio turnover constraint, specified as a nonnegative and finite scalar for a `Portfolio`, `PortfolioCVaR`, or `PortfolioMAD`input object (`obj`).

Initial or current portfolio weights, specified as a finite vector with `NumAssets` > `0` elements for a `Portfolio`, `PortfolioCVaR`, or `PortfolioMAD` input object (`obj`).

### Note

If no `InitPort` is specified, that value is assumed to be `0`.

If `InitPort` is specified as a scalar and `NumAssets` exists, then `InitPort` undergoes scalar expansion.

Data Types: `double`

Number of assets in portfolio, specified as a scalar for a `Portfolio`, `PortfolioCVaR`, or `PortfolioMAD` input object (`obj`).

### Note

If it is not possible to obtain a value for `NumAssets`, it is assumed that `NumAssets` is `1`.

Data Types: `double`

## Output Arguments

collapse all

Updated portfolio object, returned as a `Portfolio`, `PortfolioCVaR`, or `PortfolioMAD` object. For more information on creating a portfolio object, see

## Tips

You can also use dot notation to set up the maximum portfolio turnover constraint.

```obj = obj.setTurnover(Turnover, InitPort, NumAssets); ```

#### Introduced in R2011a

Was this topic helpful?

Download ebook