Работа с ограничениями группового коэффициента с использованием объекта 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 определяет, какие границы являются неограниченными, поэтому вам нужно фокусироваться только на ограничениях, которые вы хотите задать.

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

См. также

| | | | | | | | |

Похожие примеры

Подробнее о

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