Работа с 'Simple' Ограничения, связанные с использованием объекта PortfolioCVaR

'Simple' ограничения, накладываемые на портфель, являются необязательными линейными ограничениями, которые поддерживают верхнюю и нижнюю границы весов портфеля (см. 'Simple' Bound Constraints). Несмотря на то, что каждый набор портфеля должен быть ограничен, нет необходимости задавать набор портфеля с явными связанными ограничениями. Например, можно создать набор портфелей с неявным ограничением верхней границы или набор портфелей со средними ограничениями оборота. Связанные ограничения имеют свойства LowerBound для нижних ограничений и UpperBound для верхнего ограничения. Установите значения по умолчанию для этих ограничений, используя setDefaultConstraints функция (см. Установка ограничений по умолчанию для весов портфеля с использованием объекта портфеля).

Настройка 'Simple' Ограничения, связанные с использованием PortfolioCVaR Функция

Свойства связанных ограничений заданы через PortfolioCVaR объект. Предположим, что у вас есть сбалансированный фонд с акциями, которые могут варьироваться от 50% до 75% вашего портфеля, и облигациями, которые могут варьироваться от 25% до 50% вашего портфеля. Ограничения, накладываемые на сбалансированный фонд, устанавливаются следующим образом:

lb = [ 0.5; 0.25 ];
ub = [ 0.75; 0.5 ];
p = PortfolioCVaR('LowerBound', lb, 'UpperBound', ub, 'BoundType', 'Simple');
disp(p.NumAssets)
disp(p.LowerBound)
disp(p.UpperBound)
 2

 0.5000
 0.2500

 0.7500
 0.5000

Чтобы продолжить этот пример, необходимо настроить ограничение бюджета. Для получения дополнительной информации смотрите Работа с бюджетными ограничениями с использованием объекта портфеля.

Настройка 'Simple' Ограничения, связанные с использованием setBounds Функция

Можно также задать свойства для связанных ограничений с помощью setBounds. Предположим, что у вас есть сбалансированный фонд с акциями, которые могут варьироваться от 50% до 75% вашего портфеля, и облигациями, которые могут варьироваться от 25% до 50% вашего портфеля. Учитывая PortfolioCVaR p объекта, использование setBounds для установки ограничений:

lb = [ 0.5; 0.25 ];
ub = [ 0.75; 0.5 ];
p = PortfolioCVaR;
p = setBounds(p, lb, ub,'BoundType', 'Simple');
disp(p.NumAssets)
disp(p.LowerBound)
disp(p.UpperBound)
  2

  0.5000
  0.2500

  0.7500
  0.5000

Настройка 'Simple' Ограничения, связанные с использованием PortfolioCVaR Функция или setBounds Функция

Оба PortfolioCVaR объект и setBounds функция реализует скалярное расширение на любом из LowerBound или UpperBound свойства. Если на NumAssets свойство уже задано в PortfolioCVaR объект, скалярные аргументы для обоих свойств расширяются, чтобы иметь одно и то же значение во всех размерностях. В сложение, setBounds позволяет вам задать NumAssets как необязательный аргумент. Предположим, что у вас есть вселенная из 500 активов, и вы хотите задать общие ограничения для всех активов в вашей вселенной. В частности, вы являетесь инвестором только в течение длительного времени и хотите удерживать не более 5% своего портфеля в одном активе. Можно задать эти ограничения любым из следующих эквивалентных способов:

p = PortfolioCVaR('NumAssets', 500, 'LowerBound', 0, 'UpperBound', 0.05,'BoundType', 'Simple');

или

p = PortfolioCVaR('NumAssets', 500);
p = setBounds(p, 0, 0.05,'BoundType','Simple');

или

p = PortfolioCVaR;
p = setBounds(p, 0, 0.05, 500,'BoundType','Simple');

Чтобы удалить ограничения из PortfolioCVaR объект, используйте либо PortfolioCVaR объект или setBounds с пустыми входами для свойств, которые будут удалены. Например, чтобы удалить верхнее ограничение из PortfolioCVaR p объекта в предыдущем примере:

p = PortfolioCVaR(p, 'UpperBound', []);

См. также

| | | | | | | | |

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

Подробнее о

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

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