Часто, вы можете интересоваться портфелями конечной точки для границы эффективности. Предположим, что вы хотите определить область значений возвратов от минимума до максимума, чтобы совершенствовать поиск портфеля с определенным целевым возвратом. Используйте 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.0000
estimatePortMoments
функция показывает область значений рисков и возвращается для эффективных портфелей:
[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 0
0
.
estimateFrontier
| estimateFrontierByReturn
| estimateFrontierByRisk
| estimateFrontierByRisk
| estimateFrontierLimits
| estimateMaxSharpeRatio
| estimatePortMoments
| estimatePortReturn
| estimatePortRisk
| Portfolio
| setSolver