Графическое изображение эффективной границы для объекта PortfolioCVaR

plotFrontier функция создает график эффективной границы для заданной задачи оптимизации портфеля. Эта функция принимает несколько типов входов и генерирует график с дополнительной возможностью вывода оценок для портфельных рисков и возвратов вдоль эффективной границы. plotFrontier имеет четыре различных способа, которые можно использовать. В дополнение к графику эффективной границы, если у вас есть начальный портфель в InitPort свойство, plotFrontier также отображает возврат от риска начального портфеля на том же графике. Если у вас есть хорошо поставленная задача оптимизации портфеля, настроенная в PortfolioCVaR объект и вы используете plotFrontier, вы получаете график эффективной границы с количеством портфелей по умолчанию на границе (номер по умолчанию в настоящее время 10 и поддерживается в скрытом свойстве defaultNumPorts). Этот пример иллюстрирует типичное использование plotFrontier чтобы создать новый график:

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 ];
m = m/12;
C = C/12;

AssetScenarios = mvnrnd(m, C, 20000);

p = PortfolioCVaR;
p = setScenarios(p, AssetScenarios);
p = setDefaultConstraints(p);
p = setProbabilityLevel(p, 0.95);

plotFrontier(p)

The Name свойство появляется как заголовок эффективного пограничного графика, если вы задаете его в PortfolioCVaR объект. Без явного имени заголовка на график будет «Эффективная граница». Если вы хотите получить определенное количество портфелей вдоль эффективной границы, используйте plotFrontier с количеством портфелей, которые вы хотите. Предположим, что у вас есть PortfolioCVaR объект из предыдущего примера, и вы хотите построить 20 портфелей вдоль эффективной границы и получить 20 значений риска и возврата для каждого портфеля:

[prsk, pret] = plotFrontier(p, 20);
display([pret, prsk])
ans =

    0.0051    0.0406
    0.0056    0.0414
    0.0061    0.0437
    0.0066    0.0471
    0.0071    0.0515
    0.0076    0.0567
    0.0082    0.0624
    0.0087    0.0687
    0.0092    0.0753
    0.0097    0.0821
    0.0102    0.0891
    0.0107    0.0962
    0.0112    0.1044
    0.0117    0.1142
    0.0122    0.1251
    0.0127    0.1369
    0.0133    0.1496
    0.0138    0.1628
    0.0143    0.1766
    0.0148    0.1907

Графическое изображение существующих эффективных портфелей

Если у вас уже есть эффективные портфели из любой функции «estimateFrontier» (см. «Оценка эффективных портфелей для всего рубежа для объекта PortfolioCVaR»), передайте их в plotFrontier непосредственно для построения эффективной границы:

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 ];
m = m/12;
C = C/12;

AssetScenarios = mvnrnd(m, C, 20000);

pwgt0 = [ 0.3; 0.3; 0.2; 0.1 ];

p = PortfolioCVaR('Name', 'Asset Allocation Portfolio', 'InitPort', pwgt0);

p = setScenarios(p, AssetScenarios);
p = setDefaultConstraints(p);
p = setProbabilityLevel(p, 0.95);

pwgt = estimateFrontier(p, 20);
plotFrontier(p, pwgt)

Графическое изображение существующих эффективных портфельных рисков и возвратов

Если у вас уже есть эффективные риски портфеля и возвратов, вы можете использовать интерфейс для plotFrontier чтобы передать их в plotFrontier для получения графика эффективной границы:

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

AssetScenarios = mvnrnd(m, C, 20000);

pwgt0 = [ 0.3; 0.3; 0.2; 0.1 ];

p = PortfolioCVaR('Name', 'Asset Allocation Portfolio', 'InitPort', pwgt0);

p = setScenarios(p, AssetScenarios);
p = setDefaultConstraints(p);
p = setProbabilityLevel(p, 0.95);

pwgt = estimateFrontier(p);

pret= estimatePortReturn(p, pwgt);
prsk = estimatePortRisk(p, pwgt);

plotFrontier(p, prsk, pret)

См. также

| | | |

Похожие примеры

Подробнее о

Внешние веб-сайты

Для просмотра документации необходимо авторизоваться на сайте