setOneWayTurnover

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

Описание

пример

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

пример

obj = setOneWayTurnover(obj,BuyTurnover,SellTurnover,InitPort,NumAssets) настраивает односторонние ограничения оборота портфеля для объектов портфеля с дополнительными опциями, заданными для SellTurnover, InitPort, и NumAssets.

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

1' * max{0, Port - InitPort} <= BuyTurnover
1' * max{0, InitPort - Port} <= SellTurnover

Примечание

Если Turnover =BuyTurnover = SellTurnover, ограничение не эквивалентно:

1' * | Port - InitPort | <= Turnover
Чтобы установить это ограничение, используйте setTurnover.

Примеры

свернуть все

Установите односторонние ограничения оборота.

p = Portfolio('AssetMean',[0.1, 0.2, 0.15], 'AssetCovar',...
[ 0.005, -0.010,  0.004; -0.010,  0.040, -0.002;  0.004, -0.002,  0.023]);
p = setBudget(p, 1, 1);
p = setOneWayTurnover(p, 1.3, 0.3, 0); %130-30 portfolio
plotFrontier(p);

Установите односторонние ограничения оборота.

x0 = [ 0.12; 0.09; 0.08; 0.07; 0.1; 0.1; 0.15; 0.11; 0.08; 0.1 ]; 
p = PortfolioCVaR('InitPort', x0);
p = setOneWayTurnover(p, 0.3, 0.2);
disp(p.NumAssets);
    10
disp(p.BuyTurnover)
    0.3000
disp(p.SellTurnover)
    0.2000
disp(p.InitPort);
    0.1200
    0.0900
    0.0800
    0.0700
    0.1000
    0.1000
    0.1500
    0.1100
    0.0800
    0.1000

Установите односторонние ограничения оборота.

x0 = [ 0.12; 0.09; 0.08; 0.07; 0.1; 0.1; 0.15; 0.11; 0.08; 0.1 ]; 
p = PortfolioMAD('InitPort', x0);
p = setOneWayTurnover(p, 0.3, 0.2);
disp(p.NumAssets);
    10
disp(p.BuyTurnover)
    0.3000
disp(p.SellTurnover)
    0.2000
disp(p.InitPort);
    0.1200
    0.0900
    0.0800
    0.0700
    0.1000
    0.1000
    0.1500
    0.1100
    0.0800
    0.1000

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

свернуть все

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

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

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

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

Начальные или текущие веса портфеля, заданные как конечный вектор с NumAssets> 0 элементы для Portfolio, PortfolioCVaR, PortfolioMAD входной объект (obj).

Примечание

Если никакой InitPort задан, то значение принято, чтобы быть 0.

Если InitPort задан как скаляр и NumAssets существует, затем InitPort подвергается скалярному расширению.

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

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

Примечание

Если не возможно получить значение для NumAssets, это принято тот NumAssets 1.

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

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

свернуть все

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

Больше о

свернуть все

Одностороннее ограничение оборота

Односторонние ограничения оборота гарантируют, что оцененные оптимальные портфели отличаются от начального портфеля не больше, чем заданными суммами согласно тому, являются ли различиями покупки или продажи.

Ограничения принимают форму

1Tmax {0,xx0}τB

1Tmax {0,x0x}τS

с

  • x — Портфель (вектор NumAssets)

  • x0 — Начальный портфель (вектор NumAssets)

  • τB — Верхняя граница для ограничения оборота на покупки (скаляр)

  • τS — Верхняя граница для ограничения оборота на продажи (скаляр)

Задайте односторонние ограничения оборота с помощью следующих свойств в поддерживаемом объекте портфеля: BuyTurnover для τB, SellTurnover для τS и InitPort для x0.

Примечание

Ограничение среднего оборота (который установлен с помощью setTurnover) не только комбинация односторонних ограничений оборота с тем же значением для ограничения.

Советы

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

obj = obj.setOneWayTurnover(BuyTurnover,SellTurnover,InitPort,NumAssets)

Введенный в R2011a