Documentation

This is machine translation

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

Note: This page has been translated by MathWorks. Please click here
To view all translated materals 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 PortfolioMADinput 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?