'Simple' Ограничения, связанные с использованием объекта PortfolioMAD'Simple' ограничения, накладываемые на портфель, являются необязательными линейными ограничениями, которые поддерживают верхнюю и нижнюю границы весов портфеля (см. 'Simple' Bound Constraints). Несмотря на то, что каждый набор портфеля должен быть ограничен, нет необходимости задавать набор портфеля с явными связанными ограничениями. Например, можно создать набор портфелей с неявным ограничением верхней границы или набор портфелей со средними ограничениями оборота. Связанные ограничения имеют свойства 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', []);PortfolioMAD | setBounds | setBudget | setDefaultConstraints | setEquality | setGroupRatio | setGroups | setInequality | setOneWayTurnover | setTurnover