'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', []);
Portfolio
| setBounds
| setBudget
| setDefaultConstraints
| setEquality
| setGroupRatio
| setGroups
| setInequality
| setOneWayTurnover
| setTrackingError
| setTrackingPort
| setTurnover