adjCoef: Adjustment Coefficient

View source: R/adjCoef.R

adjCoefR Documentation

Adjustment Coefficient

Description

Compute the adjustment coefficient in ruin theory, or return a function to compute the adjustment coefficient for various reinsurance retentions.

Usage

adjCoef(mgf.claim, mgf.wait = mgfexp, premium.rate, upper.bound,
        h, reinsurance = c("none", "proportional", "excess-of-loss"),
        from, to, n = 101)

## S3 method for class 'adjCoef'
plot(x, xlab = "x", ylab = "R(x)",
     main = "Adjustment Coefficient", sub = comment(x),
     type = "l", add = FALSE, ...)

Arguments

mgf.claim

an expression written as a function of x or of x and y, or alternatively the name of a function, giving the moment generating function (mgf) of the claim severity distribution.

mgf.wait

an expression written as a function of x, or alternatively the name of a function, giving the mgf of the claims interarrival time distribution. Defaults to an exponential distribution with mean 1.

premium.rate

if reinsurance = "none", a numeric value of the premium rate; otherwise, an expression written as a function of y, or alternatively the name of a function, giving the premium rate function.

upper.bound

numeric; an upper bound for the coefficient, usually the upper bound of the support of the claim severity mgf.

h

an expression written as a function of x or of x and y, or alternatively the name of a function, giving function h in the Lundberg equation (see below); ignored if mgf.claim is provided.

reinsurance

the type of reinsurance for the portfolio; can be abbreviated.

from, to

the range over which the adjustment coefficient will be calculated.

n

integer; the number of values at which to evaluate the adjustment coefficient.

x

an object of class "adjCoef".

xlab, ylab

label of the x and y axes, respectively.

main

main title.

sub

subtitle, defaulting to the type of reinsurance.

type

1-character string giving the type of plot desired; see plot for details.

add

logical; if TRUE add to already existing plot.

...

further graphical parameters accepted by plot or lines.

Details

In the typical case reinsurance = "none", the coefficient of determination is the smallest (strictly) positive root of the Lundberg equation

h(x) = E[e^{x B - x c W}] = 1

on [0, m), where m = upper.bound, B is the claim severity random variable, W is the claim interarrival (or wait) time random variable and c = premium.rate. The premium rate must satisfy the positive safety loading constraint E[B - c W] < 0.

With reinsurance = "proportional", the equation becomes

h(x, y) = E[e^{x y B - x c(y) W}] = 1,

where y is the retention rate and c(y) is the premium rate function.

With reinsurance = "excess-of-loss", the equation becomes

h(x, y) = E[e^{x \min(B, y) - x c(y) W}] = 1,

where y is the retention limit and c(y) is the premium rate function.

One can use argument h as an alternative way to provide function h(x) or h(x, y). This is necessary in cases where random variables B and W are not independent.

The root of h(x) = 1 is found by minimizing (h(x) - 1)^2.

Value

If reinsurance = "none", a numeric vector of length one. Otherwise, a function of class "adjCoef" inheriting from the "function" class.

Author(s)

Christophe Dutang, Vincent Goulet vincent.goulet@act.ulaval.ca

References

Bowers, N. J. J., Gerber, H. U., Hickman, J., Jones, D. and Nesbitt, C. (1986), Actuarial Mathematics, Society of Actuaries.

Centeno, M. d. L. (2002), Measuring the effects of reinsurance by the adjustment coefficient in the Sparre-Anderson model, Insurance: Mathematics and Economics 30, 37–49.

Gerber, H. U. (1979), An Introduction to Mathematical Risk Theory, Huebner Foundation.

Klugman, S. A., Panjer, H. H. and Willmot, G. E. (2008), Loss Models, From Data to Decisions, Third Edition, Wiley.

Examples

## Basic example: no reinsurance, exponential claim severity and wait
## times, premium rate computed with expected value principle and
## safety loading of 20%.
adjCoef(mgfexp, premium = 1.2, upper = 1)

## Same thing, giving function h.
h <- function(x) 1/((1 - x) * (1 + 1.2 * x))
adjCoef(h = h, upper = 1)

## Example 11.4 of Klugman et al. (2008)
mgfx <- function(x) 0.6 * exp(x) + 0.4 * exp(2 * x)
adjCoef(mgfx(x), mgfexp(x, 4), prem = 7, upper = 0.3182)

## Proportional reinsurance, same assumptions as above, reinsurer's
## safety loading of 30%.
mgfx <- function(x, y) mgfexp(x * y)
p <- function(x) 1.3 * x - 0.1
h <- function(x, a) 1/((1 - a * x) * (1 + x * p(a)))
R1 <- adjCoef(mgfx, premium = p, upper = 1, reins = "proportional",
              from = 0, to = 1, n = 11)
R2 <- adjCoef(h = h, upper = 1, reins = "p",
             from = 0, to = 1, n = 101)
R1(seq(0, 1, length = 10))	# evaluation for various retention rates
R2(seq(0, 1, length = 10))	# same
plot(R1)		        # graphical representation
plot(R2, col = "green", add = TRUE) # smoother function

## Excess-of-loss reinsurance
p <- function(x) 1.3 * levgamma(x, 2, 2) - 0.1
mgfx <- function(x, l)
    mgfgamma(x, 2, 2) * pgamma(l, 2, 2 - x) +
    exp(x * l) * pgamma(l, 2, 2, lower = FALSE)
h <- function(x, l) mgfx(x, l) * mgfexp(-x * p(l))
R1 <- adjCoef(mgfx, upper = 1, premium = p, reins = "excess-of-loss",
             from = 0, to = 10, n = 11)
R2 <- adjCoef(h = h, upper = 1, reins = "e",
             from = 0, to = 10, n = 101)
plot(R1)
plot(R2, col = "green", add = TRUE)

actuar documentation built on Nov. 8, 2023, 9:06 a.m.