Ограничение оборота является необязательным линейным ограничением абсолютного значения (см. «Ограничения среднего оборота»), которое налагает верхнюю границу на среднее значение покупок и продаж. Ограничение оборота может быть установлено с помощью 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