Ограничение оборота является дополнительным линейным ограничением абсолютного значения (см. Ограничения Среднего оборота), который осуществляет верхнюю границу в среднем покупок и продаж. Ограничение оборота может быть установлено с помощью PortfolioCVaR возразите или setTurnover функция. Ограничение оборота зависит от начального или текущего портфеля, который принят, чтобы быть нулем, если не установил, когда ограничение оборота установлено. Ограничение оборота имеет свойства Turnover, для верхней границы на среднем обороте и InitPort, для портфеля, против которого вычисляется оборот.
PortfolioCVaR ФункцияСвойства для ограничений оборота установлены с помощью PortfolioCVaR объект. Предположим, что у вас есть начальный портфель 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 = PortfolioCVaR('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%. Учитывая PortfolioCVaR объект pИспользование setTurnover установить ограничение оборота с и без начального портфеля, устанавливаемого ранее:
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 = 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 = PortfolioCVaR; 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 свойство уже установлено в PortfolioCVaR объект, скалярный аргумент для InitPort расширяется, чтобы иметь то же значение через все размерности. Кроме того, setTurnover позволяет вам задать NumAssets как дополнительный аргумент. Очистить оборот от вашего PortfolioCVaR объект, используйте PortfolioCVaR объект или setTurnover с пустыми входными параметрами для свойств, которые будут очищены.
PortfolioCVaR | setDefaultConstraints | setBounds | setBudget | setGroups | setGroupRatio | setEquality | setInequality | setTurnover | setOneWayTurnover