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

'Simple' связанные ограничения являются дополнительными линейными ограничениями, которые обеспечивают верхние и нижние границы на весах портфеля (см. 'Простые' Связанные Ограничения). Несмотря на то, что каждый набор портфеля должен быть ограничен, не необходимо задать набор портфеля с явными связанными ограничениями. Например, можно создать набор портфеля с неявным ограничением верхней границы или набор портфеля с ограничениями среднего оборота. Связанные ограничения имеют свойства 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', []);

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

| | | | | | | | |

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

Больше о

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