Skip to contents

The (generalized) Bondy tail, as chainladder-python's TailBondy. Each log factor from earliest_age on is taken as b times the one before it, b fitted by least squares. The fitted factors are f0^(b^j) from the factor f0 at earliest_age, and those past the next one multiply to the last fitted factor raised to b / (1 - b). With the default earliest_age (the age of the last factor) b is 1/2 and the tail repeats the last factor: the classic Bondy method.

Usage

tail_bondy(earliest_age = NULL, attachment_age = NULL)

Arguments

earliest_age

First age in months whose factor enters the fit (the last age at or before it, as chainladder-python reads it), or NULL for the age of the last factor.

attachment_age

The factor from this age (the last age at or before it) to the next is kept and the fitted ones replace those after it; NULL is the age of the last factor. Not before earliest_age.

Value

A tail_bondy object.

Details

The exponent is the exact least-squares optimum. chainladder-python's optimizer stops early, so its generalized Bondy factors differ in about the fifth significant digit.

Properties: earliest_age and attachment_age (NULL for the age of the last factor).

Examples

long <- data.frame(year = rep(2018:2021, 4:1),
                   age = c(12, 24, 36, 48, 12, 24, 36, 12, 24, 12),
                   paid = c(100, 150, 165, 170, 110, 170, 180, 120, 175, 130))
tri <- triangle(long, "year", "age", "paid")
fit <- chain_ladder(tri, tail = tail_bondy())
fit@tail
#> [1] 1.030303
chain_ladder(tri, tail = tail_bondy(earliest_age = 12))@tail
#> [1] 1.004019