Часто, вы можете интересоваться портфелями конечной точки для границы эффективности. Предположим, что вы хотите определить область значений возвратов от минимума до максимума, чтобы совершенствовать поиск портфеля с определенным целевым возвратом. Используйте estimateFrontierLimits функция, чтобы получить портфели конечной точки:
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 ];
p = Portfolio;
p = setAssetMoments(p, m, C);
p = setDefaultConstraints(p);
pwgt = estimateFrontierLimits(p);
disp(pwgt); 0.8891 0
0.0369 0
0.0404 0
0.0336 1.0000estimatePortMoments функция показывает область значений рисков и возвращается для эффективных портфелей:
[prsk, pret] = estimatePortMoments(p, pwgt); disp([prsk, pret]);
0.0769 0.0590 0.3500 0.1800
Начиная с начального портфеля, estimateFrontierLimits также возвращает покупки и продажи, чтобы добраться от начального портфеля до портфелей конечной точки на границе эффективности. Например, учитывая начальный портфель в pwgt0, можно получить покупки и продажи:
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 ];
p = Portfolio;
p = setAssetMoments(p, m, C);
p = setDefaultConstraints(p);
pwgt0 = [ 0.3; 0.3; 0.2; 0.1 ];
p = setInitPort(p, pwgt0);
[pwgt, pbuy, psell] = estimateFrontierLimits(p);
display(pwgt);
display(pbuy);
display(psell);pwgt =
0.8891 0
0.0369 0
0.0404 0
0.0336 1.0000
pbuy =
0.5891 0
0 0
0 0
0 0.9000
psell =
0 0.3000
0.2631 0.3000
0.1596 0.2000
0.0664 00.
Portfolio | estimateFrontier | estimateFrontierByReturn | estimateFrontierByRisk | estimateFrontierByRisk | estimateFrontierLimits | estimateMaxSharpeRatio | estimatePortMoments | estimatePortReturn | estimatePortRisk | setSolver