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

plotFrontier функция создает график эффективной границы для заданной задачи оптимизации портфеля. Эта функция принимает несколько типов входов и генерирует график с дополнительной возможностью вывода оценок для портфельных рисков и возвратов вдоль эффективной границы. plotFrontier имеет четыре различных способа, которые можно использовать. В дополнение к графику эффективной границы, если у вас есть начальный портфель в InitPort свойство, plotFrontier также отображает возврат от риска начального портфеля на том же графике. Если у вас есть хорошо поставленная задача оптимизации портфеля, настроенная в Portfolio объект и вы используете 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 ];
pwgt0 = [ 0.3; 0.3; 0.2; 0.1 ];
 
p = Portfolio('Name', 'Asset Allocation Portfolio', 'InitPort', pwgt0);
p = setAssetMoments(p, m, C);
p = setDefaultConstraints(p);
plotFrontier(p)

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

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

    0.0590    0.0769
    0.0654    0.0784
    0.0718    0.0825
    0.0781    0.0890
    0.0845    0.0973
    0.0909    0.1071
    0.0972    0.1179
    0.1036    0.1296
    0.1100    0.1418
    0.1163    0.1545
    0.1227    0.1676
    0.1291    0.1810
    0.1354    0.1955
    0.1418    0.2128
    0.1482    0.2323
    0.1545    0.2535
    0.1609    0.2760
    0.1673    0.2995
    0.1736    0.3239
    0.1800    0.3500

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

Если у вас уже есть эффективные портфели из любой функции «estimateFrontier» (см. «Оценка эффективных портфелей для всего эффективного рубежа для объекта портфеля»), передайте их в 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 ];
pwgt0 = [ 0.3; 0.3; 0.2; 0.1 ];
 
p = Portfolio('Name', 'Asset Allocation Portfolio', 'InitPort', pwgt0);
p = setAssetMoments(p, m, C);
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 ];
pwgt0 = [ 0.3; 0.3; 0.2; 0.1 ];
 
p = Portfolio('Name', 'Asset Allocation Portfolio', 'InitPort', pwgt0);
p = setAssetMoments(p, m, C);
p = setDefaultConstraints(p);
[prsk, pret] = estimatePortMoments(p, p.estimateFrontier(20));
plotFrontier(p, prsk, pret)

См. также

| | |

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

Подробнее о

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

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