Работа с ограничениями отношения группы Используя объект PortfolioMAD

Ограничения отношения группы являются дополнительными линейными ограничениями, которые поддерживают границы на пропорциональных отношениях среди групп активов (см. Ограничения Отношения Группы). Несмотря на то, что ограничения реализованы как общие ограничения, обычное соглашение состоит в том, чтобы задать пару матриц группы, которые идентифицируют членство каждого актива в определенных группах с булевыми индикаторами (или true или false или с 1 или 0) для каждого элемента в каждой из матриц группы. Цель состоит в том, чтобы гарантировать, что отношение основной группы по сравнению с группой сравнения находится в пределах заданных границ. Ограничения отношения группы имеют свойства:

  • GroupA для основной матрицы членства

  • GroupB для матрицы членства в сравнении

  • LowerRatio для ограничения нижней границы на отношение групп

  • UpperRatio для ограничения верхней границы на отношение групп

Установка ограничений отношения группы Используя функцию PortfolioMAD

Свойства для ограничений отношения группы установлены с помощью объекта PortfolioMAD. Например, примите, что вы хотите, чтобы отношение финансовых к нематериальным компаниям в ваших портфелях никогда не вышло за предел 50%. Предположим, что у вас есть шесть активов с тремя финансовыми компаниями (активы 1–3) и три нематериальных компании (активы 4–6). Установить ограничения отношения группы:

GA = [ 1 1 1 0 0 0 ];    % financial companies
GB = [ 0 0 0 1 1 1 ];    % nonfinancial companies
p = PortfolioMAD('GroupA', GA, 'GroupB', GB, 'UpperRatio', 0.5);
disp(p.NumAssets);
disp(p.GroupA);
disp(p.GroupB);
disp(p.UpperRatio);
6

1     1     1     0     0     0

0     0     0     1     1     1

0.5000

GA матриц группы и GB в этом примере могут быть логическими матрицами с true и элементами false, которые приводят к тому же результату:

GA = [ true true true false false false ];    % financial companies
GB = [ false false false true true true ];    % nonfinancial companies
p = PortfolioMAD('GroupA', GA, 'GroupB', GB, 'UpperRatio', 0.5);
disp(p.NumAssets);
disp(p.GroupA);
disp(p.GroupB);
disp(p.UpperRatio);
6

1     1     1     0     0     0

0     0     0     1     1     1

0.5000

Установка ограничений отношения группы Используя setGroupRatio и функции addGroupRatio

Можно также установить свойства для ограничений отношения группы с помощью setGroupRatio. Например, примите, что вы хотите, чтобы отношение финансовых к нематериальным компаниям в ваших портфелях никогда не вышло за предел 50%. Предположим, что у вас есть шесть активов с тремя финансовыми компаниями (активы 1–3) и три нематериальных компании (активы 4–6). Учитывая объект PortfolioMAD p, используйте setGroupRatio, чтобы установить ограничения группы:

GA = [ true true true false false false ];   % financial companies
GB = [ false false false true true true ];   % nonfinancial companies
p = PortfolioMAD;
p = setGroupRatio(p, GA, GB, [], 0.5);
disp(p.NumAssets);
disp(p.GroupA);
disp(p.GroupB);
disp(p.UpperRatio);
6

1     1     1     0     0     0

0     0     0     1     1     1

0.5000
В этом примере вы установили бы свойство LowerRatio быть пустыми ([]).

Предположим, что вы хотите добавить другое ограничение отношения группы, чтобы гарантировать, что веса в нечетных активах составляют по крайней мере 20% весов в нематериальных активах ваш портфель. Можно настроить увеличенные матрицы отношения группы и ввести бесконечные границы для неограниченных границ отношения группы, или можно использовать функцию addGroupRatio, чтобы создать ограничения отношения группы. В данном примере создайте другую матрицу группы для второго ограничения группы:

p = PortfolioMAD;
GA = [ true true true false false false ];   % financial companies
GB = [ false false false true true true ];   % nonfinancial companies
p = setGroupRatio(p, GA, GB, [], 0.5);

GA = [ true false true false true false ];   % odd-numbered companies
GB = [ false false false true true true ];   % nonfinancial companies
p = addGroupRatio(p, GA, GB, 0.2);

disp(p.NumAssets);
disp(p.GroupA);
disp(p.GroupB);
disp(p.LowerRatio);
disp(p.UpperRatio);
6

1     1     1     0     0     0
1     0     1     0     1     0

0     0     0     1     1     1
0     0     0     1     1     1

  -Inf
0.2000

0.5000
  Inf
Заметьте, что addGroupRatio определяет, какие границы неограниченны, таким образом, только необходимо фокусироваться на ограничениях, вы хотите установить.

Объект ThePortfolioMAD, setGroupRatio и addGroupRatio реализуют скалярное расширение на любом свойства LowerRatio или UpperRatio на основе размерности матриц группы в свойствах GroupA и GroupB.

Смотрите также

| | | | | | | | |

Связанные примеры

Больше о