exponenta event banner

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

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)

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)

См. также

| | |

Связанные примеры

Подробнее

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