Принимая во внимание, что Оценочные Эффективные портфели Вдоль Целой Границы для Объекта 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.0157PortfolioMAD объект имеет функцию, чтобы вычислить стандартные отклонения портфеля, возвращается, 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.1009PortfolioMAD | estimatePortReturn | estimatePortStd | plotFrontier