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);

Figure contains an axes. The axes with title \bfEfficient Frontier contains 2 objects of type scatter, line. These objects represent Initial Portfolio, Efficient Frontier.

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

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' - верхняя граница ограничения оборота при закупках (скаляр)

  • .r S - верхняя граница ограничения оборота на продажах (скаляр)

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

Примечание

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

Совет

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

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

Введенный в R2011a