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