adjCoef | R Documentation |
Compute the adjustment coefficient in ruin theory, or return a function to compute the adjustment coefficient for various reinsurance retentions.
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, ...)
mgf.claim |
an expression written as a function of |
mgf.wait |
an expression written as a function of |
premium.rate |
if |
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 |
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 |
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
|
add |
logical; if |
... |
further graphical parameters accepted by
|
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
.
If reinsurance = "none"
, a numeric vector of length one.
Otherwise, a function of class "adjCoef"
inheriting from the
"function"
class.
Christophe Dutang, Vincent Goulet vincent.goulet@act.ulaval.ca
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.
## 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)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.