# estimatePortReturn

Estimate mean of portfolio returns

## Syntax

``pret = estimatePortReturn(obj,pwgt)``

## Description

example

````pret = estimatePortReturn(obj,pwgt)` estimates the mean of portfolio returns (as the proxy for portfolio return) for `Portfolio`, `PortfolioCVaR`, or `PortfolioMAD` objects. For details on the respective workflows when using these different objects, see Portfolio Object Workflow, PortfolioCVaR Object Workflow, and PortfolioMAD Object Workflow.```

## Examples

collapse all

Given portfolio `p`, use the `estimatePortReturn` function to estimate the mean of portfolio returns.

```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 ]; p = Portfolio; p = setAssetMoments(p, m, C); p = setDefaultConstraints(p); pwgt = estimateFrontierLimits(p); pret = estimatePortReturn(p, pwgt); disp(pret)```
``` 0.0590 0.1800 ```

Given portfolio `p`, use the `estimatePortReturn` function to estimate the mean of portfolio returns.

```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 = setScenarios(p, AssetScenarios); p = setDefaultConstraints(p); p = setProbabilityLevel(p, 0.95); pwgt = estimateFrontierLimits(p); pret = estimatePortReturn(p, pwgt); disp(pret)```
``` 0.0050 0.0154 ```

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

Given portfolio `p`, use the `estimatePortReturn` function to estimate the mean of portfolio returns.

```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 = PortfolioMAD; p = setScenarios(p, AssetScenarios); p = setDefaultConstraints(p); pwgt = estimateFrontierLimits(p); pret = estimatePortReturn(p, pwgt); disp(pret)```
``` 0.0048 0.0154 ```

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

## Input Arguments

collapse all

Object for portfolio, specified using `Portfolio`, `PortfolioCVaR`, or `PortfolioMAD` object. For more information on creating a portfolio object, see

Data Types: `object`

Collection of portfolios, specified as a `NumAssets`-by-`NumPorts` matrix, where `NumAssets` is the number of assets in the universe and `NumPorts` is the number of portfolios in the collection of portfolios.

Data Types: `double`

## Output Arguments

collapse all

Estimates for means of portfolio returns for each portfolio in `pwgt`, returned as a `NumPorts` vector.

`pret` is returned for a `Portfolio`, `PortfolioCVaR`, or `PortfolioMAD` input object (`obj`).

### Note

Depending on whether costs have been set, the portfolio return is either gross or net portfolio returns. For information on setting costs, see `setCosts`.

## Tips

You can also use dot notation to estimate the mean of portfolio returns (as the proxy for portfolio return).

`pret = obj.estimatePortReturn(pwgt);`

﻿