Accelerating the pace of engineering and science

# Documentation Center

• Trial Software

# estimateFrontierLimits

Class: PortfolioCVaR

Estimate optimal portfolios at endpoints of efficient frontier for PortfolioCVaR object

## Description

[pwgt,pbuy,psell] = estimateFrontierLimits(obj) estimates the optimal portfolios at the endpoints of the efficient frontier.

[pwgt,pbuy,psell] = estimateFrontierLimits(obj,Choice) estimates the optimal portfolios at the endpoints of the efficient frontier with an additional option specified for the Choice argument.

## Tips

Use dot notation to estimate the optimal portfolios at the endpoints of the efficient frontier.

## Input Arguments

 obj CVaR portfolio object [PortfolioCVaR]. Choice (Optional) Indicates which portfolios to obtain at the extreme ends of the efficient frontier [string]. Choice specifies various actions with default value []. The options for Choice action are: [] — Compute both minimum-risk and maximum-return portfolios.'Both' — Compute both minimum-risk and maximum-return portfolios.'Min' — Compute minimum-risk portfolio only.'Max' — Compute maximum-return portfolio only. The number of portfolios returned by this method is either 1 or 2.Default: []

## Output Arguments

 pwgt Optimal portfolios at the endpoints of the efficient frontier TargetReturn [NumAssets-by-NumPorts matrix].
 pbuy Purchases relative to an initial portfolio for optimal portfolios at the endpoints of the efficient frontier [NumAssets-by-NumPorts matrix].
 psell Sales relative to an initial portfolio for optimal portfolios at the endpoints of the efficient frontier [NumAssets-by-NumPorts matrix].
 Note:   If no initial portfolio is specified in obj.InitPort, it is assumed to be 0 such that pbuy = max(0, pwgt) and psell = max(0, -pwgt).

## Attributes

 Access public Static false Hidden false

To learn about attributes of methods, see Method Attributes in the MATLAB® Object-Oriented Programming documentation.

## Examples

expand all

### Obtain Endpoint Portfolios

Given portfolio p, the estimateFrontierLimits method obtains 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;

rng(11);

AssetScenarios = mvnrnd(m, C, 20000);

p = PortfolioCVaR;
p = p.setScenarios(AssetScenarios);
p = p.setDefaultConstraints;
p = p.setProbabilityLevel(0.95);

pwgt = p.estimateFrontierLimits;

disp(pwgt);
0.8454    0.0000
0.0599    0.0000
0.0462    0.0000
0.0485    1.0000

The function rng( ) resets the random number generator to produce the documented results. It is not necessary to reset the random number generator to simulate scenarios.