Работа с другими объектами портфеля

The PortfolioMAD объект предназначен для оптимизации портфеля MAD. The PortfolioCVaR объект предназначен для оптимизации портфеля CVaR. The Portfolio объект предназначен для оптимизации портфеля средних дисперсий. Иногда можно хотеть изучить задачи оптимизации портфеля в соответствии с различными комбинациями прокси по возврату и риску. Распространенным примером является то, что вы хотите сделать оптимизацию портфеля MAD, а затем хотите работать в основном с моментами возвратов портфеля. Предположим, что вы настраиваете задачу оптимизации портфеля MAD с:

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

pwgt0 = [ 0.3; 0.3; 0.2; 0.1 ];

p = PortfolioMAD;
p = setAssetList(p, 'Bonds','Large-Cap Equities','Small-Cap Equities','Emerging Equities');
p = setInitPort(p, pwgt0);
p = simulateNormalScenariosByMoments(p, m, C, 20000);
p = setDefaultConstraints(p);

Чтобы работать с той же задачей в среде средних дисперсий, можно использовать сценарии из PortfolioMAD объект для настройки объекта Portfolio таким образом, чтобы p содержит задачу оптимизации MAD и q содержит задачу оптимизации средних дисперсий, основанную на тех же данных.

q = Portfolio('AssetList', p.AssetList);
q = estimateAssetMoments(q, p.getScenarios);
q = setDefaultConstraints(q);

pwgt = estimateFrontier(p);
qwgt = estimateFrontier(q);

Поскольку каждый объект имеет различный прокси риска, сравнивать результаты один за другим невозможно. Для получения средств и стандартных отклонений возвратов портфеля можно использовать функции, связанные с каждым объектом, чтобы получить:

pret = estimatePortReturn(p, pwgt);
pstd = estimatePortStd(p, pwgt);
qret = estimatePortReturn(q, qwgt);
qstd = estimatePortStd(q, qwgt);

[pret, qret]
[pstd, qstd]
ans =

    0.0592    0.0590
    0.0730    0.0728
    0.0868    0.0867
    0.1006    0.1005
    0.1145    0.1143
    0.1283    0.1282
    0.1421    0.1420
    0.1559    0.1558
    0.1697    0.1697
    0.1835    0.1835


ans =

    0.0767    0.0767
    0.0829    0.0828
    0.0989    0.0987
    0.1208    0.1206
    0.1461    0.1459
    0.1732    0.1730
    0.2042    0.2040
    0.2453    0.2452
    0.2929    0.2928
    0.3458    0.3458

Для получения сопоставимых результатов можно использовать возвраты или риски от оптимизации одного портфеля в качестве целевой прибыли или рисков для оптимизации другого портфеля.

qwgt = estimateFrontierByReturn(q, pret);
qret = estimatePortReturn(q, qwgt);
qstd = estimatePortStd(q, qwgt);

[pret, qret]
[pstd, qstd]
ans =

    0.0592    0.0592
    0.0730    0.0730
    0.0868    0.0868
    0.1006    0.1006
    0.1145    0.1145
    0.1283    0.1283
    0.1421    0.1421
    0.1559    0.1559
    0.1697    0.1697
    0.1835    0.1835


ans =

    0.0767    0.0767
    0.0829    0.0829
    0.0989    0.0989
    0.1208    0.1208
    0.1461    0.1461
    0.1732    0.1732
    0.2042    0.2042
    0.2453    0.2453
    0.2929    0.2929
    0.3458    0.3458
Теперь можно сравнить стандартные отклонения возвратов портфеля от любого типа оптимизации портфеля.

См. также

|

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

Подробнее о