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

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

Установка границ 'Simple' Используя функцию PortfolioMAD

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

lb = [ 0.5; 0.25 ];
ub = [ 0.75; 0.5 ];
p = PortfolioMAD('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% вашего портфеля. Учитывая объект PortfolioMAD p, используйте setBounds, чтобы установить связанные ограничения:

lb = [ 0.5; 0.25 ];
ub = [ 0.75; 0.5 ];
p = PortfolioMAD;
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' Используя функцию PortfolioMAD или функцию setBounds

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

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

или

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

или

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

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

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

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

| | | | | | | | |

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

Больше о