Оцените эффективные портфели вдоль целой границы для объекта PortfolioMAD

Существует два способа посмотреть на задачу оптимизации портфеля, которая зависит от того, что вы пытаетесь сделать. Одна цель состоит в том, чтобы оценить, что эффективные портфели и другой должны оценить границы эффективности. Этот раздел фокусируется на бывших Границах эффективности цели и Оценки для особого внимания Объекта PortfolioMAD на последней цели. Для получения информации о рабочем процессе при использовании объектов PortfolioMAD смотрите Рабочий процесс Объекта PortfolioMAD.

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

Самый основной способ получить оптимальные портфели состоит в том, чтобы получить точки в целой области значений границы эффективности. Учитывая задачу оптимизации портфеля в PortfolioMAD объект, 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 = PortfolioMAD;
p = setScenarios(p, AssetScenarios);
p = setDefaultConstraints(p);
pwgt = estimateFrontier(p);
disp(pwgt)
 Columns 1 through 8

    0.8907    0.7289    0.5614    0.3946    0.2257    0.0612         0    0.0000
    0.0330    0.1163    0.2119    0.3042    0.3998    0.4876    0.4400    0.3125
    0.0420    0.0469    0.0472    0.0505    0.0534    0.0580    0.0374    0.0018
    0.0343    0.1079    0.1794    0.2507    0.3211    0.3933    0.5226    0.6857

  Columns 9 through 10

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

disp(pwgt)
  0.8907    0.3946         0    0.0000
  0.0330    0.3042    0.4401    0.0000
  0.0420    0.0505    0.0373    0.0000
  0.0343    0.2507    0.5227    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.8907    0.7289    0.5614    0.3946    0.2257    0.0612         0    0.0000
    0.0330    0.1163    0.2119    0.3042    0.3998    0.4876    0.4400    0.3125
    0.0420    0.0469    0.0472    0.0505    0.0534    0.0580    0.0374    0.0018
    0.0343    0.1079    0.1794    0.2507    0.3211    0.3933    0.5226    0.6857

  Columns 9 through 10

    0.0000    0.0000
    0.1570    0.0000
    0.0000    0.0000
    0.8430    1.0000


pbuy =

  Columns 1 through 8

    0.5907    0.4289    0.2614    0.0946         0         0         0         0
         0         0         0    0.0042    0.0998    0.1876    0.1400    0.0125
         0         0         0         0         0         0         0         0
         0    0.0079    0.0794    0.1507    0.2211    0.2933    0.4226    0.5857

  Columns 9 through 10

         0         0
         0         0
         0         0
    0.7430    0.9000


psell =

  Columns 1 through 8

         0         0         0         0    0.0743    0.2388    0.3000    0.3000
    0.2670    0.1837    0.0881         0         0         0         0         0
    0.1580    0.1531    0.1528    0.1495    0.1466    0.1420    0.1626    0.1982
    0.0657         0         0         0         0         0         0         0

  Columns 9 through 10

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

Смотрите также

| | | | | | | |

Связанные примеры

Больше о