addGroups

Добавьте ограничения группы для весов портфеля к существующим ограничениям группы

Описание

пример

obj = addGroups(obj,GroupMatrix,LowerGroup) добавляют ограничения группы для весов портфеля к существующим ограничениям группы для Portfolio, PortfolioCVaR, или PortfolioMAD объекты. Для получения дополнительной информации на соответствующих рабочих процессах при использовании этих различных объектов, смотрите Рабочий процесс Объекта Портфеля, Рабочий процесс Объекта PortfolioCVaR и Рабочий процесс Объекта PortfolioMAD.

Учитывая GroupMatrix и любой LowerGroup или UpperGroup, портфель Port должен удовлетворить следующему:

LowerGroup <= GroupMatrix * Port <= UpperGroup

пример

obj = addGroups(obj,GroupMatrix,LowerGroup,UpperGroup) добавляют ограничения группы для весов портфеля к существующим ограничениям группы с дополнительной опцией для UpperGroup.

Учитывая GroupMatrix и любой LowerGroup или UpperGroup, портфель Port должен удовлетворить следующему:

LowerGroup <= GroupMatrix * Port <= UpperGroup

Примеры

свернуть все

Установите ограничение группы гарантировать, что первые три актива составляют самое большее 30% портфеля. Затем добавьте другое ограничение группы, чтобы гарантировать, что нечетные активы составляют по крайней мере 20% портфеля.

p = Portfolio;
G = [ true true true false false ];    % group matrix for first group constraint
p = setGroups(p, G, [], 0.3);
G = [ true false true false true ];    % group matrix for second group constraint
p = addGroups(p, G, 0.2);
disp(p.NumAssets);
     5
disp(p.GroupMatrix);
     1     1     1     0     0
     1     0     1     0     1
disp(p.LowerGroup);
      -Inf
    0.2000
disp(p.UpperGroup);
    0.3000
       Inf

Установите ограничение группы гарантировать, что первые три актива составляют самое большее 30% портфеля. Затем добавьте другое ограничение группы, чтобы гарантировать, что нечетные активы составляют по крайней мере 20% портфеля.

p = PortfolioCVaR;
G = [ true true true false false ];    % group matrix for first group constraint
p = setGroups(p, G, [], 0.3);
G = [ true false true false true ];    % group matrix for second group constraint
p = addGroups(p, G, 0.2);
disp(p.NumAssets);
     5
disp(p.GroupMatrix);
     1     1     1     0     0
     1     0     1     0     1
disp(p.LowerGroup);
      -Inf
    0.2000
disp(p.UpperGroup);
    0.3000
       Inf

Установите ограничение группы гарантировать, что первые три актива составляют самое большее 30% портфеля. Затем добавьте другое ограничение группы, чтобы гарантировать, что нечетные активы составляют по крайней мере 20% портфеля.

p = PortfolioMAD;
G = [ true true true false false ];    % group matrix for first group constraint
p = setGroups(p, G, [], 0.3);
G = [ true false true false true ];    % group matrix for second group constraint
p = addGroups(p, G, 0.2);
disp(p.NumAssets);
     5
disp(p.GroupMatrix);
     1     1     1     0     0
     1     0     1     0     1
disp(p.LowerGroup);
      -Inf
    0.2000
disp(p.UpperGroup);
    0.3000
       Inf

Входные параметры

свернуть все

Объект для портфеля, заданное использование Portfolio, PortfolioCVaR, или PortfolioMAD объект. Для получения дополнительной информации о создании объекта портфеля смотрите

Типы данных: object

Матрица ограничений группы в виде матрицы.

Примечание

Матрица группы GroupMatrix часто указывает на членство в группах, что означает, что его элементами является обычно любой 0 или 1. Из-за этой интерпретации, GroupMatrix может быть логическая или числовая матрица.

Типы данных: double

Нижняя граница для ограничений группы в виде вектора.

Примечание

Если введенный скаляр, LowerGroup подвергается скалярному расширению, чтобы быть соответствующим с GroupMatrix.

Типы данных: double

Верхняя граница для ограничений группы в виде вектора.

Примечание

Если введенный скаляр, UpperGroup подвергается скалярному расширению, чтобы быть соответствующим с GroupMatrix.

Типы данных: double

Выходные аргументы

свернуть все

Обновленный объект портфеля, возвращенный как Portfolio, PortfolioCVaR, или PortfolioMAD объект. Для получения дополнительной информации о создании объекта портфеля смотрите

Советы

  • Можно также использовать запись через точку, чтобы добавить ограничения группы для весов портфеля.

    obj = obj.addGroups(GroupMatrix, LowerGroup, UpperGroup)

  • Чтобы удалить ограничения группы из любого из объектов портфеля с помощью записи через точку, введите пустые массивы для соответствующих массивов.

Введенный в R2011a