addGroups

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

Синтаксис

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

Описание

пример

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