Линейные ограничения неравенства являются дополнительными линейными ограничениями, которые налагают системы неравенств на весах портфеля (см. Линейные Ограничения неравенства). Линейные ограничения неравенства имеют свойства AInequality
для матрицы ограничения неравенства, and bInequality
для вектора ограничения неравенства.
PortfolioCVaR
Свойства для линейных ограничений неравенства установлены с помощью объекта PortfolioCVaR
. Предположим, что у вас есть портфель пяти активов, и вы хотите гарантировать, что первые три актива - не больше, чем 50% вашего портфеля. Настраивать эти ограничения:
A = [ 1 1 1 0 0 ]; b = 0.5; p = PortfolioCVaR('AInequality', A, 'bInequality', b); disp(p.NumAssets); disp(p.AInequality); disp(p.bInequality);
5 1 1 1 0 0 0.5000
setInequality
и функции addInequality
Можно также установить свойства для линейных ограничений неравенства с помощью setInequality
. Предположим, что у вас есть портфель пяти активов, и вы хотите гарантировать, что первые три актива составляют не больше, чем 50% вашего портфеля. Учитывая объект PortfolioCVaR p
, используйте setInequality
, чтобы установить линейные ограничения неравенства:
A = [ 1 1 1 0 0 ]; b = 0.5; p = PortfolioCVaR; p = setInequality(p, A, b); disp(p.NumAssets); disp(p.AInequality); disp(p.bInequality);
5 1 1 1 0 0 0.5000
Предположим, что вы хотите добавить другое линейное ограничение неравенства, чтобы гарантировать, что последние три актива составляют по крайней мере 50% вашего портфеля. Можно настроить увеличенную систему линейных неравенств или использовать функцию addInequality
, чтобы создать линейные ограничения неравенства. В данном примере создайте другую систему неравенств:
p = PortfolioCVaR; A = [ 1 1 1 0 0 ]; % first inequality constraint b = 0.5; p = setInequality(p, A, b); A = [ 0 0 -1 -1 -1 ]; % second inequality constraint b = -0.5; p = addInequality(p, A, b); disp(p.NumAssets); disp(p.AInequality); disp(p.bInequality);
5 1 1 1 0 0 0 0 -1 -1 -1 0.5000 -0.5000
Объект PortfolioCVaR
, setInequality
и addInequality
реализуют скалярное расширение на свойстве bInequality
на основе размерности матрицы в свойстве AInequality
.
PortfolioCVaR
| setBounds
| setBudget
| setDefaultConstraints
| setEquality
| setGroupRatio
| setGroups
| setInequality
| setOneWayTurnover
| setTurnover