getOneWayTurnover

Class: PortfolioCVaR

Obtain one-way turnover constraints from PortfolioCVaR object

Syntax

[BuyTurnover,SellTurnover] = getOneWayTurnover(obj)

Description

[BuyTurnover,SellTurnover] = getOneWayTurnover(obj) obtains one-way turnover constraints from a PortfolioCVaR object.

Tips

You can also use dot notation to get the one-way turnover constraints from a PortfolioCVaR object.

[BuyTurnover,SellTurnover] = obj.getOneWayTurnover

Input Arguments

obj

CVaR portfolio object [PortfolioCVaR].

Output Arguments

BuyTurnover

Turnover constraint on purchases [scalar].

SellTurnover

Turnover constraint on sales [scalar].

Definitions

One-Way Turnover Constraint

One-way turnover constraints ensure that estimated optimal CVaR portfolios differ from an initial portfolio by no more than specified amounts according to whether the differences are purchases or sales. The constraints take the form

1T×max{0,xx0}τB

1T×max{0,x0x}τS

with

  • x — The portfolio (NumAssets vector)

  • x0 — Initial portfolio (NumAssets vector)

  • τB — Upper bound for turnover constraint on purchases (scalar)

  • τS — Upper bound for turnover constraint on sales (scalar)

Specify one-way turnover constraints using these properties in the CVaR portfolio object: BuyTurnover for τB, SellTurnover for τS, and InitPort for x0.

    Note:   The average turnover constraint (which is set using setTurnover) is not just the combination of the one-way turnover constraints with the same value for the constraint.

Attributes

Accesspublic
Staticfalse
Hiddenfalse

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

Examples

expand all

Obtain One-Way Turnover Costs

Set one-way turnover costs and obtain the buy and sell turnover values.

m = [ 0.05; 0.1; 0.12; 0.18 ];
C = [ 0.0064 0.00408 0.00192 0;
    0.00408 0.0289 0.0204 0.0119;
    0.00192 0.0204 0.0576 0.0336;
    0 0.0119 0.0336 0.1225 ];
m = m/12;
C = C/12;

AssetScenarios = mvnrnd(m, C, 20000);

p = PortfolioCVaR;
p = setScenarios(p, AssetScenarios);
p = setDefaultConstraints(p);
p = setProbabilityLevel(p, 0.95);

p = setBudget(p, 1, 1);
p = setOneWayTurnover(p, 1.3, 0.3, 0); %130-30 portfolio

[BuyTurnover,SellTurnover] = getOneWayTurnover(p)
BuyTurnover =

    1.3000


SellTurnover =

    0.3000

Was this topic helpful?