Принимая во внимание, что Оценочные Эффективные портфели Вдоль Целой Границы для Объекта PortfolioMAD, фокусируемого на оценке эффективных портфелей, этот раздел фокусируется на оценке границ эффективности. Для получения информации о рабочем процессе при использовании PortfolioMAD
объекты, смотрите Рабочий процесс Объекта PortfolioMAD.
Учитывая любой портфель и, в частности, эффективные портфели, функции estimatePortReturn
и estimatePortRisk
обеспечьте оценки для возврата (или возвратите прокси), риск (или прокси риска). Каждая функция имеет тот же входной синтаксис, но с различными комбинациями выходных параметров. Предположим, что у вас есть этот после задачи оптимизации портфеля, которая дала вам набор портфелей вдоль границы эффективности в pwgt
:
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); pwgt0 = [ 0.3; 0.3; 0.2; 0.1 ]; p = setInitPort(p, pwgt0); pwgt = estimateFrontier(p)
pwgt = Columns 1 through 8 0.8954 0.7264 0.5573 0.3877 0.2176 0.0495 0.0000 0 0.0310 0.1239 0.2154 0.3081 0.4028 0.4924 0.4069 0.2386 0.0409 0.0524 0.0660 0.0792 0.0907 0.1047 0.1054 0.1132 0.0328 0.0973 0.1613 0.2250 0.2890 0.3534 0.4877 0.6482 Columns 9 through 10 0 0.0000 0.0694 0.0000 0.1221 0.0000 0.8084 1.0000
Примечание
Помните, что прокси риска для оптимизации портфеля MAD является средним абсолютным отклонением.
Учитывая pwgt0
и pwgt
, используйте портфельный риск и возвратите функции оценки, чтобы получить риски, и возвращается для вашего начального портфеля и портфелей на границе эффективности:
prsk0 = estimatePortRisk(p, pwgt0); pret0 = estimatePortReturn(p, pwgt0); prsk = estimatePortRisk(p, pwgt); pret = estimatePortReturn(p, pwgt); display(prsk0) display(pret0) display(prsk) display(pret)
prsk0 = 0.0256 pret0 = 0.0072 prsk = 0.0178 0.0193 0.0233 0.0286 0.0348 0.0414 0.0489 0.0584 0.0692 0.0809 pret = 0.0047 0.0059 0.0072 0.0084 0.0096 0.0108 0.0120 0.0133 0.0145 0.0157
PortfolioMAD
объект имеет функцию, чтобы вычислить стандартные отклонения портфеля, возвращается, estimatePortStd
. Эта функция работает с любыми портфелями, не обязательно эффективными портфелями. Например, следующий пример получает пять портфелей (pwgt
) на границе эффективности и также имеет начальный портфель в pwgt0
. Различные статистические данные портфеля вычисляются, которые включают возврат, риск и стандартное отклонение. Перечисленные оценки для начального портфеля в первой строке, сопровождаемой оценками для каждого из этих пяти эффективных портфелей в последующих строках.
m = [ 0.0042; 0.0083; 0.01; 0.15 ];
C = [ 0.005333 0.00034 0.00016 0;
0.00034 0.002408 0.0017 0.000992;
0.00016 0.0017 0.0048 0.0028;
0 0.000992 0.0028 0.010208 ];
pwgt0 = [ 0.3; 0.3; 0.2; 0.1 ];
p = PortfolioMAD('initport', pwgt0);
p = simulateNormalScenariosByMoments(p, m, C, 20000);
p = setDefaultConstraints(p);
pwgt = estimateFrontier(p, 5);
pret = estimatePortReturn(p, [pwgt0, pwgt]);
prsk = estimatePortRisk(p, [pwgt0, pwgt]);
pstd = estimatePortStd(p, [pwgt0, pwgt]);
[pret, prsk, pstd]
ans = 0.0212 0.0305 0.0381 0.0187 0.0326 0.0407 0.0514 0.0369 0.0462 0.0841 0.0484 0.0607 0.1168 0.0637 0.0796 0.1495 0.0807 0.1009
estimatePortReturn
| estimatePortStd
| plotFrontier
| PortfolioMAD