В этом примере показано, как использовать 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. Однако если заимствование актива без риска разрешено, можно эффективно использовать средства от заимствования актива без риска для инвестирования в более рискованные активы, как показано в разделе «Портфель с кредитным плечом».
Для финансирования инвестиций в рисковые активы рассмотрите использование кредитного плеча путем заимствования безрискового актива. The 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, что приводит к портфелям с более низкими коэффициентами Шарпа.
addGroups
| estimateAssetMoments
| estimateBounds
| estimateFrontierByRisk
| estimateFrontierLimits
| estimatePortRisk
| plotFrontier
| Portfolio
| setAssetMoments
| setBounds