Ограничение оборота является необязательным линейным ограничением абсолютного значения (см. «Средние ограничения оборота»), которое устанавливает верхнюю границу в среднем по покупкам и продажам. Ограничение оборота можно задать с помощью Portfolio
объект или setTurnover
функция. Ограничение оборота зависит от начального или текущего портфеля, который принимается равным нулю, если не установлен, когда установлено ограничение оборота. Ограничение оборота имеет свойства Turnover
, для верхней границы в среднем обороте, и InitPort
, для портфеля, относительно которого вычисляется оборот.
Portfolio
ФункцияСвойства ограничений оборота задаются с помощью Portfolio
объект. Предположим, что у вас есть начальный портфель из 10 активов в переменной x0
и вы хотите убедиться, что средний оборот не более 30%. Чтобы установить это ограничение оборота:
x0 = [ 0.12; 0.09; 0.08; 0.07; 0.1; 0.1; 0.15; 0.11; 0.08; 0.1 ]; p = Portfolio('Turnover', 0.3, 'InitPort', x0); 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
NumAssets
или InitPort
свойства не заданы до или при установке ограничения оборота, для назначения значений по умолчанию этим свойствам применяются различные правила (см. «Настройка начального или текущего портфеля»).setTurnover
ФункцияВы также можете задать свойства для оборота портфеля, используя setTurnover
для определения как верхней границы для среднего оборота, так и начального портфеля. Предположим, что у вас есть начальный портфель из 10 активов в переменной x0
и хотят гарантировать, что средний оборот не более 30%. Учитывая Portfolio
p объекта
, использование setTurnover
для установки ограничения оборота с начальным портфелем, установленным ранее, и без него:
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)
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
или
x0 = [ 0.12; 0.09; 0.08; 0.07; 0.1; 0.1; 0.15; 0.11; 0.08; 0.1 ]; p = Portfolio; p = setTurnover(p, 0.3, x0); 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
setTurnover
реализует скалярное расширение аргумента для начального портфеля. Если на NumAssets
свойство уже задано в Portfolio
объект, скалярный аргумент для InitPort
расширяется, чтобы иметь одно и то же значение во всех размерностях. В сложение, setTurnover
позволяет вам задать NumAssets
как необязательный аргумент. Чтобы очистить оборот от Portfolio
объект, используйте Portfolio
объект или setTurnover
с пустыми входами для свойств, которые будут удалены.
Portfolio
| setBounds
| setBudget
| setDefaultConstraints
| setEquality
| setGroupRatio
| setGroups
| setInequality
| setOneWayTurnover
| setTrackingError
| setTrackingPort
| setTurnover