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

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

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

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

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

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

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

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

GA = [ 1 1 1 0 0 0 ];    % financial companies
GB = [ 0 0 0 1 1 1 ];    % nonfinancial companies
p = PortfolioCVaR('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 = PortfolioCVaR('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). Учитывая PortfolioCVaR объект p, используйте setGroupRatio установить ограничения группы:

GA = [ true true true false false false ];   % financial companies
GB = [ false false false true true true ];   % nonfinancial companies
p = PortfolioCVaR;
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 = PortfolioCVaR;
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 определяет, какие границы неограниченны, таким образом, только необходимо фокусироваться на ограничениях, вы хотите установить.

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

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

| | | | | | | | |

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

Больше о

Внешние веб-сайты

Для просмотра документации необходимо авторизоваться на сайте