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