'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 | setDefaultConstraints | setBounds | setBudget | setGroups | setGroupRatio | setEquality | setInequality | setTurnover | setOneWayTurnover | setTrackingPort | setTrackingError