Усильте в оптимизации портфеля с безрисковым активом

Этот пример показывает, как использовать функцию setBudget для класса Portfolio, чтобы задать пределы на sum(AssetWeight_i) в опасных активах.

Если sum(AssetWeight_i) является меньше, чем 1, дополнительные наличные деньги инвестируют в безрисковый актив. Если sum(AssetWeight_i) больше, чем 1, означая, что общие опасные инвестиции в актив больше, чем начальные доступные наличные деньги, безрисковый актив закорочен (одолженный), чтобы финансировать дополнительные инвестиции в опасный актив. Стоимость, сопоставленная с заимствованием безрискового актива, автоматически получена в модели оптимизации среднего отклонения для класса Portfolio. Поэтому можно использовать функцию setBudget непосредственно, чтобы управлять уровнем рычагов наличных денег для портфеля.

Портфель без рычагов

Рассмотрите следующий пример, который не усиливает безрисковый актив.

assetsMean = [ 0.05; 0.1; 0.12; 0.18; ];
assetCovar = [ 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];
riskFreeRate = 0.03;

% create a portfolio and define risk-free rate.
p = Portfolio('RiskFreeRate', riskFreeRate, 'assetmean', assetsMean, 'assetcovar', assetCovar, 'lowerbound', 0);

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

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
[risk, retn] = estimatePortMoments(p, estimateMaxSharpeRatio(p));

figure;
plotFrontier(p); hold on; 
plotFrontier(p1);hold on;
plotFrontier(p2); hold on;
plot(risk, retn, 'g*'); hold off;
legend('without risk-free asset', ...
    'with risk-free asset in range [0,1]', ...
    'with risk-free asset in range [0, 0.3]', ...
    'Max Sharpe Ratio', 'location','southeast');

В границах эффективности в вышеупомянутой фигуре нижняя левая часть красной строки границы эффективности для портфеля с безрисковым активом находится в области значений [0,1] и является на самом деле строкой распределения капитала (CAL). Наклон этой строки является максимумом отношение Шарпа портфеля, который демонстрирует, как возврат лучше всего награжден, беря на себя дополнительный риск. Верхний правый угол красной строки границы эффективности совпадает с полностью инвестированным портфелем (синяя строка). Если портфель пересекает точку отношения Шарпа, портфель полностью инвестируют и больше нет наличных денег, доступных, чтобы позволить награжденный высокому риску возвратами после прямого CAL. Однако, если заимствование безрискового актива позволено, можно эффективно использовать фонды от заимствования безрискового актива, чтобы вложить капитал в более рискованные активы, как продемонстрировано в разделе "Portfolio with Leverage".

Портфель с рычагами

К инвестициям фонда в опасные активы рассмотрите использование рычагов путем заимствования безрискового актива. Класс Portfolio позволяет вам использовать рычаги в распределении активов, когда безрисковый актив доступен в портфеле.

Во-первых, проверяйте, является ли свойство RiskFreeRate для объекта Portfolio ненулевым.

p
p = 
  Portfolio with properties:

          BuyCost: []
         SellCost: []
     RiskFreeRate: 0.0300
        AssetMean: [4x1 double]
       AssetCovar: [4x4 double]
    TrackingError: []
     TrackingPort: []
         Turnover: []
      BuyTurnover: []
     SellTurnover: []
             Name: []
        NumAssets: 4
        AssetList: []
         InitPort: []
      AInequality: []
      bInequality: []
        AEquality: []
        bEquality: []
       LowerBound: [4x1 double]
       UpperBound: []
      LowerBudget: 1
      UpperBudget: 1
      GroupMatrix: []
       LowerGroup: []
       UpperGroup: []
           GroupA: []
           GroupB: []
       LowerRatio: []
       UpperRatio: []
     MinNumAssets: []
     MaxNumAssets: []
        BoundType: []

В этом объекте Portfolio более низкими и верхними бюджетами является оба 1. Пределы должны быть установлены для общего объема инвестиций в опасные активы. Заимствование безрискового актива фонды дополнительные инвестиции в опасные активы. Используйте setBudget, чтобы установить нижние и верхние границы устанавливать пределы одолженных безрисковых активов.

p = setBudget(p, 1, 1);      % allow 0% risk free asset allocation, meaning fully invested in risky assets
p3 = setBudget(p, 1, 1.3);   % allow 0% risk free asset allocation, and allow borrowing of risk free asset to reach up to 30% leverage
p4 = setBudget(p, 1.3, 2);   % allow 0% risk free asset allocation, and allow borrowing of risk free asset to have at least 30% leverage and max 100% leverage
[risk, retn] = estimatePortMoments(p, estimateMaxSharpeRatio(p));

figure
plotFrontier(p); hold on; 
plotFrontier(p1);hold on;
plotFrontier(p3); hold on;
plotFrontier(p4); hold on;
plot(risk, retn, 'g*'); hold off;
legend('without risk free asset',  ...
    'with risk free asset in range [0,1]', ...
    'with risk free asset in range [-0.3, 0]', ...
    'with risk free asset in range [-1.0, -0.3]',...
    'Max Sharpe Ratio', 'location','southeast');

В этой фигуре верхние правые части и оранжевых и фиолетовых границ эффективности расширяют от CAL (нижняя левая красная линия) из-за рычагов безрискового актива. Те же уровни награжденных риску возвратов получены. Если портфель исчерпывает максимальные позволенные рычаги, граница эффективности начинает падать ниже CAL снова, приводя к портфелям с более низкими отношениями Шарпа.