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

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

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

| | | | | | | | |

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

Больше о

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