reserving.ClarkLdf
Clark’s LDF method (Clark 2003), as R ChainLadder’s ClarkLDF: each
Usage
reserving.ClarkLdf()origin’s expected ultimate and a growth curve are fitted to the incremental losses by over-dispersed Poisson maximum likelihood, with ages measured from the average date of loss (the middle of the origin period, R’s adol = TRUE).
The ultimate is the latest value developed by the fitted curve to max_age. Process risk is the scale times the fitted reserve, and parameter risk the delta method on the parameters’ covariance, the scale times the inverse Fisher information.
Parameters
curve: (loglogistic, weibull) = "loglogistic"-
The growth curve
G:x**omega / (x**omega + theta**omega)or1 - exp(-(x / theta)**omega). max_age: float-
Age in months at which development stops; at least the triangle’s last age.
Nonedevelops to infinity.
Raises
ValueError- If curve is unknown.
Examples
>>> from prospicio.reserving import ClarkLdf, Triangle
>>> rows = [[110.0, 290.0, 370.0, 420.0, 440.0], [95.0, 300.0, 390.0, 425.0],
... [130.0, 320.0, 410.0], [105.0, 305.0], [120.0]]
>>> tri = Triangle.from_long(
... [2020 + i for i, row in enumerate(rows) for _ in row],
... [12 * (d + 1) for row in rows for d in range(len(row))],
... [v for row in rows for v in row],
... )
>>> fit = ClarkLdf(curve="weibull", max_age=120).fit(tri, "values")
>>> fit.omega > 0 and fit.total_standard_error > fit.total_process_riskTrue
>>> round(fit.ultimate[2] * fit.growth(36) / fit.growth(120), 6)410.0
Attributes
| Name | Description |
|---|---|
| curve | The growth curve. |
| max_age |
Age in months at which development stops; None for infinity.
|
curve
The growth curve.
curve: str
max_age
Age in months at which development stops; None for infinity.
max_age: float | None
Methods
| Name | Description |
|---|---|
| fit() | Fits one loss column in every segment of a triangle, each on its |
fit()
Fits one loss column in every segment of a triangle, each on its
Usage
fit(triangle, column)own.
Parameters
triangle: Trianglecolumn: str
Returns
ClarkFit
Raises
ValueError- As ChainLadder.fit, if the triangle has fewer than four ages, max_age is before its last age, an origin’s latest value is not positive, or the likelihood search does not converge.