Работа с ограничениями среднего оборота с использованием объекта PortfolioCVaR

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

См. также

| | | | | | | | |

Похожие примеры

Подробнее о

Внешние веб-сайты