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

plotFrontier функция создает график эффективной границы для заданной задачи оптимизации портфеля. Эта функция принимает несколько типов входов и генерирует график с дополнительной возможностью вывода оценок для портфельных рисков и возвратов вдоль эффективной границы. plotFrontier имеет четыре различных способа, которые можно использовать. В дополнение к графику эффективной границы, если у вас есть начальный портфель в InitPort свойство, plotFrontier также отображает возврат от риска начального портфеля на том же графике. Если у вас есть хорошо поставленная задача оптимизации портфеля, настроенная в PortfolioMAD объект и вы используете 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 = PortfolioMAD;
p = setScenarios(p, AssetScenarios);
p = setDefaultConstraints(p);

plotFrontier(p)

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

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

    0.0049    0.0176
    0.0054    0.0179
    0.0058    0.0189
    0.0063    0.0205
    0.0068    0.0225
    0.0073    0.0248
    0.0078    0.0274
    0.0083    0.0302
    0.0088    0.0331
    0.0093    0.0361
    0.0098    0.0392
    0.0103    0.0423
    0.0108    0.0457
    0.0112    0.0496
    0.0117    0.0539
    0.0122    0.0586
    0.0127    0.0635
    0.0132    0.0687
    0.0137    0.0744
    0.0142    0.0806

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

Если у вас уже есть эффективные портфели из любой функции «estimateFrontier» (см. «Оценка эффективных границ для объекта PortfolioMAD»), передайте их в 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 = PortfolioMAD('Name', 'Asset Allocation Portfolio', 'InitPort', pwgt0);

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

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 = PortfolioMAD('Name', 'Asset Allocation Portfolio', 'InitPort', pwgt0);

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

pwgt = estimateFrontier(p);

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

plotFrontier(p, prsk, pret)
pret =

    0.0590
    0.0723
    0.0857
    0.0991
    0.1124
    0.1258
    0.1391
    0.1525
    0.1658
    0.1792


prsk =

    0.0615
    0.0664
    0.0795
    0.0976
    0.1184
    0.1408
    0.1663
    0.1992
    0.2368
    0.2787

См. также

| | |

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

Подробнее о

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