chainladder-python

Actuarial reserving in Python

MPL-2.0 License

Downloads
5.4K
Stars
174
Committers
25

Bot releases are visible (Hide)

chainladder-python - chainladder 0.8.4

Published by jbogaardt over 3 years ago

Enhancements

  • #153 - Introduced CapeCod groupby parameter that allows for apriroi computation at user-specified grain for granular triangles
  • #154 - Introduced groupby support in key development estimators

Bug fixes

  • #152 - CapeCod apriori is not supporting nans effectively
  • #157 - cum_to_incr() not working as expected on full_triangle_
  • #155 - full_triangle_ cdf broadcasting bug
  • #156 - Unable to inspect sigma_ or std_err_ properties after tail fit
chainladder-python - chainladder 0.8.3

Published by jbogaardt over 3 years ago

Enhancements

  • #135 - Added .at and .iat slicing and value assignment

Bug Fixes

  • #144 - Eliminated error when trying to assign a column from a different array backend.
  • #134 - Clearer error handling when attempting to instantiate a triangle with ages instead of date-likes
  • #143 - Reworked full_triangle_ run-off for expected loss methods.
chainladder-python - chainladder 0.8.2

Published by jbogaardt over 3 years ago

Enhancements

  • #131 - Added a BarnettZenwirth development estimator
  • #117 - VotingChainladder enhancements to allow for more flexibility in defining weights (courtesy of @cbalona)

Bug Fixes

  • #130 - Fixed bug in triangle aggregation
  • #134 - Fixed a bug in triangle broadcasting
  • #137 - Fixed valuation_date bug occuring when partial year Triangle is instantiated as a vector.
  • #138 - Introduced fix for incompatibility with sparse>=0.12.0
  • #122 - Implemented nightly continuous integration to identify new bugs associated with verion bumps of dependencies.
chainladder-python - chainladder 0.8.1

Published by jbogaardt over 3 years ago

Enhancements

  • Included a truncation_age in the TailClark estimator to replicate examples from the paper
  • #129 Included new development estimators TweedieGLM and DevelopmentML to take advantage of a broader set of (sklearn-compliant) regression frameworks.
  • Included a helper Transformer PatsyFormula to make working with ML algorithms easier.

Bug fixes

  • #128 Made IncrementalAdditive method comply with the rest of the package API
chainladder-python - chainladder 0.8.0

Published by jbogaardt over 3 years ago

Enhancements

  • #112 Advanced groupby support.
  • #113 Added reg_threshold argument to TailCurve for finer control of fit. Huge thanks to @brian-13 for the contribution.
  • #115 Introducing VotingChainladder workflow estimator to allow for averaging multiple IBNR estimators Huge thanks to @cbalona for the contribution.
  • Introduced CaseOutstanding development estimator
  • #124 Standardized CapCod functionality to that of Benktander and BornhuetterFerguson

Bug Fixes

  • #83 Fixed grain issues when using the trailing argument
  • #119 Fixed pickle compatibility issue introduced in v0.7.12
  • #120 Fixed Trend estimator API
  • #121 Fixed numpy==1.20.1 compatibility issue
  • #123 Fixed BerquistSherman estimator
  • #125 Fixed various issues with compatibility of estimators in a Pipeline

Deprecations

  • #118 Deprecation warnings on xlcompose. Will be removed as a depdendency in v0.9.0
chainladder-python - chainladder 0.7.12

Published by jbogaardt over 3 years ago

No code changes from 0.7.11. Bump release to fix conda packaging.

chainladder-python - chainladder 0.7.11

Published by jbogaardt over 3 years ago

Enhancements

  • #110 Added virtual_column functionality

Bug fixes

  • Minor bug fix on sort_index not accepting kwargs
  • Minor bug fix in DevelopmentConstant when using a callable

Misc

  • Bringing release up to parity with docs.
chainladder-python - chainladder 0.7.11

Published by jbogaardt over 3 years ago

Enhancements

  • #110 Added virtual_column functionality

Bug fixes

  • Minor bug fix on sort_index not accepting kwargs
  • Minor bug fix in DevelopmentConstant when using a callable

Misc

  • Bringing release up to parity with docs.
chainladder-python - chainladder 0.7.10

Published by jbogaardt almost 4 years ago

Bug fixes

  • #108 - sample_weight error handling on predict - thank you @cbalona
  • #107 - Latest diagonal of empty triangle now resolves
  • #106 - Improved loc consistency with pandas
  • #105 - Addressed broadcasting error during triangle arithmetic
  • #103 - Fixed Index alignment with triangle arithmetic consistent with pd.Series
chainladder-python - chainladder 0.7.9

Published by jbogaardt almost 4 years ago

Bug fixes

  • #101 Bug where LDF labels were not aligned with underlying LDF array

Enhancements

  • #66 Allow for onleveling with new ParallelogramOLF transformer
  • #98 Allow for more complex trends in estimators with Trend transformer
    Refer to this example on how to apply the new estimators.
chainladder-python - chainladder 0.7.8

Published by jbogaardt almost 4 years ago

Bug Fixes

  • Resolved #87 val_to_dev with malformed triangle

Enhancements

  • Major overhaul of Triangle internals for better code clarity and more efficiency
  • Made sparse operations more efficient for larger triangles
  • to_frame now works on Triangles that are 3D or 4D. For example clrd.to_frame()
  • Advanced groupby operations supported. For (trivial) example:
clrd = cl.load_sample('clrd')
# Split companies with names less than 15 characters vs those above: 
clrd.groupby(clrd.index['GRNAME'].str.len()<15).sum()
chainladder-python - chainladder 0.7.7

Published by jbogaardt about 4 years ago

Enhancements

  • #97, loc and iloc now support Ellipsis
  • Development can now take a float value for averaging. When float value is used, it corresponds to weight exponent (delta in Barnett/Zenwirth). Only special cases had previously existed - {"regression": 0.0, "volume": 1.0, "simple": 2.0}
  • Major improvements in slicing performance.

Bug fixes

  • #96, Fix for TailBase transform
  • #94, n_periods with asymmetric triangles fixed
chainladder-python - chainladder 0.7.6

Published by jbogaardt about 4 years ago

Enhancements

  • Four Dimensional slicing is now supported.
clrd = cl.load_sample('clrd')
clrd.iloc[[0,10, 3], 1:8, :5, :]
clrd.loc[:'Aegis Grp', 'CumPaidLoss':, '1990':'1994', :48]
  • #92 to_frame() now takes optional origin_as_datetime argument for better compatibility with various plotting libraries (Thank you @johalnes )
tri.to_frame(origin_as_datetime=True)

Bug Fixes

  • Patches to the interaction between sparse and numpy arrays to accomodate more scenarios.
  • Patches to multi-index broadcasting
  • Improved performance of latest_diagonal for sparse backends
  • #91 Bug fix to MackChainladder which errored on asymmetric triangles (Thank you @johalnes for reporting)
chainladder-python - chainladder 0.7.5

Published by jbogaardt about 4 years ago

Enhancements

  • Enabled multi-index broadcasting.
clrd = cl.load_sample('clrd')
clrd / clrd.groupby('LOB').sum()  # LOB alignment works now instead of throwing error
  • Added sparse representation of triangles which substantially increases the size limit of in-memory triangles. Check out the new Large Datasets tutorial for details

Bug fixes

  • Fixed cupy backend which had previously been neglected
  • Fixed xlcompose issue where Period fails when included as column header
chainladder-python - chainladder 0.7.4

Published by jbogaardt about 4 years ago

Tiny release.

Bug Fixes:

  • Fixed a bug where Triangle did not support full accident dates at creation
  • Fixed an inappropriate index mutation in Triangle index

Enhancements

  • Added head and tail methods to Triangle
  • Prepped Triangle class to support sparse backend
  • Added prism sample dataset for sparse demonstrations and unit tests
chainladder-python - chainladder 0.7.3

Published by jbogaardt over 4 years ago

Enhancements

  • Improved performance of valuation axis
  • Improved performance of groupby
  • Added sort_index method to Triangle consistent with pandas
  • Allow for fit_predict to be called on a Pipeline estimator

Bug fixes

  • Fixed issue with Bootstrap process variance where it was being applied more than once
  • Fixed but where Triangle.index did not ingest numeric columns appropriately.
chainladder-python - chainladder 0.7.2

Published by jbogaardt over 4 years ago

Bug fixes:

  • Index slicing not compatible with pandas #84 fixed
  • arithmetic fail #68 - Substantial reworking of how arithmetic works.
  • JSON IO on sub-triangles now works
  • predict and fit_predict methods added to all IBNR models and now function as expected

Enhancements:

  • Allow DevelopmentConstant to take on more than one set of patterns by passing in a callable
  • MunichAdjustmentAllow ` does not work when P/I or I/P ratios cannot be calculated. You can now optionally back-fill zero values with expectaton from simple chainladder so that Munich can be performed on sparser triangles.

Refactors:

  • Performance optimized several triangle functions including slicing and val_to_dev
  • Reduced footprint of ldf_, sigma, and std_err_ triangles
  • Standardized IBNR model methods
  • Changed cdf_, full_triangle_, full_expectation_, ibnr_ to function-based properties instead of in-memory objects to reduce memory footprint
chainladder-python - chainladder 0.7.1

Published by jbogaardt over 4 years ago

Enhancements

  • Added heatmap method to Triangle - allows for conditionally formatting a 2D triangle. Useful for detecting link_ratio outliers
  • Introduced BerquistSherman estimator
  • Better error messaging when triangle columns are non-numeric
  • Broadened the functionality of Triangle.trend
  • Allow for nested estimators in to_json. Required addition for the new BerquistSherman method
  • Docs, docs, and more docs.

Bug Fixes

  • Mixed an inappropriate mutation in MunichAdjustment.transform
  • Triangle column slicing now supports pd.Index objects instead of just lists

Other

  • Moved BootstrapODPSample to workflow section as it is not a development estimator.
chainladder-python - chainladder 0.7.0

Published by jbogaardt over 4 years ago

Bug fixes

  • TailBondy now works with multiple (4D) triangles
  • TailBondy computes correctly when earliest_age is selected
  • Sub-triangles now honor index and column slicing of the parent.
  • fit_transform for all tail estimators now correctly propagate all estimator attributes
  • Bondy decay now uses the generalized Bondy formula instead of exponential decay

Enhancements

  • Every tail estimator now has a tail_ attribute representing the point estimate of the tail
  • Every tail estimator how has an attachment_age parameter to allow for attachment before the end of the triangle
  • TailCurve now has slope_ and intercept_ attributes for a diagnostics of the estimator.
  • TailBondy now has earliest_ldf_ attributes to allow for diagnostics of the estimator.
  • Substantial improvement to the documents on Tails.
  • Introduced the deterministic components of ClarkLDF and TailClark estimators to allow for growth curve selection of development patterns.
chainladder-python - chainladder 0.6.3

Published by jbogaardt over 4 years ago

Enhancements (courtesy of @gig67):

  • Added Triangle.calendar_correlation method and companion class CalendarCorrelation to support detecting calendar year correlations in triangles.
  • Added Triangle.developmen_correlation method and companion class DevelopmentCorrelation to support detecting development correlations in triangles.