exponenta event banner

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

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

Настройка 'Simple' Границы с помощью Portfolio Функция

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

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

lb = [ 0.5; 0.25 ];
ub = [ 0.75; 0.5 ];
p = Portfolio;
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' Границы с помощью Portfolio Функция или setBounds Функция

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

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

или

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

или

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

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

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

См. также

| | | | | | | | | | |

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

Подробнее

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