Documentation Center

  • Trial Software
  • Product Updates

setTurnover

Class: PortfolioCVaR

Set up maximum turnover constraint in PortfolioCVaR 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 portfolio in Port to satisfy the following:

1' * | Port - InitPort | <= Turnover

Tips

Use dot notation to set up the maximum turnover constraint for a portfolio.

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

Input Arguments

obj

CVaR portfolio object [PortfolioCVaR].

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 CVaR portfolio object [PortfolioCVaR].

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 CVaR Portfolio Object

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 = p.setTurnover(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

See Also

| |

More About

Was this topic helpful?