Aggregate Tools

  • Modeler: Compute aggregate distributions.
  • Allocator: Allocate premium between lines.

The Agg Language

Aggregate Distributions

An aggregate distribution is specified as

    agg [label] [exposure] [limit]? sev [severity] [frequency]  

The words agg and sev are keywords (like if/then/else), [label], [exposure], [limit]? etc. are user inputs, and the limit clause is optional.

For example

    agg Auto 10 claims sev lognorm 10 cv 1.3 poisson  

creates an aggregate with label Auto, an expected claim count of 10, severity sampled from an unlimited lognormal distribution with mean 10 and CV 1.3, and a Poisson frequency distribution. The layer is unlimited because the limit clause missing. The label must begin with a letter and contain just letters and numbers. It can't be a language keyword, e.g. agg, port, poisson, fixed

Exposure can be specified in three ways.

	123 claim[s]
	1000 loss
	1000 premium at 0.7 [lr]?		

The first gives the expected claim count; the s on claims is optional. The second gives the expected loss with claim counts derived from average severity. The third gives premium and a loss ratio with counts again derived from severity. The final lr is optional and just used for clarity.

Limit are entered as layer xs attachment or layer x attachment.

Here are four illustrative examples. The line must start with agg (no tabs or spaces first) but afterwards spacing within the spec is ignored and can be used to enhance readability. The newline is needed.


        agg Example1   10  claims  30 xs 0 sev lognorm 10 cv 3.0 fixed
        agg Example2   10  claims 100 xs 0 sev 100 * expon + 10 poisson
        agg Example3 1000  loss    90 x 10 sev gamma 10 cv 6.0 mixed gamma 0.3
        agg Example4 1000  premium at 0.7 lr inf x 50 sev invgamma 20 cv 5.0 binomial 0.4

Here is what each example produces.

  • Example1 10 claims from the 30 x 0 layer of a lognormal severity with (unlimited) mean 10 and cv 3.0 and using a fixed claim count distribution (i.e. always exactly 10 claims).
  • Example2 10 claims from the 100 x 0 layer of an exponential severity with (unlimited) mean 100 shifted right by 10, and using a Poisson claim count distribution. The exponential has no shape parameters, it is just scaled. The mean refers to the unshifted distribution.
  • Example3 1000 expected loss from the 90 x 10 layer of a gamma severity with (unlimited) mean 10 and cv of 6.0 and using a gamma-mixed Poisson claim count distribution. The mixing distribution has a cv of 0.3 The claim count is derived from the limited severity.
  • Example4 700 of expected loss (1000 premium times 70 percent loss ratio) from an unlimited excess 50 layer of a inverse gamma distribution with mean of 20 and cv of 5.0 using a binomial distribution with p=0.4. The n parameter for the binomial is derived from the required claim count.

The inverse Gaussian (ig), delaporte, Sichel and other distributions are available as mixing distributions. The Aggregate Manual provides more details.

Portfolios

Several aggregates can be combined into a portfolio. They are aggregated assuming independence between the components. Before you roll your eyes and dismiss everything bear in mind 1) a substantial amount of correlation between results is generated by premium correlation (the cycle) and not loss correlation; 2) cats are often genuinely uncorrelated, e.g. East coast wind and Japan quake; 3) using the more advanced features of the language you can share mixing distributions to proxy correlation. A portfolio is entered:


port MyPortfolio
    agg Example1   10  claims  30 xs 0 sev lognorm 10 cv 3.0 fixed
    agg Example2   10  claims 100 xs 0 sev 100 * expon + 10 poisson
    agg Example3 1000  loss    90 x 10 sev gamma 10 cv 6.0 mixed gamma 0.3
    agg Example4 1000  premium at 0.7 lr inf x 50 sev invgamma 20 cv 5.0 binomial 0.4

The first port statement must begin a newline. The agg statements must be indented with one TAB. Use four spaces in the control box for a TAB.

The code above can be cut and pasted into the text box below to create an example. Make sure you remove leading spaced before agg or port.