Ограничения группового коэффициента являются необязательными линейными ограничениями, которые поддерживают ограничения пропорциональных отношений между группами активов (см. «Ограничения группового коэффициента»). Несмотря на то, что ограничения реализованы как общие ограничения, обычное соглашение состоит в том, чтобы задать пару групповых матриц, которые идентифицируют принадлежность каждого актива в определенных группах с булевыми индикаторами (или 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
свойства.
PortfolioCVaR
| setBounds
| setBudget
| setDefaultConstraints
| setEquality
| setGroupRatio
| setGroups
| setInequality
| setOneWayTurnover
| setTurnover