## Task

Create a set of scenarios based on a statistical model.

## Preparation

You need:

- a vector of expected returns for the assets
- a variance matrix for the assets
- the
`pprobeSup`

package

The `pprobeSup`

package needs to be loaded into your R session:

require(pprobeSup)

If `pprobeSup`

is not installed on your machine, then you can get it with:

install.packages("pprobeSup", repos="https://www.portfolioprobe.com/R")

or alternatively with:

install.packages("pprobeSup", repos="https://www.portfolioprobe.com/R", type="source")

### Doing the example

You need to have the `pprobeData`

package loaded into your R session:

require(pprobeData)

This package may be installed from the same repository.

## Doing it

Here we take pretty much the simplest (and not especially useful) model — multivariate normal distribution of log returns.

### Preparation

The multivariate normal requires a vector of mean values. We’ll just use zero for all the means in this example.

It also requires a variance matrix. When there are a lot more time points than assets, then the sample variance matrix is not terrible. That is what is used here:

varMat50 <- var(xassetLogReturns[1:300, 1:50])

### Generating the scenarios

We create 100 scenarios of daily price changes on the first 50 assets in the price matrix for 20 days:

normScen <- pp.normalScenarios(xassetPrices[ nrow(xassetPrices),1:50], expected.return=rep(0,50), variance=varMat50, ntimes=20, nscenarios=100)

The result is a three-dimensional array that is 20 (*times*) by 50 (*assets*) by 100 (*scenarios*):

> dim(normScen) [1] 20 50 100

## Explanation

The first argument is the vector of prices to use. The first row of each scenario will have these prices.

The `mvrnorm`

function from the `MASS`

package is used to create the random numbers which are then transformed into prices.

## Further details

More realistic distributions can — and probably should — be simulated.

## See also

## Navigation

- Back to “Scenario optimization”
- Back to “Optimize trades”
- Back to the top level of “Portfolio Probe Cookbook”