Линейные ограничения неравенства являются необязательными линейными ограничениями, которые накладывают системы неравенства на веса портфеля (см. Линейные ограничения неравенства). Линейные ограничения неравенства имеют свойства AInequality для матрицы ограничений неравенства, и bInequality для вектора ограничения неравенства.
Portfolio ФункцияСвойства для ограничений линейного неравенства задаются с помощью Portfolio объект. Предположим, что у вас есть портфель из пяти активов и вы хотите убедиться, что первые три актива составляют не более 50% вашего портфеля. Чтобы настроить эти ограничения, выполните следующие действия.
A = [ 1 1 1 0 0 ]; b = 0.5; p = Portfolio('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% вашего портфеля. Дано Portfolio объект p, использовать setInequality для установки ограничений линейного неравенства:
A = [ 1 1 1 0 0 ]; b = 0.5; p = Portfolio; 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 = Portfolio; 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
Portfolio объект, setInequality, и addInequality реализовать скалярное расширение на bInequality на основе размера матрицы в AInequality собственность.
Portfolio | setBounds | setBudget | setDefaultConstraints | setEquality | setGroupRatio | setGroups | setInequality | setOneWayTurnover | setTrackingError | setTrackingPort | setTurnover