Работа с односторонними ограничениями оборота Используя объект 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 объект, используйте thePortfolioCVaR объект или setOneWayTurnover с пустыми входными параметрами для свойств, которые будут очищены.

Смотрите также

| | | | | | | | |

Связанные примеры

Больше о

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