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

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

См. также

| | | | | | | | | | |

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

Подробнее о

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

Для просмотра документации необходимо авторизоваться на сайте