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

Ограничения одностороннего оборота являются необязательными ограничениями (см. «Ограничения одностороннего оборота»), которые устанавливают верхние ограничения на чистые закупки или чистые продажи. Ограничения одностороннего оборота можно задать с помощью PortfolioCVaR объект или setOneWayTurnover функция. Ограничения одностороннего оборота зависят от начального или текущего портфеля, который принимается равным нулю, если не установлен, когда ограничения оборота установлены. Односторонние ограничения оборота имеют свойства BuyTurnover, для верхней границы по чистым покупкам, SellTurnover, для верхней границы чистых продаж и InitPort, для портфеля, относительно которого вычисляется оборот.

Установка односторонних ограничений оборота с помощью PortfolioCVaR Функция

Свойства для односторонних ограничений оборота заданы с помощью PortfolioCVaR объект. Предположим, что у вас есть начальный портфель с 10 активами в переменной x0 и вы хотите убедиться, что оборот по покупкам составляет не более 30%, а оборот по продажам - не более 20% от начального портфеля. Чтобы установить эти ограничения оборота:

x0 = [ 0.12; 0.09; 0.08; 0.07; 0.1; 0.1; 0.15; 0.11; 0.08; 0.1 ]; 
p = PortfolioCVaR('BuyTurnover', 0.3, 'SellTurnover', 0.2, 'InitPort', x0);
disp(p.NumAssets)
disp(p.BuyTurnover)
disp(p.SellTurnover)
disp(p.InitPort)
    10

    0.3000

    0.2000

    0.1200
    0.0900
    0.0800
    0.0700
    0.1000
    0.1000
    0.1500
    0.1100
    0.0800
    0.1000

Если на NumAssets или InitPort свойства не заданы до или при установке ограничения оборота, для назначения значений по умолчанию этим свойствам применяются различные правила (см. «Настройка начального или текущего портфеля»).

Установка ограничений оборота с помощью setOneWayTurnover Функция

Вы также можете задать свойства для оборота портфеля, используя setOneWayTurnover указать верхние границы оборота по покупкам (BuyTurnover) и продажи (SellTurnover) и начальный портфель. Предположим, что у вас есть начальный портфель из 10 активов в переменной x0 и хотят обеспечить, чтобы оборот по покупкам составлял не более 30%, а оборот по продажам - не более 20% от начального портфеля. Учитывая PortfolioCVaR p объекта, использование setOneWayTurnover для установки ограничений оборота с начальным портфелем, установленным ранее, и без него:

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 = setOneWayTurnover(p, 0.3, 0.2);

disp(p.NumAssets)
disp(p.BuyTurnover)
disp(p.SellTurnover)
disp(p.InitPort)
    10

    0.3000

    0.2000

    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 = setOneWayTurnover(p, 0.3, 0.2, x0);
disp(p.NumAssets)
disp(p.BuyTurnover)
disp(p.SellTurnover)
disp(p.InitPort)
    10

    0.3000

    0.2000

    0.1200
    0.0900
    0.0800
    0.0700
    0.1000
    0.1000
    0.1500
    0.1100
    0.0800
    0.1000

setOneWayTurnover реализует скалярное расширение аргумента для начального портфеля. Если на NumAssets свойство уже задано в PortfolioCVaR объект, скалярный аргумент для InitPort расширяется, чтобы иметь одно и то же значение во всех размерностях. В сложение, setOneWayTurnover позволяет вам задать NumAssets как необязательный аргумент. Чтобы удалить односторонний оборот из вашего PortfolioCVaR объект, используйте PortfolioCVaR объект или setOneWayTurnover с пустыми входами для свойств, которые будут удалены.

См. также

| | | | | | | | |

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

Подробнее о

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

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