setInequality

Настройте линейные ограничения неравенства для весов портфеля

Описание

пример

obj = setInequality(obj,AInequality,bInequality) настраивает линейные ограничения неравенства для весов портфеля для Portfolio, PortfolioCVaR, или PortfolioMAD объекты. Для получения дополнительной информации о соответствующих рабочих процессах при использовании этих различных объектов смотрите Рабочий процесс объекта портфеля, Рабочий процесс объекта PortfolioCVaR и Рабочий процесс объекта PortfolioMAD.

Учитывая линейную матрицу ограничений неравенства AInequality и векторные bInequality, каждый вес в портфолио Port должны удовлетворять следующим требованиям:

AInequality * Port <= bInequality

Примеры

свернуть все

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

A = [ 1 1 1 0 0 ];
b = 0.5;
p = Portfolio;
p = setInequality(p, A, b);

disp(p.NumAssets);
     5
disp(p.AInequality);
     1     1     1     0     0
disp(p.bInequality);
    0.5000

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

A = [ 1 1 1 0 0 ];
b = 0.5;
p = PortfolioCVaR;
p = setInequality(p, A, b);

disp(p.NumAssets);
     5
disp(p.AInequality);
     1     1     1     0     0
disp(p.bInequality);
    0.5000

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

A = [ 1 1 1 0 0 ];
b = 0.5;
p = PortfolioMAD;
p = setInequality(p, A, b);

disp(p.NumAssets);
     5
disp(p.AInequality);
     1     1     1     0     0
disp(p.bInequality);
    0.5000

Входные параметры

свернуть все

Объект для портфеля, заданный с помощью Portfolio, PortfolioCVaR, или PortfolioMAD объект. Для получения дополнительной информации о создании объекта портфеля см.

Типы данных: object

Матрица для формирования линейных ограничений неравенства, заданная в виде матрицы для Portfolio, PortfolioCVaR, или PortfolioMAD входной объект (obj).

Примечание

Ошибка возникает, если AInequality пуст и bInequality не пуст.

Типы данных: double

Вектор для формирования линейных ограничений неравенства, заданных в качестве вектора для Portfolio, PortfolioCVaR, или PortfolioMAD входной объект (obj).

Примечание

Ошибка возникает, если AInequality непустой и bInequality пуст.

Типы данных: double

Выходные аргументы

свернуть все

Обновленный объект портфеля, возвращенный как Portfolio, PortfolioCVaR, или PortfolioMAD объект. Для получения дополнительной информации о создании объекта портфеля см.

Совет

  • Можно также использовать запись через точку для настройки линейных ограничений неравенства для весов портфеля.

    obj = obj.setInequality(AInequality, bInequality);

  • Чтобы удалить ограничения неравенства, введите пустые аргументы. Чтобы добавить к существующим ограничениям неравенства, используйте addInequality.

Введенный в R2011a