reserving.Mack
Mack’s distribution-free chain ladder: the chain-ladder projection plus
Usage
reserving.Mack()the standard error of each origin’s reserve and of the total, split into process and parameter risk (Mack 1993, 1999).
A tail other than 1 is one more development step, from the oldest age to ultimate, with its own sigma and standard error, as R ChainLadder’s MackChainLadder(tail = ...); unless given, both are extrapolated log-linearly. Every origin, the oldest included, carries the tail’s risk. A tail below 1 follows chainladder-python: it scales the ultimates and carries the risk read where a tail of 1.001 would be. R’s MackChainLadder ignores a tail below 1 altogether.
Parameters
average: (volume, simple, regression) = "volume"sigma_interpolation: (log - linear, mack) = "log-linear"tail: (float, TailConstant, TailCurve, TailBondy or TailLogLinear)-
As ChainLadder; no tail by default.
tail_sigma: float-
The tail’s sigma (R’s
tail.sigma); extrapolated if not given. Unused when the tail factor is 1. tail_std_err: float-
The tail factor’s standard error (R’s
tail.se); extrapolated if not given. Unused when the tail factor is 1.
Examples
>>> from prospicio.reserving import Mack, Triangle
>>> tri = Triangle.from_long(
... [2020] * 4 + [2021] * 3 + [2022] * 2 + [2023],
... [12, 24, 36, 48, 12, 24, 36, 12, 24, 12],
... [100.0, 150.0, 165.0, 170.0, 110.0, 170.0, 180.0, 120.0, 175.0, 130.0],
... )
>>> fit = Mack().fit(tri, "values")
>>> fit.total_standard_error > 0 and fit.standard_error[0] == 0True
Attributes
| Name | Description |
|---|---|
| average | How link ratios are averaged. |
| sigma_interpolation | How unestimable variance parameters are filled in. |
| tail | The tail: a constant factor as a number, otherwise its estimator. |
| tail_sigma |
The given tail sigma, or None to extrapolate it.
|
| tail_std_err |
The given standard error of the tail factor, or None to
|
average
How link ratios are averaged.
average: str
sigma_interpolation
How unestimable variance parameters are filled in.
sigma_interpolation: str
tail
The tail: a constant factor as a number, otherwise its estimator.
tail: Any
tail_sigma
The given tail sigma, or None to extrapolate it.
tail_sigma: float | None
tail_std_err
The given standard error of the tail factor, or None to
tail_std_err: float | None
extrapolate it.
Methods
| Name | Description |
|---|---|
| fit() | Fits one measure column in every segment of a triangle, each on its |
fit()
Fits one measure column in every segment of a triangle, each on its
Usage
fit(triangle, column)own.
Parameters
triangle: Trianglecolumn: str
Returns
MackFit
Raises
ValueError- As ChainLadder.fit, and if the triangle has fewer than three ages, a variance parameter can be neither estimated nor interpolated, or the tail’s sigma or standard error can neither be extrapolated nor is given.