setBudget

Настройте ограничения бюджета

Синтаксис

obj = setBudget(obj,LowerBudget)
obj = setBudget(obj,LowerBudget,UpperBudget)

Описание

пример

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

пример

obj = setBudget(obj,LowerBudget,UpperBudget) настраивает ограничения бюджета для объектов портфеля с дополнительной опцией для UpperBudget.

Примеры

свернуть все

Примите, что у вас есть фонд, который разрешает 10%-е рычаги, что означает, что ваш портфель может быть от 100% до 110%, которые инвестируют в опасные активы. Учитывая объект Portfolio p, набор ограничение бюджета.

p = Portfolio;
p = setBudget(p, 1, 1.1);
disp(p.LowerBudget);
     1
disp(p.UpperBudget);
    1.1000

Примите, что у вас есть фонд, который разрешает 10%-е рычаги, что означает, что ваш портфель может быть от 100% до 110%, которые инвестируют в опасные активы. Учитывая объект p портфеля CVaR, набор ограничение бюджета.

p = PortfolioCVaR;
p = setBudget(p, 1, 1.1);
disp(p.LowerBudget);
     1
disp(p.UpperBudget);
    1.1000

Примите, что у вас есть фонд, который разрешает 10%-е рычаги, что означает, что ваш портфель может быть от 100% до 110%, которые инвестируют в опасные активы. Объект Given PortfolioMAD p, набор ограничение бюджета.

p = PortfolioMAD;
p = setBudget(p, 1, 1.1);
disp(p.LowerBudget);
     1
disp(p.UpperBudget);
    1.1000

Задайте среднее значение, и ковариация актива риска возвращается.

m = [ 0.05; 0.1; 0.12; 0.18; ];
C = [ 0.0064 0.00408 0.00192 0,; 
    0.00408 0.0289 0.0204 0.0119,;
    0.00192 0.0204 0.0576 0.0336,;
   0 0.0119 0.0336 0.1225];

Создайте объект Portfolio, задающий безрисковый уровень.

p = Portfolio('RiskFreeRate',0.03, 'assetmean', m, 'assetcovar', C, ...
'lowerbudget', 1, 'upperbudget', 1, 'lowerbound', 0);

Создайте несколько объектов Portfolio с различными бюджетами на опасных активах. Путем определения опасных активов можно ли управлять, сколько инвестируют в безрисковый актив.

p = setBudget(p, 1, 1);    % allow 0% risk-free asset allocation, meaning fully invested in risky assets
p1 = setBudget(p, 0, 1);   % allow 0 to 100% risk-free asset allocation
p2 = setBudget(p, 0.7, 1);  % allow 0 to 30% risk-free asset allocation

plotFrontier(p); hold on; 
plotFrontier(p1);hold on;
plotFrontier(p2);
legend('Without risk-free asset', 'With risk-free asset in range [0,1]', 'With risk-free asset in range [0, 0.3]', 'location', 'best');

setBudget задает направляющееся в общие массы для выделенных опасных активов, и остающимся является автоматически направляющееся в безрисковый актив. Используйте setBudget, чтобы управлять уровнем позволенного выделения к безрисковому активу. Для получения дополнительной информации об использовании setBudget с безрисковым активом смотрите Рычаги в Оптимизации Портфеля с Безрисковым Активом.

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

свернуть все

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

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

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

Примечание

Учитывая границы для ограничения бюджета или в LowerBudget или в UpperBudget, ограничения бюджета требуют, чтобы любой портфель в Port удовлетворил:

LowerBudget <= sum(Port) <= UpperBudget

Могут быть заданы одно или оба ограничения. Обычное ограничение бюджета для полностью инвестированного портфеля должно иметь LowerBudget = UpperBudget = 1. Однако, если портфель имеет выделения наличными, ограничения бюджета могут использоваться, чтобы задать наличные ограничения. Например, если бы портфель может содержать между 0% и 10% наличными, ограничение бюджета было бы настроено с

obj = setBudget(obj, 0.9, 1)

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

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

Примечание

Учитывая границы для ограничения бюджета или в LowerBudget или в UpperBudget, ограничения бюджета требуют, чтобы любой портфель в Port удовлетворил:

LowerBudget <= sum(Port) <= UpperBudget

Могут быть заданы одно или оба ограничения. Обычное ограничение бюджета для полностью инвестированного портфеля должно иметь LowerBudget = UpperBudget = 1. Однако, если портфель имеет выделения наличными, ограничения бюджета могут использоваться, чтобы задать наличные ограничения. Например, если бы портфель может содержать между 0% и 10% наличными, ограничение бюджета было бы настроено с

obj = setBudget(obj, 0.9, 1)

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

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

свернуть все

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

Советы

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

obj = obj.setBudget(LowerBudget, UpperBudget);

Введенный в R2011a