setBudget

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

Описание

пример

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

Создайте a 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