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

Функция 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);

Смотрите также

| | |

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

Больше о

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