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