Obtaining Endpoints of the Efficient Frontier
Often, you might be interested in the endpoint portfolios for the efficient frontier.
Suppose that you want to determine the range of returns from minimum to maximum to
refine a search for a portfolio with a specific target return. Use the estimateFrontierLimits
function to obtain the endpoint portfolios:
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 = estimateFrontierLimits(p); disp(pwgt)
0.8646 0.0000 0.0470 0.0000 0.0414 0.0000 0.0470 1.0000
Note
The endpoints of the efficient frontier depend upon the Scenarios in the
PortfolioCVaR
object. If you change the Scenarios, you
are likely to obtain different endpoints.
Starting from an initial portfolio, estimateFrontierLimits
also returns purchases and sales to get from the
initial portfolio to the endpoint portfolios on the efficient frontier. For example,
given an initial portfolio in pwgt0
, you can obtain purchases and
sales:
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); 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.8624 0.0000 0.0513 0.0000 0.0452 0.0000 0.0411 1.0000 pbuy = 0.5624 0 0 0 0 0 0 0.9000 psell = 0 0.3000 0.2487 0.3000 0.1548 0.2000 0.0589 0
0
.
See Also
PortfolioCVaR
| estimateFrontier
| estimateFrontierLimits
| estimateFrontierByReturn
| estimatePortReturn
| estimateFrontierByRisk
| estimatePortRisk
| estimateFrontierByRisk
| setSolver
Related Examples
- Estimate Efficient Portfolios for Entire Frontier for PortfolioCVaR Object
- Creating the PortfolioCVaR Object
- Working with CVaR Portfolio Constraints Using Defaults
- Estimate Efficient Frontiers for PortfolioCVaR Object
- Asset Returns and Scenarios Using PortfolioCVaR Object
- Troubleshooting CVaR Portfolio Optimization Results
- Hedging Using CVaR Portfolio Optimization
- Compute Maximum Reward-to-Risk Ratio for CVaR Portfolio