VoseAggregateMC | Vose Software


See also: Vose Aggregate Monte Carlo window, Aggregate distributions introduction





This function aggregates N random values from a distribution using direct Monte Carlo simulation. It is the most straightforward way of modeling the sum of independent random values drawn from a given distribution.

  • N - the number of random values to be aggregated (summed). This should be an integer. This can be a fixed number as well as a sampled value from a discrete distribution.

  • Distribution - a distribution object where the N variables to be summed are sampled from.

In insurance modeling for example, this function could be used to model the aggregation of a random number of claims coming in with a random size. The total amount an insurance company has to pay out could then be modelled with the function VoseAggregateMC where N represents the (random) number of claims and "Distribution" represents the random size of the claims.

There exists a number of identities that provide 'shortcuts' for calculating aggregate distributions faster, as explained here. These identities are by the VoseAggregateMC function when appropriate to speed up the calculation.


Example 1

When N = 100 and the distribution is a LogNormal(2,1), the aggregation =VoseAggregateMC(100,LogNormalObject(2,1)) will be performed by Monte Carlo simulation, meaning that this function randomly takes 100 samples of a LogNormal(2,1) distribution and then adds them all together.

Example 2

If N = 100 and the distribution is a Gamma(3,6), then the VoseAggregateMC function knows that there is a shortcut formula for aggregating Gamma distributions: Gamma(100*3,6).

That means that in this case the function =VoseAggregateMC(100,Gamma(3,6)) immediately samples from the aggregated distribution.

Example 3

If the specified distribution is a known distribution, like in example 2, but with a truncation (for example =VoseGamma(3,6,,VoseXBounds(1,7))), then there is no formula to sample directly from the aggregate distribution and a Monte Carlo simulation has to be performed (like in the first example).

Example 4

If the distribution is known, but there is a shift in it, then the shortcut formula still holds, but one needs to take into account the shift.

For example, aggregating 100 VoseGamma(3,6,,VoseShift(10)) random variables by writing:


means sampling from the aggregate distribution: 100*10 + VoseGamma(100*3,6).

Example 5

When N is not a number but a distribution (for example Poisson(50) ) and the specified distribution is not known to have a shortcut formula (for example Pareto(3,1) ) then the VoseAggregateMC function


randomly samples from the Poisson(50) distribution (let's say 47), then randomly samples 47 times from the Pareto distribution and finally adds them all up.

Example 6

In the case that N is a continuous distribution (for example LogNormal(20,15) ) and the specified distribution is known to have a shortcut formula (for example Normal(100,10) ), the function samples from the LogNormal distribution, rounds it up to an integer (let's say 22) and then knows that the aggregate distribution is: Normal(22*100,SQRT(22)*10).


Comment 1

In the cases where the aggregation has to be performed by Monte Carlo simulation (for example 100 Pareto(3,2) distributions), this function takes quite some time to complete the aggregation for very large N. Also see VoseCLTSum.

But in the cases where there is a direct formula for the aggregation (for example 1000000 Gamma(2,3) ) the aggregation is instantaneous.

Comment 2

The distribution parameter can also be a fixed number. VoseAggregateMC(VosePoisson(50),100) will return N*100 where N is randomly sampled from a Poisson(50) distribution.