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

Линейные ограничения равенства являются дополнительными линейными ограничениями, которые налагают системы равенств на весах портфеля (см. Линейные Ограничения Равенства). Линейные ограничения равенства имеют свойства AEquality, для матрицы ограничений равенства и bEquality, для ограничительного вектора равенства.

Установка линейных ограничений равенства Используя функцию PortfolioMAD

Свойства для линейных ограничений равенства установлены с помощью объекта PortfolioMAD. Предположим, что вы имеете портфель пяти активов и хотите гарантировать, что первые три актива составляют 50% вашего портфеля. Установить это ограничение:

A = [ 1 1 1 0 0 ];
b = 0.5;
p = PortfolioMAD('AEquality', A, 'bEquality', b);
disp(p.NumAssets);
disp(p.AEquality);
disp(p.bEquality);
5

1     1     1     0     0

0.5000

Установка линейных ограничений равенства Используя setEquality и функции addEquality

Можно также установить свойства для линейных ограничений равенства с помощью setEquality. Предположим, что вы имеете портфель пяти активов и хотите гарантировать, что первые три актива составляют 50% вашего портфеля. Учитывая объект PortfolioMAD p, используйте setEquality, чтобы установить линейные ограничения равенства:

A = [ 1 1 1 0 0 ];
b = 0.5;
p = PortfolioMAD;
p = setEquality(p, A, b);
disp(p.NumAssets);
disp(p.AEquality);
disp(p.bEquality);
5

1     1     1     0     0

0.5000

Предположим, что вы хотите добавить другое линейное ограничение равенства, чтобы гарантировать, что последние три актива также составляют 50% вашего портфеля. Можно настроить увеличенную систему линейных равенств или использовать addEquality, чтобы создать линейные ограничения равенства. В данном примере создайте другую систему равенств:

p = PortfolioMAD;
A = [ 1 1 1 0 0 ];    % first equality constraint
b = 0.5;
p = setEquality(p, A, b);

A = [ 0 0 1 1 1 ];    % second equality constraint
b = 0.5;
p = addEquality(p, A, b);

disp(p.NumAssets);
disp(p.AEquality);
disp(p.bEquality);
5

1     1     1     0     0
0     0     1     1     1

0.5000
0.5000

Объект PortfolioMAD, setEquality и addEquality реализуют скалярное расширение на свойстве bEquality на основе размерности матрицы в свойстве AEquality.

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

| | | | | | | | |

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

Больше о