Changelogs » Chainladder

PyUp Safety actively tracks 262,873 Python packages for vulnerabilities and notifies you when to upgrade.

Chainladder

0.7.7

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

0.7.6

Enhancements
  * Four Dimensional slicing is now supported.
  python
  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 )
  python
  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)

0.7.5

Enhancements
  * Enabled multi-index broadcasting.
  python
  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](https://chainladder-python.readthedocs.io/en/latest/tutorials/large-datasets.html) tutorial for details
  
  
  Bug fixes
  * Fixed cupy backend which had previously been neglected
  * Fixed xlcompose issue where Period fails when included as column header

0.7.4

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

0.7.3

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.

0.7.2

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
  * `MunichAdjustment`Allow ` 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

0.7.1

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.

0.7.0

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](https://chainladder-python.readthedocs.io/en/latest/modules/tails.htmltails) on Tails.
  * Introduced the deterministic components of [ClarkLDF](https://chainladder-python.readthedocs.io/en/latest/modules/generated/chainladder.ClarkLDF.htmlchainladder.ClarkLDF) and [TailClark](https://chainladder-python.readthedocs.io/en/latest/modules/generated/chainladder.TailClark.htmlchainladder.TailClark) estimators to allow for growth curve selection of development patterns.

0.6.3

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.

0.6.2


        

0.6.1

Bug fixes:
  * Corrected a bug where `TailConstant` couldn't decay when the contant is set to 1.0
  * 71 Fixed issue where ``Pipeline.predict` would not honor the `sample_weight` argument
  Enhancements:
  * 72 Added `drop` method to `Triangle` similar to `pd.DataFrame.drop` for dropping columns
  * Added `xlcompose` yaml templating
  * 74 Dropped link ratios now show as ommitted when callinng `link_ratio` on a `Development` transformed triangle
  * 73 `Triangle.grain` now has a `trailing` argument that will aggregate triangle on a trailing basis

0.6.0

Enhancements
  * Added `TailBondy` method
  * Propagate `std_err_` and `sigma_` on determinsitic tails in line with Mack for better compatibility with `MackChainladder`
  * Improved consistency between `to_frame` and `__repr__` for 2D triangles.
  
  Bug Fixes
  * Fixed a bug where the latest origin period was dropped from `Triangle` initialization when sure data was present
  * resolves 69 where `datetime` was being mishandled when ingested into `Triangle`.

0.5.5

Bug fixes
  * resolves 62 Slicing cdf not working correctly
  * resolves 61 groupby not consistent with pandas
  * resolves 60 Development.drop_high and drop_low. `drop_high` and `drop_low` only drop one observation even if multiple observations match the criteria.
  * resolves a bug in `TailCurve` where the `fit_period` slicer was not indexing properly
  * Better support for the `loc` property of a `Triangle`.
  
  Enhancements:
  * Resolves 64 support pandas>=1.0.0.  `chainladder` now works with `pandas>=1.0.0`
  * New feature 63 fill values for undefined link ratio. `fillna` is a new parameter of the `Development` estimator
  * New feature 58 Attachment age support in Tail methods. `attachment_age` is a new parameter of the `TailCurve` estimator.
  * New feature  59 Add `cl.concat` functionality
  * Added ability to perform arithmetic between a `Triangle` and an `np.ndarray`

0.5.4

Enhancements
  * Resolves 31 Propagate bootstrap process risk.  This should make the `BootstrapODPSample` estimator fully functional.
  * Enhanced `Benktander` and `BornhuetterFerguson` methods to allow for stochastic apriori picks.

0.5.3

Bug fixes
  * `MackChainladder` was incorrectly calculating MSE when dropping link ratios
  * Fixed issue where using `grain` always returned a development triangle even when fed a valuation triangle
  
  Enhancements
  * Added `__round__` and `__pow__` dunder methods
  * Warn on triangles with invalid `origin`/`development` combinations

0.5.2

Bug fix
  * patch to column slicers.

0.5.1

Enhancements:
  * Substantial speed up in triangle initialization for larger triangles
  * Fancy loc/iloc indexing now honors the order the user chooses
  
  Bug fixes:
  * Mack Std Err for tail fix xonsistent with R v0.2.11 fix
  * Valuation triangles should now be JSON serializable
  * Bug in expected loss method `predict` that wasn't rendering prediction results correctly

0.5.0

Enhancements:
  * Full GPU-support using `cupy`.

0.4.10


        

0.4.9

Bugfix
  * quick patch for `Pipeline`

0.4.8

Bug fixes:
  * Fixed an inappropriate mutation in the `Benktander` estimator when calls to `predict` are made
  * Allow for `sample_weight` argument to be directly passed to a `Pipeline`

0.4.7

Enhancements:
  * Added `broadcast_axis` for better `BootstrapODPSample` support

0.4.6

Bug fixes:
  * Eliminated a side-effect in `Development` when using `drop`
  * Improved dropping capabilities of `BootstrapODPSample`

0.4.5

Bug Fixes:
  * Fixed TailCurve shape misaligned 57
  * Fixed triangle json serializers to include all data necessary to recreate triangle
  * Fixed various edge case issues when `len(development) == 1`
  * Fixed `MackChainladder` assymentric triangle support (e.g. `OYDQ`)
  * Fixed `MunichAdjustment` assymentric triangle support (e.g. `OYDQ`)
  * Fixed datetime flexibility on dataframe ingestion into triangle
  
  
  Enhancements:
  * aligned `append` method with pandas
  
  Other:
  * Moved excel exhibit functionality to a separate [xlcomose](https://xlcompose.readthedocs.io/en/latest/index.html) package.

0.4.4

Bug fixes:
  * patched a defect in `Triangle.grain()`
  * patched a defect in exhibits.py pertaining to titles

0.4.3

Bug Fix:
  * Fixed issues in asymmetric triangles
  Enhancement:
  * Replaced `Exhibit` API with `Row`, `Column`, `Tabs`, and `DataFrame`

0.4.2

Bug Fixes:
  Minor release to improved commutative properties of triangle functions (`grain`, `val_to_dev`, `dev_to_val`, `cum_to_incr`, `incr_to_cum`, `latest_diagonal`) for all types of triangles (development triangles, valuation triangles, complerte triangles)

0.4.1

Bug fix
  * patch to asymmetric LDF fix in release 0.4.0
  Enhancement
  * Added `Triangle.dropna()` method that allows shaving off origins/development vectors that are all 0/NA

0.4.0

Enhancements:
  * Added better datetime management when instantiating a triangle
  * Added json serializers for `Triangle` as well as the estimators and `Pipeline`.  These can be accessed with the `to_json` method and `cl.read_json`
  * Added `DevelopmentConstant` estimator that takes LDF or CDF patterns as a dictionary instead of calculating from a triangle.  This is useful for incorporating industry patterns into an analysis
  * General improved functionality for malformed triangles
  * improved memory management by eliminating unnecessary usage of `deepcopy`
  
  
  Bug Fixes:
  * Fixed an issue where LDFs were calculated incorrectly for asymmetric triangles
  * Fixed a bug where slicers weren't working properly after particular mutations (e.g. adding a new column)
  * Arithmetic on triangles with different origin ranges will now take the union of the origin periods.  Previously the intersection was taken.

0.3.0

Enhancements:
  * Added predict functionality IBNR methods
  
  Bug fixes:
  * Fixed mutation in `TriangleGroupBy` aggregate methods
  * Fixed bug in `Triangle.grain` method
  * Fixed issue 43 User-Specified columns should be honored
  * Fixed issue 44 cdf_ labels should be 'xx-Ult'
  * Fixed issue 45 MackChainladder.total_mack_std_error_ TypeError