reserving.TailCurve
A curve fitted to the estimated factors and extrapolated, as
Usage
reserving.TailCurve()chainladder-python’s TailCurve.
Factors above 1.00001 in the fit period are regressed by least squares: ln(f - 1) on the 1-based development index k (exponential) or on ln(k) (inverse power). The fitted curve replaces the factors from the attachment age on and runs extrap_periods periods past the oldest age.
Parameters
curve: (exponential, inverse_power) = "exponential"fit_period: tuple of (int or None, int or None) = (None, None)-
Ages in months whose factors enter the fit: from the last age at or before the first (inclusive) to the last age at or before the second (exclusive), as chainladder-python reads them;
Noneis open-ended. extrap_periods: int = 100-
Number of periods past the oldest age the curve is extrapolated.
attachment_age: int- Age in months the curve attaches at (the first age at or after it); the oldest age by default.
Examples
>>> from prospicio.reserving import ChainLadder, TailCurve, 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 = ChainLadder(tail=TailCurve()).fit(tri, "values")
>>> 1.0 < fit.tail < 1.05True
Attributes
| Name | Description |
|---|---|
| attachment_age |
Age in months the curve attaches at; None is the oldest age.
|
| curve |
The curve fitted to f - 1.
|
| extrap_periods | Number of periods past the oldest age the curve is extrapolated. |
| fit_period | Ages whose factors enter the fit, from (inclusive) and to |
attachment_age
Age in months the curve attaches at; None is the oldest age.
attachment_age: int | None
curve
The curve fitted to f - 1.
curve: str
extrap_periods
Number of periods past the oldest age the curve is extrapolated.
extrap_periods: int
fit_period
Ages whose factors enter the fit, from (inclusive) and to
fit_period: tuple[int | None, int | None]
(exclusive).