exponenta event banner

addGroups

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

Описание

пример

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

Данный 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