Tryangle is an automatic chainladder reserving framework. It provides scoring and optimisation methods based on machine learning techniques to automatically select optimal parameters to minimise reserve prediction error. Tryangle is built on top of the chainladder reserving package.
Tryangle is flexible and modular in how it can be applied:
- Optimising loss development factors
- Use sklearn'sGridSearchCV or RandomizedSearchCV to find the optimal method to calculate loss development factors
- Choosing between multiple reserving methods
- Not sure if you should go with a basic chainladder, Bornhuetter-Ferguson, or Cape-Cod method? Let Tryangle decide.
- Finding the optimal blend of reserving methods
- Or why not combine all three, and let Tryangle find the optimal blend.
- Using advanced optimisation methods
- Not satisfied with an exhaustive grid search? Tryangle can be used with any optimisation framework, but we recommend Optuna
fromsklearn.model_selectionimportGridSearchCVfromsklearn.pipelineimportPipelinefromtryangleimportDevelopment, CapeCodfromtryangle.metricsimportneg_cdr_scorerfromtryangle.model_selectionimportTriangleSplitfromtryangle.utils.datasetsimportload_sampleX=load_sample("swiss")
tscv=TriangleSplit(n_splits=5)
param_grid= {
"dev__n_periods": range(15, 20),
"dev__drop_high": [True, False],
"dev__drop_low": [True, False],
"cc__decay": [0.25, 0.5, 0.75, 0.95],
}
pipe=Pipeline([("dev", Development()), ("cc", CapeCod())])
model=GridSearchCV(
pipe, param_grid=param_grid, scoring=neg_cdr_scorer, cv=tscv, verbose=1, n_jobs=-1
)
model.fit(X, X)Tryangle is available at the Python Package Index.
pip install tryangleTryangle supports Python 3.9.
Caesar Balona, Ronald Richman. 2021. The Actuary and IBNR Techniques: A Machine Learning Approach (SSRN).