Работа с линейными ограничениями неравенства Используя объект портфеля

Линейные ограничения неравенства являются дополнительными линейными ограничениями, которые налагают системы неравенств на весах портфеля (см. Линейные Ограничения неравенства). Линейные ограничения неравенства имеют свойства 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 свойство.

Смотрите также

| | | | | | | | | | |

Связанные примеры

Больше о

Внешние веб-сайты