Systemorph / IFRS17CalculationEngine

Systemorph IFRS 17 Calculation Engine
MIT License
28 stars 5 forks source link

Patterns and EconomicBasis #306

Closed dcolleoni closed 1 year ago

dcolleoni commented 1 year ago
  1. Import Amortization Patterns: as cashflows: Add EstimateType P(Pattern), move CU to AmountType => change files in the template + formulas looking for CU add not mandatory column (Periodicity) which has priority over the one DataNodeParameter.Periodicity. as SingleDataNodeParameter : always provided starting from AnnualCohort (documentation) Periodicity of the pattern matches the Periodicity provided in the same parameter values are stored as they are provided (no interpolation, no normalization).
  2. EconomicBasisDriver : additional property of SingleDataNodeParameter (with attribute Dimension(EconomicBasis))
sbatka commented 1 year ago

This was implemented:

add new EstimateType "P" for Patterns to include AmountTypes "CU"

move CU from EstimateType to AmountType, including the changes to formulae

add 'EconomicBasisDriver' to SingleDataNodeParameters, making it optional

add 'ReleasePattern' to SingleDataNodeParameters, making it optional

with some documentation and validations

check the presence of 'CashFlowPeriodicity' and 'InterpolationMethod' in the cashflow, if available, it will use it. Note this is defined for combination of 'AmountType', 'EstimateType' in the cashflow set. If any of the 2 parameters is not available, it will check the 'DataNode' level, namely 'SingleDataNodeParameter' and use for all AmountTypes and EstimateTypes in the given DataNode. In case no information or invalid data is provided, the default values will be used: CashFlowPeriodicity = Monthly and InterpolationMethod = NotApplicable. add "ContractTerm" to GOC (not connected anywhere for now) add basic unit tests for ReleasePattern values