exponenta event banner

setBudget

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

Описание

пример

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

пример

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% вложен в рискованные активы. С учетом объекта портфеля CVaR p, задайте ограничение бюджета.

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

Предположим, что у вас есть фонд, который разрешает до 10% левериджа, что означает, что ваш портфель может быть от 100% до 110% вложен в рискованные активы. Данный объект MAD 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');

Figure contains an axes. The axes with title \bfEfficient Frontier contains 3 objects of type line. These objects represent Without risk-free asset, With risk-free asset in range [0,1], With risk-free asset in range [0, 0.3].

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