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
.
Modeler Results
Modeler Audit DataFrame
Modeler History
History disabled - bot-abuse.