setTurnover

Class: PortfolioMAD

Set up maximum turnover constraint in PortfolioMAD object

Syntax

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

Description

obj = setTurnover(obj,Turnover) sets up the maximum turnover constraint for a portfolio.

obj = setTurnover(obj,Turnover,InitPort,NumAssets) sets up the maximum turnover constraint for a portfolio with additional options specified by InitPort and NumAssets.

Given an upper bound for portfolio turnover in Turnover and an initial portfolio in InitPort, the turnover constraint requires any MAD portfolio in Port to satisfy the following:

1' * | Port - InitPort | <= Turnover

Tips

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

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

Input Arguments

obj

MAD portfolio object [PortfolioMAD].

Turnover

Portfolio turnover constraint [scalar].

    Note:   Turnover must be nonnegative and finite.

InitPort

(Optional) Initial or current portfolio weights [vector].

    Note:   InitPort must be a finite vector with NumAssets > 0 elements.

    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.

NumAssets

(Optional) Number of assets in the portfolio [scalar].

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

Output Arguments

obj

Updated MAD portfolio object [PortfolioMAD].

Attributes

Accesspublic
Staticfalse
Hiddenfalse

To learn about attributes of methods, see Method Attributes in the MATLAB® Object-Oriented Programming documentation.

Examples

expand all

Set Turnover Constraint for a MAD Portfolio Object

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);
disp(p.Turnover);
disp(p.InitPort);
    10

    0.3000

    0.1200
    0.0900
    0.0800
    0.0700
    0.1000
    0.1000
    0.1500
    0.1100
    0.0800
    0.1000

Was this topic helpful?