Оценка эффективных портфелей по всему фронту для объекта PortfolioCVaR

Существует два способа взглянуть на задачу оптимизации портфеля, которая зависит от того, что вы пытаетесь сделать. Одна цель заключается в оценке эффективных портфелей, а другая - в оценке эффективных границ. Этот раздел посвящен прежней цели, а Оценка эффективных границ для объекта PortfolioCVaR особое внимание второй цели. Для получения информации о рабочем процессе при использовании объектов Portfolio CV a R, смотрите Рабочий процесс объекта Portfolio CV a R.

Получение портфелей вдоль всей эффективной границы

Самый основной способ получить оптимальные портфели - получить точки по всей области значений эффективной границы. Учитывая задачу оптимизации портфеля в PortfolioCVaR объект, estimateFrontier функция вычисляет эффективные портфели, разнесенные равномерно в соответствии с прокси возврата от минимального до максимального рентабельности портфелей. Количество оцененных портфелей контролируется скрытым свойством defaultNumPorts который установлен в 10. Другое значение для количества оцененных портфелей задается как вход в estimateFrontier. Этот пример показывает количество эффективных портфелей по умолчанию во всей области значений эффективных границ:

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);

pwgt = estimateFrontier(p);
disp(pwgt)
Columns 1 through 8

    0.8670    0.7046    0.5421    0.3825    0.2236    0.0570    0.0000    0.0000
    0.0413    0.1193    0.1963    0.2667    0.3392    0.4159    0.3392    0.1753
    0.0488    0.0640    0.0811    0.1012    0.1169    0.1427    0.1568    0.1754
    0.0429    0.1120    0.1806    0.2496    0.3203    0.3844    0.5040    0.6493

  Columns 9 through 10

    0.0000    0.0000
    0.0230    0.0000
    0.1777    0.0000
    0.7993    1.0000 
Если в предыдущем примере требуется только четыре портфеля:
pwgt = estimateFrontier(p, 4);

disp(pwgt)
0.8670    0.3825    0.0000    0.0000
0.0413    0.2667    0.3392    0.0000
0.0488    0.1012    0.1568    0.0000
0.0429    0.2496    0.5040    1.0000

Начиная с начального портфеля, estimateFrontier также возвращает покупки и продажи, чтобы получить от вашего начального портфеля к каждому эффективному портфелю на эффективной границе. Для примера, учитывая начальный портфель в pwgt0, вы можете получить покупки и продажи:

pwgt0 = [ 0.3; 0.3; 0.2; 0.1 ];
p = setInitPort(p, pwgt0);
[pwgt, pbuy, psell] = estimateFrontier(p);

display(pwgt)
display(pbuy)
display(psell)
pwgt =

  Columns 1 through 8

    0.8670    0.7046    0.5421    0.3825    0.2236    0.0570    0.0000    0.0000
    0.0413    0.1193    0.1963    0.2667    0.3392    0.4159    0.3392    0.1753
    0.0488    0.0640    0.0811    0.1012    0.1169    0.1427    0.1568    0.1754
    0.0429    0.1120    0.1806    0.2496    0.3203    0.3844    0.5040    0.6493

  Columns 9 through 10

    0.0000    0.0000
    0.0230    0.0000
    0.1777    0.0000
    0.7993    1.0000


pbuy =

  Columns 1 through 8

    0.5670    0.4046    0.2421    0.0825         0         0         0         0
         0         0         0         0    0.0392    0.1159    0.0392         0
         0         0         0         0         0         0         0         0
         0    0.0120    0.0806    0.1496    0.2203    0.2844    0.4040    0.5493

  Columns 9 through 10

         0         0
         0         0
         0         0
    0.6993    0.9000


psell =

  Columns 1 through 8

         0         0         0         0    0.0764    0.2430    0.3000    0.3000
    0.2587    0.1807    0.1037    0.0333         0         0         0    0.1247
    0.1512    0.1360    0.1189    0.0988    0.0831    0.0573    0.0432    0.0246
    0.0571         0         0         0         0         0         0         0

  Columns 9 through 10

    0.3000    0.3000
    0.2770    0.3000
    0.0223    0.2000
         0         0
Если вы не задаете начальный портфель, веса купли-продажи предполагают, что ваш начальный портфель 0.

См. также

| | | | | | | |

Похожие примеры

Подробнее о

Внешние веб-сайты