В то время как Оценка эффективных портфелей по всему фронту для объекта PortfolioCVaR была сосредоточена на оценке эффективных портфелей, этот раздел посвящен оценке эффективных границ. Для получения информации о рабочем процессе при использовании PortfolioCVaR
объекты, см. Рабочий процесс объекта PortfolioCVaR.
Учитывая любое портфолио и, в частности, эффективные портфели, функции 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 = PortfolioCVaR; p = setScenarios(p, AssetScenarios); p = setDefaultConstraints(p); p = setProbabilityLevel(p, 0.95); pwgt0 = [ 0.3; 0.3; 0.2; 0.1 ]; p = setInitPort(p, pwgt0); pwgt = estimateFrontier(p);
Примечание
Помните, что прокси риска для оптимизации портфеля CVaR является CVaR.
Заданные 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.0591 pret0 = 0.0067 prsk = 0.0414 0.0453 0.0553 0.0689 0.0843 0.1006 0.1193 0.1426 0.1689 0.1969 pret = 0.0050 0.0060 0.0070 0.0080 0.0089 0.0099 0.0109 0.0119 0.0129 0.0139
The PortfolioCVaR
объект имеет функции для вычисления стандартных отклонений возвратов портфеля и ценности риска портфелей с функциями estimatePortStd
и estimatePortVaR
. Эти функции работают с любыми портфелями, не обязательно эффективными портфелями. Например, в следующем примере получаются пять портфелей (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 = PortfolioCVaR('initport', pwgt0);
p = simulateNormalScenariosByMoments(p, m, C, 20000);
p = setDefaultConstraints(p);
p = setProbabilityLevel(p, 0.9);
pwgt = estimateFrontier(p, 5);
pret = estimatePortReturn(p, [pwgt0, pwgt]);
prsk = estimatePortRisk(p, [pwgt0, pwgt]);
pstd = estimatePortStd(p, [pwgt0, pwgt]);
pvar = estimatePortVaR(p, [pwgt0, pwgt]);
[pret, prsk, pstd, pvar]
ans = 0.0207 0.0464 0.0381 0.0283 0.1009 0.0214 0.0699 -0.0109 0.1133 0.0217 0.0772 -0.0137 0.1256 0.0226 0.0849 -0.0164 0.1380 0.0240 0.0928 -0.0182 0.1503 0.0262 0.1011 -0.0197
estimatePortReturn
| estimatePortStd
| estimatePortVaR
| plotFrontier
| PortfolioCVaR