abs2active

Преобразуйте ограничения от абсолютного до активного формата

Описание

пример

ActiveConSet = abs2active(AbsConSet,Index) преобразовывает матрицу ограничений к эквивалентной матрице, описанной в активном формате веса (относительно индекса).

Примеры

свернуть все

Настройте ограничения для оптимизации портфеля для портфеля w0 с ограничениями в форме A*w <= b, где w абсолютные веса портфеля. (Абсолютные веса не зависят от портфеля отслеживания.) Используют abs2active преобразовывать ограничения в терминах абсолютных весов в ограничения в терминах активных весов портфеля, заданных относительно портфеля отслеживания w0. Примите три актива со следующим средним значением, и ковариация актива возвращается:

m = [ 0.14; 0.10; 0.05 ];
C = [ 0.29^2 0.4*0.29*0.17 0.1*0.29*0.08; 0.4*0.29*0.17 0.17^2 0.3*0.17*0.08;...
0.1*0.29*0.08 0.3*0.17*0.08 0.08^2 ];

Абсолютные ограничения портфеля являются типичными единицами (сумма весов к 1 и упадите от 0 через 1), создайте A и b матрицы с помощью portcons.

AbsCons = portcons('PortValue',1,3,'AssetLims', [0; 0; 0], [1; 1; 1;]);

Используйте Portfolio объект определить границу эффективности.

p = Portfolio('AssetMean', m, 'AssetCovar', C);
p = p.setInequality(AbsCons(:,1:end-1), AbsCons(:,end));
p.plotFrontier;

Портфель отслеживания w0 :

w0 = [ 0.1; 0.55; 0.35 ];

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

ActCons = abs2active(AbsCons, w0)
ActCons = 8×4

    1.0000    1.0000    1.0000         0
   -1.0000   -1.0000   -1.0000         0
    1.0000         0         0    0.9000
         0    1.0000         0    0.4500
         0         0    1.0000    0.6500
   -1.0000         0         0    0.1000
         0   -1.0000         0    0.5500
         0         0   -1.0000    0.3500

Используйте Portfolio объект p и его граница эффективности, чтобы продемонстрировать ожидаемые доходы и риск относительно портфеля отслеживания w0.

p = p.setInequality(ActCons(:,1:end-1), ActCons(:,end));
p.plotFrontier;

Отметьте, при использовании abs2active вычислить “активные ограничения” для использования с Portfolio возразите, не используйте ограничения объекта Portfolio по умолчанию, потому что относительные веса могут быть положительными или отрицательными (setDefaultConstraints функция для Portfolio объект задает веса, чтобы быть неотрицательным).

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

свернуть все

Портфель линейная матрица ограничения неравенства описывается в абсолютном формате веса в виде [A b] таким образом, что   A*w <= b, где A много ограничений (NCONSTRAINTS) количеством активов (NASSETS) матрица коэффициентов веса и b и w вектор-столбцы длины NASSETS. Значение w представляет вектор из абсолютных весов актива, элементы которых суммируют к общей стоимости портфеля. Смотрите выход ConSet от portcons для дополнительных деталей об ограничительных матрицах.

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

Индексируйте веса портфеля в виде NASSETS- 1 вектор. Сумма весов индекса должна равняться общей стоимости портфеля (например, стандартная оптимизация портфеля налагает sum-1 ограничение бюджета).

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

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

свернуть все

Преобразованный портфель линейная матрица ограничения неравенства, описанная в активном формате веса, возвращенном в форме [A b] таким образом, что   A*w <= b. Значение w представляет вектор из активных весов актива (относительно портфеля индекса), чьи элементы суммируют, чтобы обнулить.

Алгоритмы

abs2active преобразовывает матрицу ограничений к эквивалентной матрице, описанной в активном формате веса (относительно индекса). Уравнение преобразования

Awabsolute=A(wactive+windex)babsolute.

Поэтому

AwactivebabsoluteAwindex=bactive.

Начальная матрица ограничений состоит из NCONSTRAINTS портфель линейные ограничения неравенства описывается в абсолютном формате веса. Вектор портфеля индекса содержит NASSETS активы.

Представлено до R2006a