From 1ba71b24ea9f0d5827704b27874d69fb33c89609 Mon Sep 17 00:00:00 2001 From: Daniel Trzesniak Date: Tue, 6 Dec 2022 12:13:03 +0100 Subject: [PATCH 01/37] base data --- ...aNodeParameters_ActualsCase_CH_2020_12.csv | 12 ++++ .../DataNodeStates_ActualsCase_CH_2020_12.csv | 12 ++++ .../DataNodes/DataNodes_ActualsCase_CH.csv | 16 +++++ ifrs17-template/Files/Dimensions.csv | 1 + .../Files/Parameters/YieldCurve.csv | 8 +-- .../Actuals_ActualsCase_CH_2020_12.csv | 55 ++++++++++++++++ .../Actuals_ActualsCase_CH_2021_3.csv | 64 +++++++++++++++++++ ...ominalCashflows_ActualsCase_CH_2020_12.csv | 15 +++++ ...ominalCashflows_ActualsCase_CH_2021_12.csv | 19 ++++++ ...NominalCashflows_ActualsCase_CH_2021_6.csv | 19 ++++++ 10 files changed, 217 insertions(+), 4 deletions(-) create mode 100644 ifrs17-template/Files/DataNodes/DataNodeParameters_ActualsCase_CH_2020_12.csv create mode 100644 ifrs17-template/Files/DataNodes/DataNodeStates_ActualsCase_CH_2020_12.csv create mode 100644 ifrs17-template/Files/DataNodes/DataNodes_ActualsCase_CH.csv create mode 100644 ifrs17-template/Files/TransactionalData/Actuals_ActualsCase_CH_2020_12.csv create mode 100644 ifrs17-template/Files/TransactionalData/Actuals_ActualsCase_CH_2021_3.csv create mode 100644 ifrs17-template/Files/TransactionalData/NominalCashflows_ActualsCase_CH_2020_12.csv create mode 100644 ifrs17-template/Files/TransactionalData/NominalCashflows_ActualsCase_CH_2021_12.csv create mode 100644 ifrs17-template/Files/TransactionalData/NominalCashflows_ActualsCase_CH_2021_6.csv diff --git a/ifrs17-template/Files/DataNodes/DataNodeParameters_ActualsCase_CH_2020_12.csv b/ifrs17-template/Files/DataNodes/DataNodeParameters_ActualsCase_CH_2020_12.csv new file mode 100644 index 00000000..4bebf494 --- /dev/null +++ b/ifrs17-template/Files/DataNodes/DataNodeParameters_ActualsCase_CH_2020_12.csv @@ -0,0 +1,12 @@ +@@Main,, +ReportingNode,Year,Month +CH,2020,12 +,, +@@SingleDataNodeParameter,, +DataNode,PremiumAllocation, +MZ2.1,0.5, +MZ2.2,0.5, +MZ2.3,0.5, +MZ2.4,0.5, +MZ2.5,0.5, +MZ2.6,0.5, diff --git a/ifrs17-template/Files/DataNodes/DataNodeStates_ActualsCase_CH_2020_12.csv b/ifrs17-template/Files/DataNodes/DataNodeStates_ActualsCase_CH_2020_12.csv new file mode 100644 index 00000000..a7f48f65 --- /dev/null +++ b/ifrs17-template/Files/DataNodes/DataNodeStates_ActualsCase_CH_2020_12.csv @@ -0,0 +1,12 @@ +@@Main,, +ReportingNode,Year,Month +CH,2020,12 +,, +@@DataNodeState,, +DataNode,State, +MZ2.1,Active, +MZ2.2,Active, +MZ2.3,Active, +MZ2.4,Active, +MZ2.5,Active, +MZ2.6,Active, diff --git a/ifrs17-template/Files/DataNodes/DataNodes_ActualsCase_CH.csv b/ifrs17-template/Files/DataNodes/DataNodes_ActualsCase_CH.csv new file mode 100644 index 00000000..99dde0af --- /dev/null +++ b/ifrs17-template/Files/DataNodes/DataNodes_ActualsCase_CH.csv @@ -0,0 +1,16 @@ +@@Main,,,,, +ReportingNode,,,,, +CH,,,,, +,,,,, +@@InsurancePortfolio,,,,, +SystemName,DisplayName,ContractualCurrency,LineOfBusiness,ValuationApproach,OciType +MZ2,Actuals Case,CHF,ANN,BBA,Default +,,,,, +@@GroupOfInsuranceContract,,,,, +SystemName,DisplayName,InsurancePortfolio,AnnualCohort,LiabilityType,Profitability +MZ2.1,MZ 2.1 Written,MZ2,2020,LRC,P +MZ2.2,MZ 2.2 OA and CF Premium,MZ2,2020,LRC,P +MZ2.3,MZ 2.3 OA and WO Premium,MZ2,2020,LRC,P +MZ2.4,MZ 2.2 AA and CF Claim,MZ2,2020,LRC,P +MZ2.5,MZ 2.3 AA and WO Claim,MZ2,2020,LRC,P +MZ2.6,MZ 2.2 AA and CF Premium,MZ2,2020,LRC,P diff --git a/ifrs17-template/Files/Dimensions.csv b/ifrs17-template/Files/Dimensions.csv index 63f91bdb..95c57d81 100644 --- a/ifrs17-template/Files/Dimensions.csv +++ b/ifrs17-template/Files/Dimensions.csv @@ -53,6 +53,7 @@ YCU,I,CalculatedTelescopic,4,EndOfPeriod,EndOfPeriod,BeginningOfPeriod,EndOfPeri CRU,I,CalculatedTelescopic,4,EndOfPeriod,EndOfPeriod,EndOfPeriod,EndOfPeriod,EndOfPeriod,80,1900,1 EV,I,Optional,4,EndOfPeriod,EndOfPeriod,EndOfPeriod,EndOfPeriod,EndOfPeriod,90,1900,1 BOP,N,Optional,4,Average,EndOfPeriod,EndOfPeriod,BeginningOfPeriod,EndOfPeriod,100,1900,1 +MC,N,Optional,4,Average,EndOfPeriod,EndOfPeriod,BeginningOfPeriod,EndOfPeriod,105,1900,1 CF,N,Calculated,4,Average,NotApplicable,EndOfPeriod,Delta,EndOfPeriod,110,1900,1 IA,N,Calculated,4,Average,EndOfPeriod,EndOfPeriod,Delta,EndOfPeriod,120,1900,1 AU,N,Optional,4,EndOfPeriod,EndOfPeriod,EndOfPeriod,EndOfPeriod,EndOfPeriod,130,1900,1 diff --git a/ifrs17-template/Files/Parameters/YieldCurve.csv b/ifrs17-template/Files/Parameters/YieldCurve.csv index 892b7ee7..5ff257a7 100644 --- a/ifrs17-template/Files/Parameters/YieldCurve.csv +++ b/ifrs17-template/Files/Parameters/YieldCurve.csv @@ -1,11 +1,11 @@ @@YieldCurve,,,,,, Currency,Year,Month,Values0,Values1,Values2,Values3 EUR,2020,3,0.008685495,0.008685495,0.018498471,0.019966839 -CHF,2020,3,0.002,0.002,0.002,0.002 -CHF,2021,3,0.1,0.1,0.1,0.1 +CHF,2020,3,0,0,0,0 +CHF,2021,3,0,0,0,0 USD,2021,3,0.005,0.005,0.005,0.005 USD,2020,12,0.002,0.002,0.002,0.002 USD,2020,3,0.002,0.002,0.002,0.002 USD,2020,1,0.002,0.002,0.002,0.002 -GBP,2021,3,0.005,0.005,0.005,0.005 -GBP,2020,3,0.002,0.002,0.002,0.002 +GBP,2020,3,0.01,0.015,0.02,0.02 +GBP,2021,3,0.015,0.02,0.02,0.025 diff --git a/ifrs17-template/Files/TransactionalData/Actuals_ActualsCase_CH_2020_12.csv b/ifrs17-template/Files/TransactionalData/Actuals_ActualsCase_CH_2020_12.csv new file mode 100644 index 00000000..ae6b2620 --- /dev/null +++ b/ifrs17-template/Files/TransactionalData/Actuals_ActualsCase_CH_2020_12.csv @@ -0,0 +1,55 @@ +@@Main,,,, +ReportingNode,Year,Month,, +CH,2020,12,, +@@Actual,,,, +DataNode,AocType,ValueType,AccidentYear,Value +DT1.1,CF,PR,,400 +DT1.1,CF,NIC,,-280 +DT1.1,CF,ACA,,-10 +DT1.1,CF,AEA,,-5 +DT1.2,CF,NIC,2020,-280 +DT2.1,CF,PR,,400 +DT2.1,CF,NIC,,-280 +DT2.1,CF,ACA,,-10 +DT2.1,CF,AEA,,-5 +DT1.3,CF,PR,,400 +DT1.3,CF,NIC,,-280 +DT1.3,CF,ACA,,-10 +DT1.3,CF,AEA,,-5 +DT1.4,CF,PR,,400 +DT1.4,CF,NIC,,-280 +DT1.4,CF,ACA,,-10 +DT1.4,CF,AEA,,-5 +DT1.4,CF,PayablePR,,15 +DT1.4,CF,ReceivablePR,,-10 +DT1.4,CF,ReceivableNIC,,-5 +DT1.4,CF,PayableNIC,,8 +DT2.2,CF,NIC,2020,-280 +DTR1.1,CF,PR,,-200 +DTR1.1,CF,NIC,,140 +DTR1.2,CF,NIC,2020,140 +DTR2.1,CF,PR,,-200 +DTR2.1,CF,NIC,,140 +DTR2.2,CF,NIC,2020,140 +DT3.1,CF,PR,,400 +DT3.1,CF,NIC,,-280 +DT3.1,CF,ACA,,-10 +DT3.1,CF,AEA,,-5 +DT4.1,CF,PR,,400 +DT4.1,CF,NIC,,-280 +DT4.1,CF,ACA,,-10 +DT4.1,CF,AEA,,-5 +DT1.5,CF,PR,,400 +DT1.5,CF,NIC,,-280 +DT1.5,CF,ACA,,-10 +DT1.5,CF,AEA,,-5 +DT1.5,CF,ReceivablePR,,-10 +DTR1.3,CF,PR,,-200 +DTR1.3,CF,NIC,,140 +DTR1.3,CF,RiPayablePR,,7.5 +DTR1.3,CF,RiReceivablePR,,-5 +DTR1.3,CF,RiReceivableNIC,,-2.5 +DTR1.3,CF,RiPayableNIC,,4 +DTR1.4,CF,PR,,-200 +DTR1.4,CF,NIC,,140 +DTR1.4,CF,RiReceivableNIC,,-10 diff --git a/ifrs17-template/Files/TransactionalData/Actuals_ActualsCase_CH_2021_3.csv b/ifrs17-template/Files/TransactionalData/Actuals_ActualsCase_CH_2021_3.csv new file mode 100644 index 00000000..fb0bebcb --- /dev/null +++ b/ifrs17-template/Files/TransactionalData/Actuals_ActualsCase_CH_2021_3.csv @@ -0,0 +1,64 @@ +@@Main,,,, +ReportingNode,Year,Month,, +CH,2021,3,, +@@Actual,,,, +DataNode,AocType,ValueType,AccidentYear,Value +DT1.1,CF,PR,,90 +DT1.1,CF,ICO,,-6 +DT1.1,CF,NIC,,-70 +DT1.1,CF,ACA,,-10 +DT1.1,CF,AEA,,-5 +DT1.2,CF,NIC,2020,-76 +DT1.3,CF,PR,,90 +DT1.3,CF,ICO,,-6 +DT1.3,CF,NIC,,-70 +DT1.3,CF,ACA,,-10 +DT1.3,CF,AEA,,-5 +DT2.1,CF,PR,,90 +DT2.1,CF,ICO,,-6 +DT2.1,CF,NIC,,-70 +DT2.1,CF,ACA,,-10 +DT2.1,CF,AEA,,-5 +DT2.2,CF,NIC,2020,-76 +DTR1.1,CF,PR,,-45 +DTR1.1,CF,NIC,,35 +DTR1.2,CF,NIC,2020,35 +DTR2.1,CF,PR,,-45 +DTR2.1,CF,NIC,,35 +DTR2.2,CF,NIC,2020,35 +DT3.1,CF,PR,,90 +DT3.1,CF,ICO,,-6 +DT3.1,CF,NIC,,-70 +DT3.1,CF,ACA,,-10 +DT3.1,CF,AEA,,-5 +DT4.1,CF,PR,,90 +DT4.1,CF,ICO,,-6 +DT4.1,CF,NIC,,-70 +DT4.1,CF,ACA,,-10 +DT4.1,CF,AEA,,-5 +DT1.4,WO,ReceivablePR,,7 +DT1.4,WO,ReceivableNIC,,5 +DT1.4,CF,PayablePR,,5 +DT1.4,CF,ReceivablePR,,3 +DT1.4,CF,PayableNIC,,-8 +DT1.4,CF,PR,,90 +DT1.4,CF,ICO,,-6 +DT1.4,CF,NIC,,-70 +DT1.4,CF,ACA,,-10 +DT1.4,CF,AEA,,-5 +DT1.5,WO,ReceivablePR,,10 +DT1.5,CF,PR,,90 +DT1.5,CF,ICO,,-6 +DT1.5,CF,NIC,,-70 +DT1.5,CF,ACA,,-10 +DT1.5,CF,AEA,,-5 +DTR1.3,CF,PR,,-45 +DTR1.3,CF,NIC,,35 +DTR1.3,WO,RiReceivablePR,,3.5 +DTR1.3,WO,RiReceivableNIC,,2.5 +DTR1.3,CF,RiPayablePR,,2.5 +DTR1.3,CF,RiReceivablePR,,1.5 +DTR1.3,CF,RiPayableNIC,,-4 +DTR1.4,CF,PR,,-45 +DTR1.4,CF,NIC,,35 +DTR1.4,WO,RiReceivableNIC,,10 diff --git a/ifrs17-template/Files/TransactionalData/NominalCashflows_ActualsCase_CH_2020_12.csv b/ifrs17-template/Files/TransactionalData/NominalCashflows_ActualsCase_CH_2020_12.csv new file mode 100644 index 00000000..3d25bd00 --- /dev/null +++ b/ifrs17-template/Files/TransactionalData/NominalCashflows_ActualsCase_CH_2020_12.csv @@ -0,0 +1,15 @@ +@@Main,,,,,,,,,,,,,,,,,,,,,,,,,,,, +ReportingNode,Year,Month,Scenario,,,,,,,,,,,,,,,,,,,,,,,,, +CH,2020,12,,,,,,,,,,,,,,,,,,,,,,,,,, +@@Cashflow,,,,,,,,,,,,,,,,,,,,,,,,,,,, +DataNode,AmountType,AocType,Novelty,AccidentYear,Values0,Values1,Values2,Values3,Values4,Values5,Values6,Values7,Values8,Values9,Values10,Values11,Values12,Values13,Values14,Values15,Values16,Values17,Values18,Values19,Values20,Values21,Values22,Values23 +MZ2.1,PR,BOP,N,,100,0,0,100,0,0,100,0,0,100,0,0,100,0,0,100,0,0,100,0,0,100,0,0 +MZ2.1,NIC,BOP,N,,-15,-15,-15,-30,-30,-45,-45,-30,-30,-15,-15,-15,-15,-15,-15,-30,-30,-45,-45,-30,-30,-15,-15,-15 +MZ2.1,CU,BOP,N,,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5 +MZ2.1,RA,BOP,N,,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5 +MZ2.1,PR,EV,N,,0,0,0,0,0,0,0,0,0,0,0,0,105,0,0,105,0,0,105,0,0,105,0,0 +MZ2.1,NIC,EV,N,,0,0,0,0,0,0,0,0,0,0,0,0,-15,-15,-15,-35,-35,-45,-45,-35,-35,-15,-15,-15 +MZ2.1,PR,CL,C,,0,0,0,0,0,0,0,0,0,0,0,0,105,0,0,105,0,0,105,0,0,105,0,0 +MZ2.1,NIC,CL,C,,0,0,0,0,0,0,0,0,0,0,0,0,-15,-15,-15,-35,-35,-45,-45,-35,-35,-15,-15,-15 +MZ2.1,CU,CL,C,,0,0,0,0,0,0,0,0,0,0,0,0,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5 +MZ2.1,RA,CL,C,,0,0,0,0,0,0,0,0,0,0,0,0,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5 diff --git a/ifrs17-template/Files/TransactionalData/NominalCashflows_ActualsCase_CH_2021_12.csv b/ifrs17-template/Files/TransactionalData/NominalCashflows_ActualsCase_CH_2021_12.csv new file mode 100644 index 00000000..6edda438 --- /dev/null +++ b/ifrs17-template/Files/TransactionalData/NominalCashflows_ActualsCase_CH_2021_12.csv @@ -0,0 +1,19 @@ +@@Main,,,,,,,,,,,,,,,, +ReportingNode,Year,Month,,,,,,,,,,,,,, +CH,2021,12,,,,,,,,,,,,,, +@@Cashflow,,,,,,,,,,,,,,,, +DataNode,AmountType,AocType,Novelty,AccidentYear,Values0,Values1,Values2,Values3,Values4,Values5,Values6,Values7,Values8,Values9,Values10,Values11 +MZ2.1,PR,MC,I,,102,0,0,102,0,0,102,0,0,102,0,0 +MZ2.1,NIC,MC,I,,-15,-15,-15,-40,-40,-45,-45,-40,-40,-15,-15,-15 +MZ2.1,RA,MC,I,,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2 +MZ2.1,PR,BOP,N,,52.5,0,0,52.5,0,0,0,0,0,0,0,0 +MZ2.1,NIC,BOP,N,,-3.75,-3.75,-3.75,-8.75,-8.75,-11.25,-11.25,-8.75,-8.75,-3.75,-3.75,-3.75 +MZ2.1,CU,BOP,N,,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25 +MZ2.1,RA,BOP,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +MZ2.1,PR,MC,N,,51,0,0,51,0,0,0,0,0,0,0,0 +MZ2.1,NIC,MC,N,,-5,-5,-5,-10,-10,-20,-20,-10,-10,-5,-5,-5 +MZ2.1,RA,MC,N,,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25 +MZ2.1,PR,CL,C,,0,0,0,0,0,0,0,0,0,0,0,0 +MZ2.1,NIC,CL,C,,0,0,0,0,0,0,0,0,0,0,0,0 +MZ2.1,CU,CL,C,,0,0,0,0,0,0,0,0,0,0,0,0 +MZ2.1,RA,CL,C,,0,0,0,0,0,0,0,0,0,0,0,0 diff --git a/ifrs17-template/Files/TransactionalData/NominalCashflows_ActualsCase_CH_2021_6.csv b/ifrs17-template/Files/TransactionalData/NominalCashflows_ActualsCase_CH_2021_6.csv new file mode 100644 index 00000000..fe024573 --- /dev/null +++ b/ifrs17-template/Files/TransactionalData/NominalCashflows_ActualsCase_CH_2021_6.csv @@ -0,0 +1,19 @@ +@@Main,,,,,,,,,,,,,,,, +ReportingNode,Year,Month,,,,,,,,,,,,,, +CH,2021,6,,,,,,,,,,,,,, +@@Cashflow,,,,,,,,,,,,,,,, +DataNode,AmountType,AocType,Novelty,AccidentYear,Values0,Values1,Values2,Values3,Values4,Values5,Values6,Values7,Values8,Values9,Values10,Values11 +MZ2.1,PR,MC,I,,100,0,0,100,0,0,100,0,0,100,0,0 +MZ2.1,NIC,MC,I,,-15,-15,-15,-40,-40,-45,-45,-40,-40,-15,-15,-15 +MZ2.1,RA,MC,I,,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2 +MZ2.1,PR,BOP,N,,52.5,0,0,52.5,0,0,0,0,0,0,0,0 +MZ2.1,NIC,BOP,N,,-3.75,-3.75,-3.75,-8.75,-8.75,-11.25,-11.25,-8.75,-8.75,-3.75,-3.75,-3.75 +MZ2.1,CU,BOP,N,,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25 +MZ2.1,RA,BOP,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +MZ2.1,PR,MC,N,,50,0,0,50,0,0,0,0,0,0,0,0 +MZ2.1,NIC,MC,N,,-5,-5,-5,-10,-10,-20,-20,-10,-10,-5,-5,-5 +MZ2.1,RA,MC,N,,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25 +MZ2.1,PR,CL,C,,0,0,0,0,0,0,100,0,0,100,0,0 +MZ2.1,NIC,CL,C,,0,0,0,0,0,0,-65,-50,-50,-20,-20,-20 +MZ2.1,CU,CL,C,,0,0,0,0,0,0,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25 +MZ2.1,RA,CL,C,,0,0,0,0,0,0,-3.25,-3.25,-3.25,-3.25,-3.25,-3.25 From f285ac900abecb8ae3d3b64fcf700211253c9446 Mon Sep 17 00:00:00 2001 From: Daniel Trzesniak Date: Tue, 6 Dec 2022 16:33:32 +0100 Subject: [PATCH 02/37] Fix CU --- .../NominalCashflows_ActualsCase_CH_2020_12.csv | 2 ++ .../NominalCashflows_ActualsCase_CH_2021_12.csv | 2 ++ .../NominalCashflows_ActualsCase_CH_2021_6.csv | 2 ++ 3 files changed, 6 insertions(+) diff --git a/ifrs17-template/Files/TransactionalData/NominalCashflows_ActualsCase_CH_2020_12.csv b/ifrs17-template/Files/TransactionalData/NominalCashflows_ActualsCase_CH_2020_12.csv index 3d25bd00..859116be 100644 --- a/ifrs17-template/Files/TransactionalData/NominalCashflows_ActualsCase_CH_2020_12.csv +++ b/ifrs17-template/Files/TransactionalData/NominalCashflows_ActualsCase_CH_2020_12.csv @@ -9,6 +9,8 @@ MZ2.1,CU,BOP,N,,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-5,-5,-5,-5,-5,- MZ2.1,RA,BOP,N,,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5 MZ2.1,PR,EV,N,,0,0,0,0,0,0,0,0,0,0,0,0,105,0,0,105,0,0,105,0,0,105,0,0 MZ2.1,NIC,EV,N,,0,0,0,0,0,0,0,0,0,0,0,0,-15,-15,-15,-35,-35,-45,-45,-35,-35,-15,-15,-15 +MZ2.1,CU,EV,N,,0,0,0,0,0,0,0,0,0,0,0,0,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5 +MZ2.1,RA,EV,N,,0,0,0,0,0,0,0,0,0,0,0,0,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5 MZ2.1,PR,CL,C,,0,0,0,0,0,0,0,0,0,0,0,0,105,0,0,105,0,0,105,0,0,105,0,0 MZ2.1,NIC,CL,C,,0,0,0,0,0,0,0,0,0,0,0,0,-15,-15,-15,-35,-35,-45,-45,-35,-35,-15,-15,-15 MZ2.1,CU,CL,C,,0,0,0,0,0,0,0,0,0,0,0,0,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5 diff --git a/ifrs17-template/Files/TransactionalData/NominalCashflows_ActualsCase_CH_2021_12.csv b/ifrs17-template/Files/TransactionalData/NominalCashflows_ActualsCase_CH_2021_12.csv index 6edda438..17d50544 100644 --- a/ifrs17-template/Files/TransactionalData/NominalCashflows_ActualsCase_CH_2021_12.csv +++ b/ifrs17-template/Files/TransactionalData/NominalCashflows_ActualsCase_CH_2021_12.csv @@ -5,6 +5,7 @@ CH,2021,12,,,,,,,,,,,,,, DataNode,AmountType,AocType,Novelty,AccidentYear,Values0,Values1,Values2,Values3,Values4,Values5,Values6,Values7,Values8,Values9,Values10,Values11 MZ2.1,PR,MC,I,,102,0,0,102,0,0,102,0,0,102,0,0 MZ2.1,NIC,MC,I,,-15,-15,-15,-40,-40,-45,-45,-40,-40,-15,-15,-15 +MZ2.1,CU,MC,I,,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5 MZ2.1,RA,MC,I,,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2 MZ2.1,PR,BOP,N,,52.5,0,0,52.5,0,0,0,0,0,0,0,0 MZ2.1,NIC,BOP,N,,-3.75,-3.75,-3.75,-8.75,-8.75,-11.25,-11.25,-8.75,-8.75,-3.75,-3.75,-3.75 @@ -12,6 +13,7 @@ MZ2.1,CU,BOP,N,,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.2 MZ2.1,RA,BOP,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 MZ2.1,PR,MC,N,,51,0,0,51,0,0,0,0,0,0,0,0 MZ2.1,NIC,MC,N,,-5,-5,-5,-10,-10,-20,-20,-10,-10,-5,-5,-5 +MZ2.1,CU,MC,N,,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25 MZ2.1,RA,MC,N,,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25 MZ2.1,PR,CL,C,,0,0,0,0,0,0,0,0,0,0,0,0 MZ2.1,NIC,CL,C,,0,0,0,0,0,0,0,0,0,0,0,0 diff --git a/ifrs17-template/Files/TransactionalData/NominalCashflows_ActualsCase_CH_2021_6.csv b/ifrs17-template/Files/TransactionalData/NominalCashflows_ActualsCase_CH_2021_6.csv index fe024573..9b3c48c8 100644 --- a/ifrs17-template/Files/TransactionalData/NominalCashflows_ActualsCase_CH_2021_6.csv +++ b/ifrs17-template/Files/TransactionalData/NominalCashflows_ActualsCase_CH_2021_6.csv @@ -5,6 +5,7 @@ CH,2021,6,,,,,,,,,,,,,, DataNode,AmountType,AocType,Novelty,AccidentYear,Values0,Values1,Values2,Values3,Values4,Values5,Values6,Values7,Values8,Values9,Values10,Values11 MZ2.1,PR,MC,I,,100,0,0,100,0,0,100,0,0,100,0,0 MZ2.1,NIC,MC,I,,-15,-15,-15,-40,-40,-45,-45,-40,-40,-15,-15,-15 +MZ2.1,CU,MC,I,,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5 MZ2.1,RA,MC,I,,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2 MZ2.1,PR,BOP,N,,52.5,0,0,52.5,0,0,0,0,0,0,0,0 MZ2.1,NIC,BOP,N,,-3.75,-3.75,-3.75,-8.75,-8.75,-11.25,-11.25,-8.75,-8.75,-3.75,-3.75,-3.75 @@ -12,6 +13,7 @@ MZ2.1,CU,BOP,N,,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.2 MZ2.1,RA,BOP,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 MZ2.1,PR,MC,N,,50,0,0,50,0,0,0,0,0,0,0,0 MZ2.1,NIC,MC,N,,-5,-5,-5,-10,-10,-20,-20,-10,-10,-5,-5,-5 +MZ2.1,CU,MC,N,,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25 MZ2.1,RA,MC,N,,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25 MZ2.1,PR,CL,C,,0,0,0,0,0,0,100,0,0,100,0,0 MZ2.1,NIC,CL,C,,0,0,0,0,0,0,-65,-50,-50,-20,-20,-20 From fb6998fb7d953e5f2c3c2721e3262f52c38315aa Mon Sep 17 00:00:00 2001 From: Daniel Trzesniak Date: Tue, 6 Dec 2022 17:06:02 +0100 Subject: [PATCH 03/37] Reports --- .../Report/ActualsUseCaseReports.ipynb | 833 ++++++++++++++++++ 1 file changed, 833 insertions(+) create mode 100644 ifrs17-template/Report/ActualsUseCaseReports.ipynb diff --git a/ifrs17-template/Report/ActualsUseCaseReports.ipynb b/ifrs17-template/Report/ActualsUseCaseReports.ipynb new file mode 100644 index 00000000..4a976093 --- /dev/null +++ b/ifrs17-template/Report/ActualsUseCaseReports.ipynb @@ -0,0 +1,833 @@ +{ + "metadata": { + "authors": [], + "kernelspec": { + "display_name": "Formula Framework", + "language": "C#", + "name": "C#" + }, + "language_info": { + "file_extension": ".cs", + "mimetype": "text/plain", + "name": "C#" + }, + "toc-autonumbering": "True", + "toc-showcode": "False" + }, + "nbformat": 4, + "nbformat_minor": 5, + "cells": [ + { + "cell_type": "markdown", + "source": [ + "

Actuals Case

" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "In this case study we look at actuals" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "# Set up data and configuration" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "#!import \"../Initialization/InitSystemorphRefDataToMemory\"" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "Workspace.Reset(x => x.ResetInitializationRules().ResetCurrentPartitions());", + "\nWorkspace.InitializeFrom(DataSource);" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "await Import.FromFile(\"../Files/DataNodes/DataNodes_ActualsCase_CH.csv\").WithFormat(ImportFormats.DataNode).WithTarget(DataSource).ExecuteAsync()" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "await Import.FromFile(\"../Files/DataNodes/DataNodeStates_ActualsCase_CH_2020_12.csv\").WithFormat(ImportFormats.DataNodeState).WithTarget(DataSource).ExecuteAsync()" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "await Import.FromFile(\"../Files/DataNodes/DataNodeParameters_ActualsCase_CH_2020_12.csv\").WithFormat(ImportFormats.DataNodeParameter).WithTarget(DataSource).ExecuteAsync()" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "Workspace.Reset(x => x.ResetInitializationRules().ResetCurrentPartitions());", + "\nWorkspace.InitializeFrom(DataSource);" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "Workspace.Reset(x => x.ResetCurrentPartitions().ResetType().ResetType().ResetType())" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "await Import.FromFile(\"../Files/TransactionalData/NominalCashflows_ActualsCase_CH_2020_12.csv\").WithFormat(ImportFormats.Cashflow).WithTarget(DataSource).ExecuteAsync()" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "await Import.FromFile(\"../Files/TransactionalData/NominalCashflows_ActualsCase_CH_2021_6.csv\").WithFormat(ImportFormats.Cashflow).WithTarget(DataSource).ExecuteAsync()" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "await Import.FromFile(\"../Files/TransactionalData/NominalCashflows_ActualsCase_CH_2021_12.csv\").WithFormat(ImportFormats.Cashflow).WithTarget(DataSource).ExecuteAsync()" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "Workspace.Reset(x => x.ResetInitializationRules().ResetCurrentPartitions());" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "Workspace.InitializeFrom(DataSource);", + "\nifrs17.Reset(Workspace)" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "# Best Estimate Present Value of Cashflows", + "\n", + "\n" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "## 2020 12" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "var pv = ifrs17.PresentValues;", + "\npv.ReportingNode = \"CH\";", + "\npv.ReportingPeriod = (2020, 12);", + "\npv.CurrencyType = CurrencyType.Contractual;", + "\npv.ColumnSlices = new string[]{\"GroupOfContract\", \"AmountType\"};//\"GroupOfContract\", \"AmountType\"", + "\npv.DataFilter = new []{ (\"GroupOfContract\", \"MZ2.1\") };", + "\n(await pv.ToReportAsync) with {Height = 720}" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "## 2021 6" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "var pv = ifrs17.PresentValues;", + "\npv.ReportingNode = \"CH\";", + "\npv.ReportingPeriod = (2021, 6);", + "\npv.CurrencyType = CurrencyType.Contractual;", + "\npv.ColumnSlices = new string[]{\"GroupOfContract\", \"AmountType\"};//\"GroupOfContract\", \"AmountType\"", + "\npv.DataFilter = new []{ (\"GroupOfContract\", \"MZ2.1\") };", + "\n(await pv.ToReportAsync) with {Height = 720}" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "## 2021 12" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "var pv = ifrs17.PresentValues;", + "\npv.ReportingNode = \"CH\";", + "\npv.ReportingPeriod = (2021, 12);", + "\npv.CurrencyType = CurrencyType.Contractual;", + "\npv.ColumnSlices = new string[]{\"GroupOfContract\", \"AmountType\"};//\"GroupOfContract\", \"AmountType\"", + "\npv.DataFilter = new []{ (\"GroupOfContract\", \"MZ2.1\") };", + "\n(await pv.ToReportAsync) with {Height = 720}" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "# Risk Adjustment" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "## 2020 12" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "var ra = ifrs17.RiskAdjustments;", + "\nra.ReportingNode = \"CH\";", + "\nra.ReportingPeriod = (2020, 12);", + "\nra.ColumnSlices = new string[]{};//\"GroupOfContract\", \"EconomicBasis\"", + "\nra.DataFilter = new []{ (\"GroupOfContract\", \"MZ2.1\") };", + "\n(await ra.ToReportAsync) with {Height = 800}" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "## 2021 6" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "var ra = ifrs17.RiskAdjustments;", + "\nra.ReportingNode = \"CH\";", + "\nra.ReportingPeriod = (2021, 6);", + "\nra.ColumnSlices = new string[]{};//\"GroupOfContract\", \"EconomicBasis\"", + "\nra.DataFilter = new []{ (\"GroupOfContract\", \"MZ2.1\") };", + "\n(await ra.ToReportAsync) with {Height = 800}" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "## 2021 12" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "var ra = ifrs17.RiskAdjustments;", + "\nra.ReportingNode = \"CH\";", + "\nra.ReportingPeriod = (2021, 12);", + "\nra.ColumnSlices = new string[]{};//\"GroupOfContract\", \"EconomicBasis\"", + "\nra.DataFilter = new []{ (\"GroupOfContract\", \"MZ2.1\") };", + "\n(await ra.ToReportAsync) with {Height = 800}" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "# Written Actuals", + "\n", + "\n[Written Actuals](https://portal.systemorph.cloud/project/ifrs17/env/v1.0.0/Report/ReportScopes#written-accrual-deferral) are shown here. ", + "\n", + "\nIn this case, the analysis of change view is replaced with a default slice by the **AmountTypes**. Only the amount type with non zero value are displayed. ", + "\n
Filters can be applied to reports in order to isolate a sub-set of the data. They are specified by the name of the dimension to filter and the system name of the desired value. For example, to investigate the contribution of a single Group of Contract the following filter can be applied: new [] {(\"GroupOfContract\", \"DT1.1\")}." + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "var writtenActual = ifrs17.WrittenActuals;", + "\nwrittenActual.ReportingNode = \"CH\";", + "\nwrittenActual.ReportingPeriod = (2021, 3);", + "\nwrittenActual.ColumnSlices = new string[]{};//\"GroupOfContract\"", + "\nwrittenActual.DataFilter = null; //new [] {(\"GroupOfContract\", \"DT1.1\")};", + "\n(await writtenActual.ToReportAsync) with {Height = 400}" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "## Advance, Overdue Actuals", + "\n", + "\nActuals payed in [Advance](https://portal.systemorph.cloud/project/ifrs17/env/v1.0.0/Report/ReportScopes#written-accrual-deferral)", + "\nor [Overdue](https://portal.systemorph.cloud/project/ifrs17/env/v1.0.0/Report/ReportScopes#written-accrual-deferral) are shown here together in a simplified Analysis of Change. ", + "\n", + "\nCombining Filters and ColumnSlices facilitate the report analysis. For example, you can select \"GroupOfContract\" as column slices with a Filter on EstimateType \"AA\" to analyse the Advance Actuals for all Group of Contract. " + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "var accrualActual = ifrs17.AccrualActuals;", + "\naccrualActual.ReportingNode = \"CH\";", + "\naccrualActual.ReportingPeriod = (2021, 3);", + "\naccrualActual.ColumnSlices = new string[]{};//\"GroupOfContract\", \"AmountType\"", + "\naccrualActual.DataFilter = null; //new [] {(\"EstimateType\", \"AA\")};", + "\n(await accrualActual.ToReportAsync) with {Height = 400}" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "## Deferrable Actuals", + "\n", + "\n[Deferrable Actuals](https://portal.systemorph.cloud/project/ifrs17/env/v1.0.0/Report/ReportScopes#written-accrual-deferral) are shown here. Amortization of the deferrable amount is computed using the Coverage Unit pattern. " + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "var deferrableActual = ifrs17.DeferralActuals;", + "\ndeferrableActual.ReportingNode = \"CH\";", + "\ndeferrableActual.ReportingPeriod = (2021, 3);", + "\ndeferrableActual.ColumnSlices = new string[]{};//\"GroupOfContract\", \"AmountType\"", + "\ndeferrableActual.DataFilter = null;//new [] {(\"GroupOfContract\", \"DT1.1\")};", + "\n(await deferrableActual.ToReportAsync) with {Height = 400}" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "# Fulfilment Cash flow" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "## 2020 12" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "var fulfillmentCashflows = ifrs17.FulfillmentCashflows;", + "\nfulfillmentCashflows.ReportingNode = \"CH\";", + "\nfulfillmentCashflows.ReportingPeriod = (2020, 12);", + "\nfulfillmentCashflows.ColumnSlices = new string[]{\"EstimateType\"};", + "\nfulfillmentCashflows.DataFilter = new []{ (\"GroupOfContract\", \"MZ2.1\") };", + "\n(await fulfillmentCashflows.ToReportAsync) with {Height = 750}" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "## 2020 6" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "var fulfillmentCashflows = ifrs17.FulfillmentCashflows;", + "\nfulfillmentCashflows.ReportingNode = \"CH\";", + "\nfulfillmentCashflows.ReportingPeriod = (2021, 6);", + "\nfulfillmentCashflows.ColumnSlices = new string[]{\"EstimateType\"};", + "\nfulfillmentCashflows.DataFilter = new []{ (\"GroupOfContract\", \"MZ2.1\") };", + "\n(await fulfillmentCashflows.ToReportAsync) with {Height = 750}" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "## 2021 12" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "var fulfillmentCashflows = ifrs17.FulfillmentCashflows;", + "\nfulfillmentCashflows.ReportingNode = \"CH\";", + "\nfulfillmentCashflows.ReportingPeriod = (2021, 12);", + "\nfulfillmentCashflows.ColumnSlices = new string[]{\"EstimateType\"};", + "\nfulfillmentCashflows.DataFilter = new []{ (\"GroupOfContract\", \"MZ2.1\") };", + "\n(await fulfillmentCashflows.ToReportAsync) with {Height = 750}" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "# Actuarial Experience Adjustment" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "## 2020 12" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "var experienceAdjustments = ifrs17.ExperienceAdjustments;", + "\nexperienceAdjustments.ReportingNode = \"CH\";", + "\nexperienceAdjustments.ReportingPeriod = (2020, 12);", + "\nexperienceAdjustments.ColumnSlices = new string[]{};//\"GroupOfContract\", \"AmountType\"", + "\nexperienceAdjustments.DataFilter = new []{ (\"GroupOfContract\", \"MZ2.1\") };", + "\n(await experienceAdjustments.ToReportAsync) with {Height = 300}" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "## 2021 6" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "var experienceAdjustments = ifrs17.ExperienceAdjustments;", + "\nexperienceAdjustments.ReportingNode = \"CH\";", + "\nexperienceAdjustments.ReportingPeriod = (2021, 6);", + "\nexperienceAdjustments.ColumnSlices = new string[]{};//\"GroupOfContract\", \"AmountType\"", + "\nexperienceAdjustments.DataFilter = new []{ (\"GroupOfContract\", \"MZ2.1\") };", + "\n(await experienceAdjustments.ToReportAsync) with {Height = 300}" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "## 2021 12" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "var experienceAdjustments = ifrs17.ExperienceAdjustments;", + "\nexperienceAdjustments.ReportingNode = \"CH\";", + "\nexperienceAdjustments.ReportingPeriod = (2021, 12);", + "\nexperienceAdjustments.ColumnSlices = new string[]{};//\"GroupOfContract\", \"AmountType\"", + "\nexperienceAdjustments.DataFilter = new []{ (\"GroupOfContract\", \"MZ2.1\") };", + "\n(await experienceAdjustments.ToReportAsync) with {Height = 300}" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "# Contractual Service Margin / Loss Component / Loss Recovery Component" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "## 2020 12" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "var allocatedTechnicalMargins = ifrs17.AllocatedTechnicalMargins;", + "\nallocatedTechnicalMargins.ReportingNode = \"CH\";", + "\nallocatedTechnicalMargins.ReportingPeriod = (2020, 12);", + "\nallocatedTechnicalMargins.ColumnSlices = new string[]{};//\"GroupOfContract\", \"EstimateType\"", + "\nallocatedTechnicalMargins.DataFilter = new []{ (\"GroupOfContract\", \"MZ2.1\") };", + "\n(await allocatedTechnicalMargins.ToReportAsync) with {Height = 700}" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "## 2021 6" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "var allocatedTechnicalMargins = ifrs17.AllocatedTechnicalMargins;", + "\nallocatedTechnicalMargins.ReportingNode = \"CH\";", + "\nallocatedTechnicalMargins.ReportingPeriod = (2021, 6);", + "\nallocatedTechnicalMargins.ColumnSlices = new string[]{};//\"GroupOfContract\", \"EstimateType\"", + "\nallocatedTechnicalMargins.DataFilter = new []{ (\"GroupOfContract\", \"MZ2.1\") };", + "\n(await allocatedTechnicalMargins.ToReportAsync) with {Height = 700}" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "## 2021 12" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "var allocatedTechnicalMargins = ifrs17.AllocatedTechnicalMargins;", + "\nallocatedTechnicalMargins.ReportingNode = \"CH\";", + "\nallocatedTechnicalMargins.ReportingPeriod = (2021, 12);", + "\nallocatedTechnicalMargins.ColumnSlices = new string[]{};//\"GroupOfContract\", \"EstimateType\"", + "\nallocatedTechnicalMargins.DataFilter = new []{ (\"GroupOfContract\", \"MZ2.1\") };", + "\n(await allocatedTechnicalMargins.ToReportAsync) with {Height = 700}" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "# LRC Actuarial" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "## 2020 12" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "var actuarialLrc = ifrs17.ActuarialLrc;", + "\nactuarialLrc.ReportingNode = \"CH\";", + "\nactuarialLrc.ReportingPeriod = (2020, 12);", + "\nactuarialLrc.ColumnSlices = new string[]{};//\"GroupOfContract\"", + "\nactuarialLrc.DataFilter = = new []{ (\"GroupOfContract\", \"MZ2.1\") };", + "\n(await actuarialLrc.ToReportAsync) with {Height = 750}" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "## 2021 6" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "var actuarialLrc = ifrs17.ActuarialLrc;", + "\nactuarialLrc.ReportingNode = \"CH\";", + "\nactuarialLrc.ReportingPeriod = (2021, 6);", + "\nactuarialLrc.ColumnSlices = new string[]{};//\"GroupOfContract\"", + "\nactuarialLrc.DataFilter = = new []{ (\"GroupOfContract\", \"MZ2.1\") };", + "\n(await actuarialLrc.ToReportAsync) with {Height = 750}" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "## 2021 12" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "var actuarialLrc = ifrs17.ActuarialLrc;", + "\nactuarialLrc.ReportingNode = \"CH\";", + "\nactuarialLrc.ReportingPeriod = (2021, 12);", + "\nactuarialLrc.ColumnSlices = new string[]{};//\"GroupOfContract\"", + "\nactuarialLrc.DataFilter = = new []{ (\"GroupOfContract\", \"MZ2.1\") };", + "\n(await actuarialLrc.ToReportAsync) with {Height = 750}" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "# LRC", + "\n", + "\nThe [Liability for Remaining Coverage](https://portal.systemorph.cloud/project/ifrs17/env/v1.0.0/Report/ReportScopes#lrc-liability-for-remaining-coverage) report adds to the [Actuarial Liability for Remaining Coverage](#lrc-actuarial) the contribution of and accrual actuals. A simplified AoC Chain is used to allow comparison of the balance change between Actuals and Present Values. " + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "var lrc = ifrs17.Lrc;", + "\nlrc.ReportingNode = \"CH\";", + "\nlrc.ReportingPeriod = (2021, 3);", + "\nlrc.ColumnSlices = new string[]{};//\"GroupOfContract\",", + "\nlrc.DataFilter = null; //new [] {(\"GroupOfContract\", \"DT1.1\")};", + "\n(await lrc.ToReportAsync) with {Height = 250}" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "# LIC Actuarial", + "\n", + "\nThe [Actuarial Liability of Incurred Claims](https://portal.systemorph.cloud/project/ifrs17/env/v1.0.0/Report/ReportScopes#lic-actuarial-actuarial-liability-for-incurred-claims) report shows figures from Fulfilment Cash flow discounted with current yield curve. " + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "var actuarialLic = ifrs17.ActuarialLic;", + "\nactuarialLic.ReportingNode = \"CH\";", + "\nactuarialLic.ReportingPeriod = (2021, 3);", + "\nactuarialLic.ColumnSlices = new string[]{};//\"GroupOfContract\", \"AmountType\"", + "\nactuarialLic.DataFilter = null; //new [] {(\"GroupOfContract\", \"DT1.1\")};", + "\n(await actuarialLic.ToReportAsync) with {Height = 750}" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "# LIC", + "\n", + "\nThe [Liability for Incurred Claims](https://portal.systemorph.cloud/project/ifrs17/env/v1.0.0/Report/ReportScopes#lic-liability-for-incurred-claims) adds to the [Actuarial Liability for Incurred Claims](#lic-actuarial) the contribution of and accrual actuals." + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "var lic = ifrs17.Lic;", + "\nlic.ReportingNode = \"CH\";", + "\nlic.ReportingPeriod = (2021, 3);", + "\nlic.ColumnSlices = new string[]{};//\"GroupOfContract\", \"AmountType\"", + "\nlic.DataFilter = null; //new [] {(\"GroupOfContract\", \"DT1.1\")};", + "\n(await lic.ToReportAsync) with {Height = 250}" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "# Financial Performance", + "\n", + "\nThe [Financial Performance](https://portal.systemorph.cloud/project/ifrs17/env/v1.0.0/Report/ReportScopes#ifrs-17-financial-performance) report discloses the Change in Estimate of the IFRS 17 balance sheet items ([LRC](#lrc) and [LIC](#lic)) and the relevant incurred cash flows (Premiums, Claims, Expenses, etc...) for the given period.", + "\n", + "\nUse the expand and collapse buttons in the report rows to change the granularity of the figures displayed." + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "var financialPerformance = ifrs17.FinancialPerformance;", + "\nfinancialPerformance.ReportingNode = \"CH\";", + "\nfinancialPerformance.ReportingPeriod = (2021, 3);", + "\nfinancialPerformance.ColumnSlices = new string[]{};//\"GroupOfContract\"", + "\nfinancialPerformance.DataFilter = null; //new [] {(\"GroupOfContract\", \"DT1.1\")};", + "\n(await financialPerformance.ToReportAsync) with { Height = 900, GroupDefaultExpanded = 3}" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + } + ] +} \ No newline at end of file From 9913b900810b2b0d2a6f077ab639be3de23deff4 Mon Sep 17 00:00:00 2001 From: Daniel Trzesniak Date: Wed, 7 Dec 2022 17:33:43 +0100 Subject: [PATCH 04/37] still wrong, but better --- .../Actuals_ActualsCase_CH_2020_12.csv | 52 +-------------- .../Actuals_ActualsCase_CH_2021_12.csv | 7 ++ .../Actuals_ActualsCase_CH_2021_3.csv | 64 ------------------- .../Actuals_ActualsCase_CH_2021_6.csv | 7 ++ ...ominalCashflows_ActualsCase_CH_2020_12.csv | 4 +- ...ominalCashflows_ActualsCase_CH_2021_12.csv | 5 +- ...NominalCashflows_ActualsCase_CH_2021_6.csv | 5 +- 7 files changed, 19 insertions(+), 125 deletions(-) create mode 100644 ifrs17-template/Files/TransactionalData/Actuals_ActualsCase_CH_2021_12.csv delete mode 100644 ifrs17-template/Files/TransactionalData/Actuals_ActualsCase_CH_2021_3.csv create mode 100644 ifrs17-template/Files/TransactionalData/Actuals_ActualsCase_CH_2021_6.csv diff --git a/ifrs17-template/Files/TransactionalData/Actuals_ActualsCase_CH_2020_12.csv b/ifrs17-template/Files/TransactionalData/Actuals_ActualsCase_CH_2020_12.csv index ae6b2620..73e37cd7 100644 --- a/ifrs17-template/Files/TransactionalData/Actuals_ActualsCase_CH_2020_12.csv +++ b/ifrs17-template/Files/TransactionalData/Actuals_ActualsCase_CH_2020_12.csv @@ -3,53 +3,5 @@ ReportingNode,Year,Month,, CH,2020,12,, @@Actual,,,, DataNode,AocType,ValueType,AccidentYear,Value -DT1.1,CF,PR,,400 -DT1.1,CF,NIC,,-280 -DT1.1,CF,ACA,,-10 -DT1.1,CF,AEA,,-5 -DT1.2,CF,NIC,2020,-280 -DT2.1,CF,PR,,400 -DT2.1,CF,NIC,,-280 -DT2.1,CF,ACA,,-10 -DT2.1,CF,AEA,,-5 -DT1.3,CF,PR,,400 -DT1.3,CF,NIC,,-280 -DT1.3,CF,ACA,,-10 -DT1.3,CF,AEA,,-5 -DT1.4,CF,PR,,400 -DT1.4,CF,NIC,,-280 -DT1.4,CF,ACA,,-10 -DT1.4,CF,AEA,,-5 -DT1.4,CF,PayablePR,,15 -DT1.4,CF,ReceivablePR,,-10 -DT1.4,CF,ReceivableNIC,,-5 -DT1.4,CF,PayableNIC,,8 -DT2.2,CF,NIC,2020,-280 -DTR1.1,CF,PR,,-200 -DTR1.1,CF,NIC,,140 -DTR1.2,CF,NIC,2020,140 -DTR2.1,CF,PR,,-200 -DTR2.1,CF,NIC,,140 -DTR2.2,CF,NIC,2020,140 -DT3.1,CF,PR,,400 -DT3.1,CF,NIC,,-280 -DT3.1,CF,ACA,,-10 -DT3.1,CF,AEA,,-5 -DT4.1,CF,PR,,400 -DT4.1,CF,NIC,,-280 -DT4.1,CF,ACA,,-10 -DT4.1,CF,AEA,,-5 -DT1.5,CF,PR,,400 -DT1.5,CF,NIC,,-280 -DT1.5,CF,ACA,,-10 -DT1.5,CF,AEA,,-5 -DT1.5,CF,ReceivablePR,,-10 -DTR1.3,CF,PR,,-200 -DTR1.3,CF,NIC,,140 -DTR1.3,CF,RiPayablePR,,7.5 -DTR1.3,CF,RiReceivablePR,,-5 -DTR1.3,CF,RiReceivableNIC,,-2.5 -DTR1.3,CF,RiPayableNIC,,4 -DTR1.4,CF,PR,,-200 -DTR1.4,CF,NIC,,140 -DTR1.4,CF,RiReceivableNIC,,-10 +MZ2.1,CF,PR,,413 +MZ2.1,CF,NIC,,-311 diff --git a/ifrs17-template/Files/TransactionalData/Actuals_ActualsCase_CH_2021_12.csv b/ifrs17-template/Files/TransactionalData/Actuals_ActualsCase_CH_2021_12.csv new file mode 100644 index 00000000..37c3b9ea --- /dev/null +++ b/ifrs17-template/Files/TransactionalData/Actuals_ActualsCase_CH_2021_12.csv @@ -0,0 +1,7 @@ +@@Main,,,, +ReportingNode,Year,Month,, +CH,2021,12,, +@@Actual,,,, +DataNode,AocType,ValueType,AccidentYear,Value +MZ2.1,CF,PR,,551 +MZ2.1,CF,NIC,,455 diff --git a/ifrs17-template/Files/TransactionalData/Actuals_ActualsCase_CH_2021_3.csv b/ifrs17-template/Files/TransactionalData/Actuals_ActualsCase_CH_2021_3.csv deleted file mode 100644 index fb0bebcb..00000000 --- a/ifrs17-template/Files/TransactionalData/Actuals_ActualsCase_CH_2021_3.csv +++ /dev/null @@ -1,64 +0,0 @@ -@@Main,,,, -ReportingNode,Year,Month,, -CH,2021,3,, -@@Actual,,,, -DataNode,AocType,ValueType,AccidentYear,Value -DT1.1,CF,PR,,90 -DT1.1,CF,ICO,,-6 -DT1.1,CF,NIC,,-70 -DT1.1,CF,ACA,,-10 -DT1.1,CF,AEA,,-5 -DT1.2,CF,NIC,2020,-76 -DT1.3,CF,PR,,90 -DT1.3,CF,ICO,,-6 -DT1.3,CF,NIC,,-70 -DT1.3,CF,ACA,,-10 -DT1.3,CF,AEA,,-5 -DT2.1,CF,PR,,90 -DT2.1,CF,ICO,,-6 -DT2.1,CF,NIC,,-70 -DT2.1,CF,ACA,,-10 -DT2.1,CF,AEA,,-5 -DT2.2,CF,NIC,2020,-76 -DTR1.1,CF,PR,,-45 -DTR1.1,CF,NIC,,35 -DTR1.2,CF,NIC,2020,35 -DTR2.1,CF,PR,,-45 -DTR2.1,CF,NIC,,35 -DTR2.2,CF,NIC,2020,35 -DT3.1,CF,PR,,90 -DT3.1,CF,ICO,,-6 -DT3.1,CF,NIC,,-70 -DT3.1,CF,ACA,,-10 -DT3.1,CF,AEA,,-5 -DT4.1,CF,PR,,90 -DT4.1,CF,ICO,,-6 -DT4.1,CF,NIC,,-70 -DT4.1,CF,ACA,,-10 -DT4.1,CF,AEA,,-5 -DT1.4,WO,ReceivablePR,,7 -DT1.4,WO,ReceivableNIC,,5 -DT1.4,CF,PayablePR,,5 -DT1.4,CF,ReceivablePR,,3 -DT1.4,CF,PayableNIC,,-8 -DT1.4,CF,PR,,90 -DT1.4,CF,ICO,,-6 -DT1.4,CF,NIC,,-70 -DT1.4,CF,ACA,,-10 -DT1.4,CF,AEA,,-5 -DT1.5,WO,ReceivablePR,,10 -DT1.5,CF,PR,,90 -DT1.5,CF,ICO,,-6 -DT1.5,CF,NIC,,-70 -DT1.5,CF,ACA,,-10 -DT1.5,CF,AEA,,-5 -DTR1.3,CF,PR,,-45 -DTR1.3,CF,NIC,,35 -DTR1.3,WO,RiReceivablePR,,3.5 -DTR1.3,WO,RiReceivableNIC,,2.5 -DTR1.3,CF,RiPayablePR,,2.5 -DTR1.3,CF,RiReceivablePR,,1.5 -DTR1.3,CF,RiPayableNIC,,-4 -DTR1.4,CF,PR,,-45 -DTR1.4,CF,NIC,,35 -DTR1.4,WO,RiReceivableNIC,,10 diff --git a/ifrs17-template/Files/TransactionalData/Actuals_ActualsCase_CH_2021_6.csv b/ifrs17-template/Files/TransactionalData/Actuals_ActualsCase_CH_2021_6.csv new file mode 100644 index 00000000..22ed9587 --- /dev/null +++ b/ifrs17-template/Files/TransactionalData/Actuals_ActualsCase_CH_2021_6.csv @@ -0,0 +1,7 @@ +@@Main,,,, +ReportingNode,Year,Month,, +CH,2021,6,, +@@Actual,,,, +DataNode,AocType,ValueType,AccidentYear,Value +MZ2.1,CF,PR,,296 +MZ2.1,CF,NIC,,-221 diff --git a/ifrs17-template/Files/TransactionalData/NominalCashflows_ActualsCase_CH_2020_12.csv b/ifrs17-template/Files/TransactionalData/NominalCashflows_ActualsCase_CH_2020_12.csv index 859116be..54b85648 100644 --- a/ifrs17-template/Files/TransactionalData/NominalCashflows_ActualsCase_CH_2020_12.csv +++ b/ifrs17-template/Files/TransactionalData/NominalCashflows_ActualsCase_CH_2020_12.csv @@ -5,13 +5,11 @@ CH,2020,12,,,,,,,,,,,,,,,,,,,,,,,,,, DataNode,AmountType,AocType,Novelty,AccidentYear,Values0,Values1,Values2,Values3,Values4,Values5,Values6,Values7,Values8,Values9,Values10,Values11,Values12,Values13,Values14,Values15,Values16,Values17,Values18,Values19,Values20,Values21,Values22,Values23 MZ2.1,PR,BOP,N,,100,0,0,100,0,0,100,0,0,100,0,0,100,0,0,100,0,0,100,0,0,100,0,0 MZ2.1,NIC,BOP,N,,-15,-15,-15,-30,-30,-45,-45,-30,-30,-15,-15,-15,-15,-15,-15,-30,-30,-45,-45,-30,-30,-15,-15,-15 -MZ2.1,CU,BOP,N,,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5 MZ2.1,RA,BOP,N,,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5 MZ2.1,PR,EV,N,,0,0,0,0,0,0,0,0,0,0,0,0,105,0,0,105,0,0,105,0,0,105,0,0 MZ2.1,NIC,EV,N,,0,0,0,0,0,0,0,0,0,0,0,0,-15,-15,-15,-35,-35,-45,-45,-35,-35,-15,-15,-15 -MZ2.1,CU,EV,N,,0,0,0,0,0,0,0,0,0,0,0,0,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5 MZ2.1,RA,EV,N,,0,0,0,0,0,0,0,0,0,0,0,0,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5 MZ2.1,PR,CL,C,,0,0,0,0,0,0,0,0,0,0,0,0,105,0,0,105,0,0,105,0,0,105,0,0 MZ2.1,NIC,CL,C,,0,0,0,0,0,0,0,0,0,0,0,0,-15,-15,-15,-35,-35,-45,-45,-35,-35,-15,-15,-15 -MZ2.1,CU,CL,C,,0,0,0,0,0,0,0,0,0,0,0,0,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5 +MZ2.1,CU,CL,C,,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5 MZ2.1,RA,CL,C,,0,0,0,0,0,0,0,0,0,0,0,0,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5 diff --git a/ifrs17-template/Files/TransactionalData/NominalCashflows_ActualsCase_CH_2021_12.csv b/ifrs17-template/Files/TransactionalData/NominalCashflows_ActualsCase_CH_2021_12.csv index 17d50544..68a49327 100644 --- a/ifrs17-template/Files/TransactionalData/NominalCashflows_ActualsCase_CH_2021_12.csv +++ b/ifrs17-template/Files/TransactionalData/NominalCashflows_ActualsCase_CH_2021_12.csv @@ -5,17 +5,14 @@ CH,2021,12,,,,,,,,,,,,,, DataNode,AmountType,AocType,Novelty,AccidentYear,Values0,Values1,Values2,Values3,Values4,Values5,Values6,Values7,Values8,Values9,Values10,Values11 MZ2.1,PR,MC,I,,102,0,0,102,0,0,102,0,0,102,0,0 MZ2.1,NIC,MC,I,,-15,-15,-15,-40,-40,-45,-45,-40,-40,-15,-15,-15 -MZ2.1,CU,MC,I,,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5 MZ2.1,RA,MC,I,,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2 MZ2.1,PR,BOP,N,,52.5,0,0,52.5,0,0,0,0,0,0,0,0 MZ2.1,NIC,BOP,N,,-3.75,-3.75,-3.75,-8.75,-8.75,-11.25,-11.25,-8.75,-8.75,-3.75,-3.75,-3.75 -MZ2.1,CU,BOP,N,,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25 MZ2.1,RA,BOP,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 MZ2.1,PR,MC,N,,51,0,0,51,0,0,0,0,0,0,0,0 MZ2.1,NIC,MC,N,,-5,-5,-5,-10,-10,-20,-20,-10,-10,-5,-5,-5 -MZ2.1,CU,MC,N,,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25 MZ2.1,RA,MC,N,,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25 MZ2.1,PR,CL,C,,0,0,0,0,0,0,0,0,0,0,0,0 MZ2.1,NIC,CL,C,,0,0,0,0,0,0,0,0,0,0,0,0 -MZ2.1,CU,CL,C,,0,0,0,0,0,0,0,0,0,0,0,0 +MZ2.1,CU,CL,C,,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25 MZ2.1,RA,CL,C,,0,0,0,0,0,0,0,0,0,0,0,0 diff --git a/ifrs17-template/Files/TransactionalData/NominalCashflows_ActualsCase_CH_2021_6.csv b/ifrs17-template/Files/TransactionalData/NominalCashflows_ActualsCase_CH_2021_6.csv index 9b3c48c8..eb4e023a 100644 --- a/ifrs17-template/Files/TransactionalData/NominalCashflows_ActualsCase_CH_2021_6.csv +++ b/ifrs17-template/Files/TransactionalData/NominalCashflows_ActualsCase_CH_2021_6.csv @@ -5,17 +5,14 @@ CH,2021,6,,,,,,,,,,,,,, DataNode,AmountType,AocType,Novelty,AccidentYear,Values0,Values1,Values2,Values3,Values4,Values5,Values6,Values7,Values8,Values9,Values10,Values11 MZ2.1,PR,MC,I,,100,0,0,100,0,0,100,0,0,100,0,0 MZ2.1,NIC,MC,I,,-15,-15,-15,-40,-40,-45,-45,-40,-40,-15,-15,-15 -MZ2.1,CU,MC,I,,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5 MZ2.1,RA,MC,I,,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2 MZ2.1,PR,BOP,N,,52.5,0,0,52.5,0,0,0,0,0,0,0,0 MZ2.1,NIC,BOP,N,,-3.75,-3.75,-3.75,-8.75,-8.75,-11.25,-11.25,-8.75,-8.75,-3.75,-3.75,-3.75 -MZ2.1,CU,BOP,N,,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25 MZ2.1,RA,BOP,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 MZ2.1,PR,MC,N,,50,0,0,50,0,0,0,0,0,0,0,0 MZ2.1,NIC,MC,N,,-5,-5,-5,-10,-10,-20,-20,-10,-10,-5,-5,-5 -MZ2.1,CU,MC,N,,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25 MZ2.1,RA,MC,N,,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25 MZ2.1,PR,CL,C,,0,0,0,0,0,0,100,0,0,100,0,0 MZ2.1,NIC,CL,C,,0,0,0,0,0,0,-65,-50,-50,-20,-20,-20 -MZ2.1,CU,CL,C,,0,0,0,0,0,0,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25 +MZ2.1,CU,CL,C,,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25 MZ2.1,RA,CL,C,,0,0,0,0,0,0,-3.25,-3.25,-3.25,-3.25,-3.25,-3.25 From d289966062b08ad07621fdc81a99c8f946a0ce29 Mon Sep 17 00:00:00 2001 From: Daniel Trzesniak Date: Thu, 8 Dec 2022 10:25:12 +0100 Subject: [PATCH 05/37] Fix input --- .../NominalCashflows_ActualsCase_CH_2021_12.csv | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/ifrs17-template/Files/TransactionalData/NominalCashflows_ActualsCase_CH_2021_12.csv b/ifrs17-template/Files/TransactionalData/NominalCashflows_ActualsCase_CH_2021_12.csv index 68a49327..2a053011 100644 --- a/ifrs17-template/Files/TransactionalData/NominalCashflows_ActualsCase_CH_2021_12.csv +++ b/ifrs17-template/Files/TransactionalData/NominalCashflows_ActualsCase_CH_2021_12.csv @@ -4,13 +4,13 @@ CH,2021,12,,,,,,,,,,,,,, @@Cashflow,,,,,,,,,,,,,,,, DataNode,AmountType,AocType,Novelty,AccidentYear,Values0,Values1,Values2,Values3,Values4,Values5,Values6,Values7,Values8,Values9,Values10,Values11 MZ2.1,PR,MC,I,,102,0,0,102,0,0,102,0,0,102,0,0 -MZ2.1,NIC,MC,I,,-15,-15,-15,-40,-40,-45,-45,-40,-40,-15,-15,-15 +MZ2.1,NIC,MC,I,,-15,-15,-15,-45,-45,-40,-40,-40,-40,-15,-15,-15 MZ2.1,RA,MC,I,,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2 MZ2.1,PR,BOP,N,,52.5,0,0,52.5,0,0,0,0,0,0,0,0 -MZ2.1,NIC,BOP,N,,-3.75,-3.75,-3.75,-8.75,-8.75,-11.25,-11.25,-8.75,-8.75,-3.75,-3.75,-3.75 +MZ2.1,NIC,BOP,N,,-3.75,-3.75,-3.75,-11.25,-11.25,-8.75,-8.75,-8.75,-8.75,-3.75,-3.75,-3.75 MZ2.1,RA,BOP,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 MZ2.1,PR,MC,N,,51,0,0,51,0,0,0,0,0,0,0,0 -MZ2.1,NIC,MC,N,,-5,-5,-5,-10,-10,-20,-20,-10,-10,-5,-5,-5 +MZ2.1,NIC,MC,N,,-5,-5,-5,-20,-20,-10,-10,-10,-10,-5,-5,-5 MZ2.1,RA,MC,N,,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25 MZ2.1,PR,CL,C,,0,0,0,0,0,0,0,0,0,0,0,0 MZ2.1,NIC,CL,C,,0,0,0,0,0,0,0,0,0,0,0,0 From 75145985562e7181bc68a176556cb84a1d3fce4e Mon Sep 17 00:00:00 2001 From: Daniel Trzesniak Date: Thu, 8 Dec 2022 10:28:08 +0100 Subject: [PATCH 06/37] Reports --- .../Report/ActualsUseCaseReports.ipynb | 193 +++++++++++------- 1 file changed, 122 insertions(+), 71 deletions(-) diff --git a/ifrs17-template/Report/ActualsUseCaseReports.ipynb b/ifrs17-template/Report/ActualsUseCaseReports.ipynb index 4a976093..38dab1db 100644 --- a/ifrs17-template/Report/ActualsUseCaseReports.ipynb +++ b/ifrs17-template/Report/ActualsUseCaseReports.ipynb @@ -118,6 +118,15 @@ "execution_count": 0, "outputs": [] }, + { + "cell_type": "code", + "source": [ + "await Import.FromFile(\"../Files/TransactionalData/Actuals_ActualsCase_CH_2020_12.csv\").WithFormat(ImportFormats.Actual).WithTarget(DataSource).ExecuteAsync()" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, { "cell_type": "code", "source": [ @@ -127,6 +136,15 @@ "execution_count": 0, "outputs": [] }, + { + "cell_type": "code", + "source": [ + "await Import.FromFile(\"../Files/TransactionalData/Actuals_ActualsCase_CH_2021_6.csv\").WithFormat(ImportFormats.Actual).WithTarget(DataSource).ExecuteAsync()" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, { "cell_type": "code", "source": [ @@ -136,6 +154,15 @@ "execution_count": 0, "outputs": [] }, + { + "cell_type": "code", + "source": [ + "await Import.FromFile(\"../Files/TransactionalData/Actuals_ActualsCase_CH_2021_12.csv\").WithFormat(ImportFormats.Actual).WithTarget(DataSource).ExecuteAsync()" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, { "cell_type": "code", "source": [ @@ -319,12 +346,39 @@ { "cell_type": "markdown", "source": [ - "# Written Actuals", - "\n", - "\n[Written Actuals](https://portal.systemorph.cloud/project/ifrs17/env/v1.0.0/Report/ReportScopes#written-accrual-deferral) are shown here. ", - "\n", - "\nIn this case, the analysis of change view is replaced with a default slice by the **AmountTypes**. Only the amount type with non zero value are displayed. ", - "\n
Filters can be applied to reports in order to isolate a sub-set of the data. They are specified by the name of the dimension to filter and the system name of the desired value. For example, to investigate the contribution of a single Group of Contract the following filter can be applied: new [] {(\"GroupOfContract\", \"DT1.1\")}." + "# Written Actuals" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "## 2020 12" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "var writtenActual = ifrs17.WrittenActuals;", + "\nwrittenActual.ReportingNode = \"CH\";", + "\nwrittenActual.ReportingPeriod = (2020, 12);", + "\nwrittenActual.ColumnSlices = new string[]{};//\"GroupOfContract\"", + "\nwrittenActual.DataFilter = new []{ (\"GroupOfContract\", \"MZ2.1\") };", + "\n(await writtenActual.ToReportAsync) with {Height = 400}" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "## 2020 6" ], "metadata": {}, "execution_count": 0, @@ -335,9 +389,32 @@ "source": [ "var writtenActual = ifrs17.WrittenActuals;", "\nwrittenActual.ReportingNode = \"CH\";", - "\nwrittenActual.ReportingPeriod = (2021, 3);", + "\nwrittenActual.ReportingPeriod = (2021, 6);", "\nwrittenActual.ColumnSlices = new string[]{};//\"GroupOfContract\"", - "\nwrittenActual.DataFilter = null; //new [] {(\"GroupOfContract\", \"DT1.1\")};", + "\nwrittenActual.DataFilter = new []{ (\"GroupOfContract\", \"MZ2.1\") };", + "\n(await writtenActual.ToReportAsync) with {Height = 400}" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "## 2021 12" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "var writtenActual = ifrs17.WrittenActuals;", + "\nwrittenActual.ReportingNode = \"CH\";", + "\nwrittenActual.ReportingPeriod = (2021, 12);", + "\nwrittenActual.ColumnSlices = new string[]{};//\"GroupOfContract\"", + "\nwrittenActual.DataFilter = new []{ (\"GroupOfContract\", \"MZ2.1\") };", "\n(await writtenActual.ToReportAsync) with {Height = 400}" ], "metadata": {}, @@ -432,7 +509,7 @@ { "cell_type": "markdown", "source": [ - "## 2020 6" + "## 2021 6" ], "metadata": {}, "execution_count": 0, @@ -553,6 +630,39 @@ "execution_count": 0, "outputs": [] }, + { + "cell_type": "code", + "source": [ + "" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "var technicalMargins = ifrs17.TechnicalMargins;", + "\ntechnicalMargins.ReportingNode = \"CH\";", + "\ntechnicalMargins.ReportingPeriod = (2021, 6);", + "\ntechnicalMargins.ColumnSlices = new string[]{};//\"GroupOfContract\", \"AmountType\"", + "\ntechnicalMargins.DataFilter = null; //new [] {(\"GroupOfContract\", \"DT1.1\")};", + "\n(await technicalMargins.ToReportAsync) with {Height = 600}" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "await DataSource.Partition.SetAsync(new { ReportingNode = \"CH\", Scenario = (string)null, Year = 2021, Month = 6 });", + "\nDataSource.Query().Where(x => x.DataNode == \"MZ2.1\" && (x.EstimateType == \"C\" || x.EstimateType == \"L\"))" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, { "cell_type": "markdown", "source": [ @@ -656,7 +766,7 @@ "\nactuarialLrc.ReportingNode = \"CH\";", "\nactuarialLrc.ReportingPeriod = (2020, 12);", "\nactuarialLrc.ColumnSlices = new string[]{};//\"GroupOfContract\"", - "\nactuarialLrc.DataFilter = = new []{ (\"GroupOfContract\", \"MZ2.1\") };", + "\nactuarialLrc.DataFilter = new []{ (\"GroupOfContract\", \"MZ2.1\") };", "\n(await actuarialLrc.ToReportAsync) with {Height = 750}" ], "metadata": {}, @@ -679,7 +789,7 @@ "\nactuarialLrc.ReportingNode = \"CH\";", "\nactuarialLrc.ReportingPeriod = (2021, 6);", "\nactuarialLrc.ColumnSlices = new string[]{};//\"GroupOfContract\"", - "\nactuarialLrc.DataFilter = = new []{ (\"GroupOfContract\", \"MZ2.1\") };", + "\nactuarialLrc.DataFilter = new []{ (\"GroupOfContract\", \"MZ2.1\") };", "\n(await actuarialLrc.ToReportAsync) with {Height = 750}" ], "metadata": {}, @@ -702,7 +812,7 @@ "\nactuarialLrc.ReportingNode = \"CH\";", "\nactuarialLrc.ReportingPeriod = (2021, 12);", "\nactuarialLrc.ColumnSlices = new string[]{};//\"GroupOfContract\"", - "\nactuarialLrc.DataFilter = = new []{ (\"GroupOfContract\", \"MZ2.1\") };", + "\nactuarialLrc.DataFilter = new []{ (\"GroupOfContract\", \"MZ2.1\") };", "\n(await actuarialLrc.ToReportAsync) with {Height = 750}" ], "metadata": {}, @@ -734,56 +844,6 @@ "execution_count": 0, "outputs": [] }, - { - "cell_type": "markdown", - "source": [ - "# LIC Actuarial", - "\n", - "\nThe [Actuarial Liability of Incurred Claims](https://portal.systemorph.cloud/project/ifrs17/env/v1.0.0/Report/ReportScopes#lic-actuarial-actuarial-liability-for-incurred-claims) report shows figures from Fulfilment Cash flow discounted with current yield curve. " - ], - "metadata": {}, - "execution_count": 0, - "outputs": [] - }, - { - "cell_type": "code", - "source": [ - "var actuarialLic = ifrs17.ActuarialLic;", - "\nactuarialLic.ReportingNode = \"CH\";", - "\nactuarialLic.ReportingPeriod = (2021, 3);", - "\nactuarialLic.ColumnSlices = new string[]{};//\"GroupOfContract\", \"AmountType\"", - "\nactuarialLic.DataFilter = null; //new [] {(\"GroupOfContract\", \"DT1.1\")};", - "\n(await actuarialLic.ToReportAsync) with {Height = 750}" - ], - "metadata": {}, - "execution_count": 0, - "outputs": [] - }, - { - "cell_type": "markdown", - "source": [ - "# LIC", - "\n", - "\nThe [Liability for Incurred Claims](https://portal.systemorph.cloud/project/ifrs17/env/v1.0.0/Report/ReportScopes#lic-liability-for-incurred-claims) adds to the [Actuarial Liability for Incurred Claims](#lic-actuarial) the contribution of and accrual actuals." - ], - "metadata": {}, - "execution_count": 0, - "outputs": [] - }, - { - "cell_type": "code", - "source": [ - "var lic = ifrs17.Lic;", - "\nlic.ReportingNode = \"CH\";", - "\nlic.ReportingPeriod = (2021, 3);", - "\nlic.ColumnSlices = new string[]{};//\"GroupOfContract\", \"AmountType\"", - "\nlic.DataFilter = null; //new [] {(\"GroupOfContract\", \"DT1.1\")};", - "\n(await lic.ToReportAsync) with {Height = 250}" - ], - "metadata": {}, - "execution_count": 0, - "outputs": [] - }, { "cell_type": "markdown", "source": [ @@ -811,15 +871,6 @@ "execution_count": 0, "outputs": [] }, - { - "cell_type": "code", - "source": [ - "" - ], - "metadata": {}, - "execution_count": 0, - "outputs": [] - }, { "cell_type": "code", "source": [ From 7932a5a299f8f9db7d363a5377c7b76650902737 Mon Sep 17 00:00:00 2001 From: Daniel Trzesniak Date: Fri, 9 Dec 2022 10:43:33 +0100 Subject: [PATCH 07/37] report --- .../Report/ActualsUseCaseReports.ipynb | 33 ------------------- 1 file changed, 33 deletions(-) diff --git a/ifrs17-template/Report/ActualsUseCaseReports.ipynb b/ifrs17-template/Report/ActualsUseCaseReports.ipynb index 38dab1db..3b9699f3 100644 --- a/ifrs17-template/Report/ActualsUseCaseReports.ipynb +++ b/ifrs17-template/Report/ActualsUseCaseReports.ipynb @@ -630,39 +630,6 @@ "execution_count": 0, "outputs": [] }, - { - "cell_type": "code", - "source": [ - "" - ], - "metadata": {}, - "execution_count": 0, - "outputs": [] - }, - { - "cell_type": "code", - "source": [ - "var technicalMargins = ifrs17.TechnicalMargins;", - "\ntechnicalMargins.ReportingNode = \"CH\";", - "\ntechnicalMargins.ReportingPeriod = (2021, 6);", - "\ntechnicalMargins.ColumnSlices = new string[]{};//\"GroupOfContract\", \"AmountType\"", - "\ntechnicalMargins.DataFilter = null; //new [] {(\"GroupOfContract\", \"DT1.1\")};", - "\n(await technicalMargins.ToReportAsync) with {Height = 600}" - ], - "metadata": {}, - "execution_count": 0, - "outputs": [] - }, - { - "cell_type": "code", - "source": [ - "await DataSource.Partition.SetAsync(new { ReportingNode = \"CH\", Scenario = (string)null, Year = 2021, Month = 6 });", - "\nDataSource.Query().Where(x => x.DataNode == \"MZ2.1\" && (x.EstimateType == \"C\" || x.EstimateType == \"L\"))" - ], - "metadata": {}, - "execution_count": 0, - "outputs": [] - }, { "cell_type": "markdown", "source": [ From fceded030f89ad60aa3a28426380afbdb53da915 Mon Sep 17 00:00:00 2001 From: Daniel Trzesniak Date: Fri, 9 Dec 2022 10:50:29 +0100 Subject: [PATCH 08/37] a sign --- .../Files/TransactionalData/Actuals_ActualsCase_CH_2021_12.csv | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ifrs17-template/Files/TransactionalData/Actuals_ActualsCase_CH_2021_12.csv b/ifrs17-template/Files/TransactionalData/Actuals_ActualsCase_CH_2021_12.csv index 37c3b9ea..6780cdba 100644 --- a/ifrs17-template/Files/TransactionalData/Actuals_ActualsCase_CH_2021_12.csv +++ b/ifrs17-template/Files/TransactionalData/Actuals_ActualsCase_CH_2021_12.csv @@ -4,4 +4,4 @@ CH,2021,12,, @@Actual,,,, DataNode,AocType,ValueType,AccidentYear,Value MZ2.1,CF,PR,,551 -MZ2.1,CF,NIC,,455 +MZ2.1,CF,NIC,,-455 From be8243b99bc8398aa685d2762ea6528683530297 Mon Sep 17 00:00:00 2001 From: Daniel Trzesniak Date: Fri, 9 Dec 2022 11:34:55 +0100 Subject: [PATCH 09/37] split nb --- .../Report/ActualsUseCaseDataImport.ipynb | 195 +++++++++++++++ .../Report/ActualsUseCaseReports.ipynb | 236 ++++++------------ ifrs17/Utils/ImportCalculationMethods.ipynb | 11 +- 3 files changed, 284 insertions(+), 158 deletions(-) create mode 100644 ifrs17-template/Report/ActualsUseCaseDataImport.ipynb diff --git a/ifrs17-template/Report/ActualsUseCaseDataImport.ipynb b/ifrs17-template/Report/ActualsUseCaseDataImport.ipynb new file mode 100644 index 00000000..b7e9b72a --- /dev/null +++ b/ifrs17-template/Report/ActualsUseCaseDataImport.ipynb @@ -0,0 +1,195 @@ +{ + "metadata": { + "authors": [], + "kernelspec": { + "display_name": "Formula Framework", + "language": "C#", + "name": "C#" + }, + "language_info": { + "file_extension": ".cs", + "mimetype": "text/plain", + "name": "C#" + }, + "toc-autonumbering": "True", + "toc-showcode": "False" + }, + "nbformat": 4, + "nbformat_minor": 5, + "cells": [ + { + "cell_type": "markdown", + "source": [ + "

Actuals Case Data Import

" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "In this case study we look at actuals. Here we import the data we need." + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "# Set up and data import" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "#!import \"../Initialization/InitSystemorphRefDataToMemory\"" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "Workspace.Reset(x => x.ResetInitializationRules().ResetCurrentPartitions());", + "\nWorkspace.InitializeFrom(DataSource);" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "await Import.FromFile(\"../Files/DataNodes/DataNodes_ActualsCase_CH.csv\").WithFormat(ImportFormats.DataNode).WithTarget(DataSource).ExecuteAsync()" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "await Import.FromFile(\"../Files/DataNodes/DataNodeStates_ActualsCase_CH_2020_12.csv\").WithFormat(ImportFormats.DataNodeState).WithTarget(DataSource).ExecuteAsync()" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "await Import.FromFile(\"../Files/DataNodes/DataNodeParameters_ActualsCase_CH_2020_12.csv\").WithFormat(ImportFormats.DataNodeParameter).WithTarget(DataSource).ExecuteAsync()" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "Workspace.Reset(x => x.ResetInitializationRules().ResetCurrentPartitions());", + "\nWorkspace.InitializeFrom(DataSource);" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "Workspace.Reset(x => x.ResetCurrentPartitions().ResetType().ResetType().ResetType())" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "await Import.FromFile(\"../Files/TransactionalData/NominalCashflows_ActualsCase_CH_2020_12.csv\").WithFormat(ImportFormats.Cashflow).WithTarget(DataSource).ExecuteAsync()" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "await Import.FromFile(\"../Files/TransactionalData/Actuals_ActualsCase_CH_2020_12.csv\").WithFormat(ImportFormats.Actual).WithTarget(DataSource).ExecuteAsync()" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "await Import.FromFile(\"../Files/TransactionalData/NominalCashflows_ActualsCase_CH_2021_6.csv\").WithFormat(ImportFormats.Cashflow).WithTarget(DataSource).ExecuteAsync()" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "await Import.FromFile(\"../Files/TransactionalData/Actuals_ActualsCase_CH_2021_6.csv\").WithFormat(ImportFormats.Actual).WithTarget(DataSource).ExecuteAsync()" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "await Import.FromFile(\"../Files/TransactionalData/NominalCashflows_ActualsCase_CH_2021_12.csv\").WithFormat(ImportFormats.Cashflow).WithTarget(DataSource).ExecuteAsync()" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "await Import.FromFile(\"../Files/TransactionalData/Actuals_ActualsCase_CH_2021_12.csv\").WithFormat(ImportFormats.Actual).WithTarget(DataSource).ExecuteAsync()" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "Workspace.Reset(x => x.ResetInitializationRules().ResetCurrentPartitions());" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "Workspace.InitializeFrom(DataSource);", + "\nifrs17.Reset(Workspace)" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + } + ] +} \ No newline at end of file diff --git a/ifrs17-template/Report/ActualsUseCaseReports.ipynb b/ifrs17-template/Report/ActualsUseCaseReports.ipynb index 3b9699f3..c9404327 100644 --- a/ifrs17-template/Report/ActualsUseCaseReports.ipynb +++ b/ifrs17-template/Report/ActualsUseCaseReports.ipynb @@ -38,7 +38,7 @@ { "cell_type": "markdown", "source": [ - "# Set up data and configuration" + "# Data Import" ], "metadata": {}, "execution_count": 0, @@ -47,136 +47,7 @@ { "cell_type": "code", "source": [ - "#!import \"../Initialization/InitSystemorphRefDataToMemory\"" - ], - "metadata": {}, - "execution_count": 0, - "outputs": [] - }, - { - "cell_type": "code", - "source": [ - "Workspace.Reset(x => x.ResetInitializationRules().ResetCurrentPartitions());", - "\nWorkspace.InitializeFrom(DataSource);" - ], - "metadata": {}, - "execution_count": 0, - "outputs": [] - }, - { - "cell_type": "code", - "source": [ - "await Import.FromFile(\"../Files/DataNodes/DataNodes_ActualsCase_CH.csv\").WithFormat(ImportFormats.DataNode).WithTarget(DataSource).ExecuteAsync()" - ], - "metadata": {}, - "execution_count": 0, - "outputs": [] - }, - { - "cell_type": "code", - "source": [ - "await Import.FromFile(\"../Files/DataNodes/DataNodeStates_ActualsCase_CH_2020_12.csv\").WithFormat(ImportFormats.DataNodeState).WithTarget(DataSource).ExecuteAsync()" - ], - "metadata": {}, - "execution_count": 0, - "outputs": [] - }, - { - "cell_type": "code", - "source": [ - "await Import.FromFile(\"../Files/DataNodes/DataNodeParameters_ActualsCase_CH_2020_12.csv\").WithFormat(ImportFormats.DataNodeParameter).WithTarget(DataSource).ExecuteAsync()" - ], - "metadata": {}, - "execution_count": 0, - "outputs": [] - }, - { - "cell_type": "code", - "source": [ - "Workspace.Reset(x => x.ResetInitializationRules().ResetCurrentPartitions());", - "\nWorkspace.InitializeFrom(DataSource);" - ], - "metadata": {}, - "execution_count": 0, - "outputs": [] - }, - { - "cell_type": "code", - "source": [ - "Workspace.Reset(x => x.ResetCurrentPartitions().ResetType().ResetType().ResetType())" - ], - "metadata": {}, - "execution_count": 0, - "outputs": [] - }, - { - "cell_type": "code", - "source": [ - "await Import.FromFile(\"../Files/TransactionalData/NominalCashflows_ActualsCase_CH_2020_12.csv\").WithFormat(ImportFormats.Cashflow).WithTarget(DataSource).ExecuteAsync()" - ], - "metadata": {}, - "execution_count": 0, - "outputs": [] - }, - { - "cell_type": "code", - "source": [ - "await Import.FromFile(\"../Files/TransactionalData/Actuals_ActualsCase_CH_2020_12.csv\").WithFormat(ImportFormats.Actual).WithTarget(DataSource).ExecuteAsync()" - ], - "metadata": {}, - "execution_count": 0, - "outputs": [] - }, - { - "cell_type": "code", - "source": [ - "await Import.FromFile(\"../Files/TransactionalData/NominalCashflows_ActualsCase_CH_2021_6.csv\").WithFormat(ImportFormats.Cashflow).WithTarget(DataSource).ExecuteAsync()" - ], - "metadata": {}, - "execution_count": 0, - "outputs": [] - }, - { - "cell_type": "code", - "source": [ - "await Import.FromFile(\"../Files/TransactionalData/Actuals_ActualsCase_CH_2021_6.csv\").WithFormat(ImportFormats.Actual).WithTarget(DataSource).ExecuteAsync()" - ], - "metadata": {}, - "execution_count": 0, - "outputs": [] - }, - { - "cell_type": "code", - "source": [ - "await Import.FromFile(\"../Files/TransactionalData/NominalCashflows_ActualsCase_CH_2021_12.csv\").WithFormat(ImportFormats.Cashflow).WithTarget(DataSource).ExecuteAsync()" - ], - "metadata": {}, - "execution_count": 0, - "outputs": [] - }, - { - "cell_type": "code", - "source": [ - "await Import.FromFile(\"../Files/TransactionalData/Actuals_ActualsCase_CH_2021_12.csv\").WithFormat(ImportFormats.Actual).WithTarget(DataSource).ExecuteAsync()" - ], - "metadata": {}, - "execution_count": 0, - "outputs": [] - }, - { - "cell_type": "code", - "source": [ - "Workspace.Reset(x => x.ResetInitializationRules().ResetCurrentPartitions());" - ], - "metadata": {}, - "execution_count": 0, - "outputs": [] - }, - { - "cell_type": "code", - "source": [ - "Workspace.InitializeFrom(DataSource);", - "\nifrs17.Reset(Workspace)" + "#!import \"ActualsUseCaseDataImport\"" ], "metadata": {}, "execution_count": 0, @@ -209,7 +80,7 @@ "\npv.ReportingNode = \"CH\";", "\npv.ReportingPeriod = (2020, 12);", "\npv.CurrencyType = CurrencyType.Contractual;", - "\npv.ColumnSlices = new string[]{\"GroupOfContract\", \"AmountType\"};//\"GroupOfContract\", \"AmountType\"", + "\npv.ColumnSlices = new string[]{\"GroupOfContract\", \"AmountType\"};", "\npv.DataFilter = new []{ (\"GroupOfContract\", \"MZ2.1\") };", "\n(await pv.ToReportAsync) with {Height = 720}" ], @@ -233,7 +104,7 @@ "\npv.ReportingNode = \"CH\";", "\npv.ReportingPeriod = (2021, 6);", "\npv.CurrencyType = CurrencyType.Contractual;", - "\npv.ColumnSlices = new string[]{\"GroupOfContract\", \"AmountType\"};//\"GroupOfContract\", \"AmountType\"", + "\npv.ColumnSlices = new string[]{\"GroupOfContract\", \"AmountType\"};", "\npv.DataFilter = new []{ (\"GroupOfContract\", \"MZ2.1\") };", "\n(await pv.ToReportAsync) with {Height = 720}" ], @@ -257,7 +128,7 @@ "\npv.ReportingNode = \"CH\";", "\npv.ReportingPeriod = (2021, 12);", "\npv.CurrencyType = CurrencyType.Contractual;", - "\npv.ColumnSlices = new string[]{\"GroupOfContract\", \"AmountType\"};//\"GroupOfContract\", \"AmountType\"", + "\npv.ColumnSlices = new string[]{\"GroupOfContract\", \"AmountType\"};", "\npv.DataFilter = new []{ (\"GroupOfContract\", \"MZ2.1\") };", "\n(await pv.ToReportAsync) with {Height = 720}" ], @@ -289,7 +160,7 @@ "var ra = ifrs17.RiskAdjustments;", "\nra.ReportingNode = \"CH\";", "\nra.ReportingPeriod = (2020, 12);", - "\nra.ColumnSlices = new string[]{};//\"GroupOfContract\", \"EconomicBasis\"", + "\nra.ColumnSlices = new string[]{};", "\nra.DataFilter = new []{ (\"GroupOfContract\", \"MZ2.1\") };", "\n(await ra.ToReportAsync) with {Height = 800}" ], @@ -312,7 +183,7 @@ "var ra = ifrs17.RiskAdjustments;", "\nra.ReportingNode = \"CH\";", "\nra.ReportingPeriod = (2021, 6);", - "\nra.ColumnSlices = new string[]{};//\"GroupOfContract\", \"EconomicBasis\"", + "\nra.ColumnSlices = new string[]{};", "\nra.DataFilter = new []{ (\"GroupOfContract\", \"MZ2.1\") };", "\n(await ra.ToReportAsync) with {Height = 800}" ], @@ -335,7 +206,7 @@ "var ra = ifrs17.RiskAdjustments;", "\nra.ReportingNode = \"CH\";", "\nra.ReportingPeriod = (2021, 12);", - "\nra.ColumnSlices = new string[]{};//\"GroupOfContract\", \"EconomicBasis\"", + "\nra.ColumnSlices = new string[]{};", "\nra.DataFilter = new []{ (\"GroupOfContract\", \"MZ2.1\") };", "\n(await ra.ToReportAsync) with {Height = 800}" ], @@ -367,7 +238,7 @@ "var writtenActual = ifrs17.WrittenActuals;", "\nwrittenActual.ReportingNode = \"CH\";", "\nwrittenActual.ReportingPeriod = (2020, 12);", - "\nwrittenActual.ColumnSlices = new string[]{};//\"GroupOfContract\"", + "\nwrittenActual.ColumnSlices = new string[]{};", "\nwrittenActual.DataFilter = new []{ (\"GroupOfContract\", \"MZ2.1\") };", "\n(await writtenActual.ToReportAsync) with {Height = 400}" ], @@ -390,7 +261,7 @@ "var writtenActual = ifrs17.WrittenActuals;", "\nwrittenActual.ReportingNode = \"CH\";", "\nwrittenActual.ReportingPeriod = (2021, 6);", - "\nwrittenActual.ColumnSlices = new string[]{};//\"GroupOfContract\"", + "\nwrittenActual.ColumnSlices = new string[]{};", "\nwrittenActual.DataFilter = new []{ (\"GroupOfContract\", \"MZ2.1\") };", "\n(await writtenActual.ToReportAsync) with {Height = 400}" ], @@ -413,7 +284,7 @@ "var writtenActual = ifrs17.WrittenActuals;", "\nwrittenActual.ReportingNode = \"CH\";", "\nwrittenActual.ReportingPeriod = (2021, 12);", - "\nwrittenActual.ColumnSlices = new string[]{};//\"GroupOfContract\"", + "\nwrittenActual.ColumnSlices = new string[]{};", "\nwrittenActual.DataFilter = new []{ (\"GroupOfContract\", \"MZ2.1\") };", "\n(await writtenActual.ToReportAsync) with {Height = 400}" ], @@ -576,7 +447,7 @@ "var experienceAdjustments = ifrs17.ExperienceAdjustments;", "\nexperienceAdjustments.ReportingNode = \"CH\";", "\nexperienceAdjustments.ReportingPeriod = (2020, 12);", - "\nexperienceAdjustments.ColumnSlices = new string[]{};//\"GroupOfContract\", \"AmountType\"", + "\nexperienceAdjustments.ColumnSlices = new string[]{};", "\nexperienceAdjustments.DataFilter = new []{ (\"GroupOfContract\", \"MZ2.1\") };", "\n(await experienceAdjustments.ToReportAsync) with {Height = 300}" ], @@ -599,7 +470,7 @@ "var experienceAdjustments = ifrs17.ExperienceAdjustments;", "\nexperienceAdjustments.ReportingNode = \"CH\";", "\nexperienceAdjustments.ReportingPeriod = (2021, 6);", - "\nexperienceAdjustments.ColumnSlices = new string[]{};//\"GroupOfContract\", \"AmountType\"", + "\nexperienceAdjustments.ColumnSlices = new string[]{};", "\nexperienceAdjustments.DataFilter = new []{ (\"GroupOfContract\", \"MZ2.1\") };", "\n(await experienceAdjustments.ToReportAsync) with {Height = 300}" ], @@ -622,7 +493,7 @@ "var experienceAdjustments = ifrs17.ExperienceAdjustments;", "\nexperienceAdjustments.ReportingNode = \"CH\";", "\nexperienceAdjustments.ReportingPeriod = (2021, 12);", - "\nexperienceAdjustments.ColumnSlices = new string[]{};//\"GroupOfContract\", \"AmountType\"", + "\nexperienceAdjustments.ColumnSlices = new string[]{};", "\nexperienceAdjustments.DataFilter = new []{ (\"GroupOfContract\", \"MZ2.1\") };", "\n(await experienceAdjustments.ToReportAsync) with {Height = 300}" ], @@ -654,7 +525,7 @@ "var allocatedTechnicalMargins = ifrs17.AllocatedTechnicalMargins;", "\nallocatedTechnicalMargins.ReportingNode = \"CH\";", "\nallocatedTechnicalMargins.ReportingPeriod = (2020, 12);", - "\nallocatedTechnicalMargins.ColumnSlices = new string[]{};//\"GroupOfContract\", \"EstimateType\"", + "\nallocatedTechnicalMargins.ColumnSlices = new string[]{};", "\nallocatedTechnicalMargins.DataFilter = new []{ (\"GroupOfContract\", \"MZ2.1\") };", "\n(await allocatedTechnicalMargins.ToReportAsync) with {Height = 700}" ], @@ -677,7 +548,7 @@ "var allocatedTechnicalMargins = ifrs17.AllocatedTechnicalMargins;", "\nallocatedTechnicalMargins.ReportingNode = \"CH\";", "\nallocatedTechnicalMargins.ReportingPeriod = (2021, 6);", - "\nallocatedTechnicalMargins.ColumnSlices = new string[]{};//\"GroupOfContract\", \"EstimateType\"", + "\nallocatedTechnicalMargins.ColumnSlices = new string[]{};", "\nallocatedTechnicalMargins.DataFilter = new []{ (\"GroupOfContract\", \"MZ2.1\") };", "\n(await allocatedTechnicalMargins.ToReportAsync) with {Height = 700}" ], @@ -700,7 +571,7 @@ "var allocatedTechnicalMargins = ifrs17.AllocatedTechnicalMargins;", "\nallocatedTechnicalMargins.ReportingNode = \"CH\";", "\nallocatedTechnicalMargins.ReportingPeriod = (2021, 12);", - "\nallocatedTechnicalMargins.ColumnSlices = new string[]{};//\"GroupOfContract\", \"EstimateType\"", + "\nallocatedTechnicalMargins.ColumnSlices = new string[]{};", "\nallocatedTechnicalMargins.DataFilter = new []{ (\"GroupOfContract\", \"MZ2.1\") };", "\n(await allocatedTechnicalMargins.ToReportAsync) with {Height = 700}" ], @@ -732,7 +603,7 @@ "var actuarialLrc = ifrs17.ActuarialLrc;", "\nactuarialLrc.ReportingNode = \"CH\";", "\nactuarialLrc.ReportingPeriod = (2020, 12);", - "\nactuarialLrc.ColumnSlices = new string[]{};//\"GroupOfContract\"", + "\nactuarialLrc.ColumnSlices = new string[]{};", "\nactuarialLrc.DataFilter = new []{ (\"GroupOfContract\", \"MZ2.1\") };", "\n(await actuarialLrc.ToReportAsync) with {Height = 750}" ], @@ -755,7 +626,7 @@ "var actuarialLrc = ifrs17.ActuarialLrc;", "\nactuarialLrc.ReportingNode = \"CH\";", "\nactuarialLrc.ReportingPeriod = (2021, 6);", - "\nactuarialLrc.ColumnSlices = new string[]{};//\"GroupOfContract\"", + "\nactuarialLrc.ColumnSlices = new string[]{};", "\nactuarialLrc.DataFilter = new []{ (\"GroupOfContract\", \"MZ2.1\") };", "\n(await actuarialLrc.ToReportAsync) with {Height = 750}" ], @@ -778,7 +649,7 @@ "var actuarialLrc = ifrs17.ActuarialLrc;", "\nactuarialLrc.ReportingNode = \"CH\";", "\nactuarialLrc.ReportingPeriod = (2021, 12);", - "\nactuarialLrc.ColumnSlices = new string[]{};//\"GroupOfContract\"", + "\nactuarialLrc.ColumnSlices = new string[]{};", "\nactuarialLrc.DataFilter = new []{ (\"GroupOfContract\", \"MZ2.1\") };", "\n(await actuarialLrc.ToReportAsync) with {Height = 750}" ], @@ -814,11 +685,62 @@ { "cell_type": "markdown", "source": [ - "# Financial Performance", - "\n", - "\nThe [Financial Performance](https://portal.systemorph.cloud/project/ifrs17/env/v1.0.0/Report/ReportScopes#ifrs-17-financial-performance) report discloses the Change in Estimate of the IFRS 17 balance sheet items ([LRC](#lrc) and [LIC](#lic)) and the relevant incurred cash flows (Premiums, Claims, Expenses, etc...) for the given period.", - "\n", - "\nUse the expand and collapse buttons in the report rows to change the granularity of the figures displayed." + "# Financial Performance" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "## 2020 12" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "var financialPerformance = ifrs17.FinancialPerformance;", + "\nfinancialPerformance.ReportingNode = \"CH\";", + "\nfinancialPerformance.ReportingPeriod = (2020, 12);", + "\nfinancialPerformance.ColumnSlices = new string[]{};", + "\nfinancialPerformance.DataFilter = new []{ (\"GroupOfContract\", \"MZ2.1\") };", + "\n(await financialPerformance.ToReportAsync) with { Height = 900, GroupDefaultExpanded = 3}" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "## 2021 6" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "var financialPerformance = ifrs17.FinancialPerformance;", + "\nfinancialPerformance.ReportingNode = \"CH\";", + "\nfinancialPerformance.ReportingPeriod = (2021, 6);", + "\nfinancialPerformance.ColumnSlices = new string[]{};", + "\nfinancialPerformance.DataFilter = new []{ (\"GroupOfContract\", \"MZ2.1\") };", + "\n(await financialPerformance.ToReportAsync) with { Height = 900, GroupDefaultExpanded = 3}" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "## 2021 12" ], "metadata": {}, "execution_count": 0, @@ -829,9 +751,9 @@ "source": [ "var financialPerformance = ifrs17.FinancialPerformance;", "\nfinancialPerformance.ReportingNode = \"CH\";", - "\nfinancialPerformance.ReportingPeriod = (2021, 3);", - "\nfinancialPerformance.ColumnSlices = new string[]{};//\"GroupOfContract\"", - "\nfinancialPerformance.DataFilter = null; //new [] {(\"GroupOfContract\", \"DT1.1\")};", + "\nfinancialPerformance.ReportingPeriod = (2021, 12);", + "\nfinancialPerformance.ColumnSlices = new string[]{};", + "\nfinancialPerformance.DataFilter = new []{ (\"GroupOfContract\", \"MZ2.1\") };", "\n(await financialPerformance.ToReportAsync) with { Height = 900, GroupDefaultExpanded = 3}" ], "metadata": {}, diff --git a/ifrs17/Utils/ImportCalculationMethods.ipynb b/ifrs17/Utils/ImportCalculationMethods.ipynb index c783cc39..41c1899c 100644 --- a/ifrs17/Utils/ImportCalculationMethods.ipynb +++ b/ifrs17/Utils/ImportCalculationMethods.ipynb @@ -271,6 +271,15 @@ "metadata": {}, "execution_count": 0, "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] } ] -} +} \ No newline at end of file From 0dac5d3b1e78131387b44ac4c75c92650c726f06 Mon Sep 17 00:00:00 2001 From: Daniel Trzesniak Date: Fri, 9 Dec 2022 16:04:58 +0100 Subject: [PATCH 10/37] Adjust data --- ...aNodeParameters_ActualsCase_CH_2020_1.csv} | 4 +- ... DataNodeStates_ActualsCase_CH_2020_1.csv} | 4 +- .../DataNodes/DataNodes_ActualsCase_CH.csv | 8 ++-- .../Files/Parameters/YieldCurve.csv | 6 ++- .../Actuals_ActualsCase_CH_2020_12.csv | 10 +++++ .../Actuals_ActualsCase_CH_2021_12.csv | 12 ++++++ .../Actuals_ActualsCase_CH_2021_6.csv | 9 +++++ ...ominalCashflows_ActualsCase_CH_2020_12.csv | 30 ++++++++++++++ ...ominalCashflows_ActualsCase_CH_2021_12.csv | 39 +++++++++++++++++++ ...NominalCashflows_ActualsCase_CH_2021_6.csv | 39 +++++++++++++++++++ 10 files changed, 148 insertions(+), 13 deletions(-) rename ifrs17-template/Files/DataNodes/{DataNodeParameters_ActualsCase_CH_2020_12.csv => DataNodeParameters_ActualsCase_CH_2020_1.csv} (80%) rename ifrs17-template/Files/DataNodes/{DataNodeStates_ActualsCase_CH_2020_12.csv => DataNodeStates_ActualsCase_CH_2020_1.csv} (76%) diff --git a/ifrs17-template/Files/DataNodes/DataNodeParameters_ActualsCase_CH_2020_12.csv b/ifrs17-template/Files/DataNodes/DataNodeParameters_ActualsCase_CH_2020_1.csv similarity index 80% rename from ifrs17-template/Files/DataNodes/DataNodeParameters_ActualsCase_CH_2020_12.csv rename to ifrs17-template/Files/DataNodes/DataNodeParameters_ActualsCase_CH_2020_1.csv index 4bebf494..cabec2c8 100644 --- a/ifrs17-template/Files/DataNodes/DataNodeParameters_ActualsCase_CH_2020_12.csv +++ b/ifrs17-template/Files/DataNodes/DataNodeParameters_ActualsCase_CH_2020_1.csv @@ -1,6 +1,6 @@ @@Main,, ReportingNode,Year,Month -CH,2020,12 +CH,2020,1 ,, @@SingleDataNodeParameter,, DataNode,PremiumAllocation, @@ -8,5 +8,3 @@ MZ2.1,0.5, MZ2.2,0.5, MZ2.3,0.5, MZ2.4,0.5, -MZ2.5,0.5, -MZ2.6,0.5, diff --git a/ifrs17-template/Files/DataNodes/DataNodeStates_ActualsCase_CH_2020_12.csv b/ifrs17-template/Files/DataNodes/DataNodeStates_ActualsCase_CH_2020_1.csv similarity index 76% rename from ifrs17-template/Files/DataNodes/DataNodeStates_ActualsCase_CH_2020_12.csv rename to ifrs17-template/Files/DataNodes/DataNodeStates_ActualsCase_CH_2020_1.csv index a7f48f65..81cd2511 100644 --- a/ifrs17-template/Files/DataNodes/DataNodeStates_ActualsCase_CH_2020_12.csv +++ b/ifrs17-template/Files/DataNodes/DataNodeStates_ActualsCase_CH_2020_1.csv @@ -1,6 +1,6 @@ @@Main,, ReportingNode,Year,Month -CH,2020,12 +CH,2020,1 ,, @@DataNodeState,, DataNode,State, @@ -8,5 +8,3 @@ MZ2.1,Active, MZ2.2,Active, MZ2.3,Active, MZ2.4,Active, -MZ2.5,Active, -MZ2.6,Active, diff --git a/ifrs17-template/Files/DataNodes/DataNodes_ActualsCase_CH.csv b/ifrs17-template/Files/DataNodes/DataNodes_ActualsCase_CH.csv index 99dde0af..cde31212 100644 --- a/ifrs17-template/Files/DataNodes/DataNodes_ActualsCase_CH.csv +++ b/ifrs17-template/Files/DataNodes/DataNodes_ActualsCase_CH.csv @@ -9,8 +9,6 @@ MZ2,Actuals Case,CHF,ANN,BBA,Default @@GroupOfInsuranceContract,,,,, SystemName,DisplayName,InsurancePortfolio,AnnualCohort,LiabilityType,Profitability MZ2.1,MZ 2.1 Written,MZ2,2020,LRC,P -MZ2.2,MZ 2.2 OA and CF Premium,MZ2,2020,LRC,P -MZ2.3,MZ 2.3 OA and WO Premium,MZ2,2020,LRC,P -MZ2.4,MZ 2.2 AA and CF Claim,MZ2,2020,LRC,P -MZ2.5,MZ 2.3 AA and WO Claim,MZ2,2020,LRC,P -MZ2.6,MZ 2.2 AA and CF Premium,MZ2,2020,LRC,P +MZ2.2,MZ 2.2 OA Premium,MZ2,2020,LRC,P +MZ2.3,MZ 2.3 AA Claim,MZ2,2020,LRC,P +MZ2.4,MZ 2.4 AA Premium / OA Claim,MZ2,2020,LRC,P diff --git a/ifrs17-template/Files/Parameters/YieldCurve.csv b/ifrs17-template/Files/Parameters/YieldCurve.csv index 5ff257a7..31a97cd0 100644 --- a/ifrs17-template/Files/Parameters/YieldCurve.csv +++ b/ifrs17-template/Files/Parameters/YieldCurve.csv @@ -1,8 +1,10 @@ @@YieldCurve,,,,,, Currency,Year,Month,Values0,Values1,Values2,Values3 EUR,2020,3,0.008685495,0.008685495,0.018498471,0.019966839 -CHF,2020,3,0,0,0,0 -CHF,2021,3,0,0,0,0 +CHF,2019,12,0,0,0.015,0.02 +CHF,2020,12,0.01,0.02,0.025,0.025 +CHF,2021,6,0.03,0.03,0.035,0.035 +CHF,2021,12,0.025,0.025,0.035,0.035 USD,2021,3,0.005,0.005,0.005,0.005 USD,2020,12,0.002,0.002,0.002,0.002 USD,2020,3,0.002,0.002,0.002,0.002 diff --git a/ifrs17-template/Files/TransactionalData/Actuals_ActualsCase_CH_2020_12.csv b/ifrs17-template/Files/TransactionalData/Actuals_ActualsCase_CH_2020_12.csv index 73e37cd7..cb80b103 100644 --- a/ifrs17-template/Files/TransactionalData/Actuals_ActualsCase_CH_2020_12.csv +++ b/ifrs17-template/Files/TransactionalData/Actuals_ActualsCase_CH_2020_12.csv @@ -5,3 +5,13 @@ CH,2020,12,, DataNode,AocType,ValueType,AccidentYear,Value MZ2.1,CF,PR,,413 MZ2.1,CF,NIC,,-311 +MZ2.2,CF,PR,,413 +MZ2.2,CF,NIC,,-311 +MZ2.2,CF,ReceivablePR,,-200 +MZ2.3,CF,PR,,413 +MZ2.3,CF,NIC,,-311 +MZ2.3,CF,ReceivableNIC,,-150 +MZ2.4,CF,PR,,413 +MZ2.4,CF,NIC,,-311 +MZ2.4,CF,PayablePR,,200 +MZ2.4,CF,PayableNIC,,150 diff --git a/ifrs17-template/Files/TransactionalData/Actuals_ActualsCase_CH_2021_12.csv b/ifrs17-template/Files/TransactionalData/Actuals_ActualsCase_CH_2021_12.csv index 6780cdba..aafbb172 100644 --- a/ifrs17-template/Files/TransactionalData/Actuals_ActualsCase_CH_2021_12.csv +++ b/ifrs17-template/Files/TransactionalData/Actuals_ActualsCase_CH_2021_12.csv @@ -5,3 +5,15 @@ CH,2021,12,, DataNode,AocType,ValueType,AccidentYear,Value MZ2.1,CF,PR,,551 MZ2.1,CF,NIC,,-455 +MZ2.2,CF,PR,,551 +MZ2.2,CF,NIC,,-455 +MZ2.2,WO,ReceivablePR,,150 +MZ2.2,CF,ReceivablePR,,50 +MZ2.3,CF,PR,,551 +MZ2.3,CF,NIC,,-455 +MZ2.3,WO,ReceivableNIC,,125 +MZ2.3,CF,ReceivableNIC,,25 +MZ2.4,CF,PR,,551 +MZ2.4,CF,NIC,,-455 +MZ2.4,CF,PayablePR,,-200 +MZ2.4,CF,PayableNIC,,-150 diff --git a/ifrs17-template/Files/TransactionalData/Actuals_ActualsCase_CH_2021_6.csv b/ifrs17-template/Files/TransactionalData/Actuals_ActualsCase_CH_2021_6.csv index 22ed9587..2714e041 100644 --- a/ifrs17-template/Files/TransactionalData/Actuals_ActualsCase_CH_2021_6.csv +++ b/ifrs17-template/Files/TransactionalData/Actuals_ActualsCase_CH_2021_6.csv @@ -5,3 +5,12 @@ CH,2021,6,, DataNode,AocType,ValueType,AccidentYear,Value MZ2.1,CF,PR,,296 MZ2.1,CF,NIC,,-221 +MZ2.2,CF,PR,,296 +MZ2.2,CF,NIC,,-221 +MZ2.2,WO,ReceivablePR,,100 +MZ2.3,CF,PR,,296 +MZ2.3,CF,NIC,,-221 +MZ2.3,WO,ReceivableNIC,,75 +MZ2.4,CF,PR,,296 +MZ2.4,CF,NIC,,-221 +MZ2.4,CF,PayablePR,,100 diff --git a/ifrs17-template/Files/TransactionalData/NominalCashflows_ActualsCase_CH_2020_12.csv b/ifrs17-template/Files/TransactionalData/NominalCashflows_ActualsCase_CH_2020_12.csv index 54b85648..6a3c474c 100644 --- a/ifrs17-template/Files/TransactionalData/NominalCashflows_ActualsCase_CH_2020_12.csv +++ b/ifrs17-template/Files/TransactionalData/NominalCashflows_ActualsCase_CH_2020_12.csv @@ -13,3 +13,33 @@ MZ2.1,PR,CL,C,,0,0,0,0,0,0,0,0,0,0,0,0,105,0,0,105,0,0,105,0,0,105,0,0 MZ2.1,NIC,CL,C,,0,0,0,0,0,0,0,0,0,0,0,0,-15,-15,-15,-35,-35,-45,-45,-35,-35,-15,-15,-15 MZ2.1,CU,CL,C,,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5 MZ2.1,RA,CL,C,,0,0,0,0,0,0,0,0,0,0,0,0,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5 +MZ2.2,PR,BOP,N,,100,0,0,100,0,0,100,0,0,100,0,0,100,0,0,100,0,0,100,0,0,100,0,0 +MZ2.2,NIC,BOP,N,,-15,-15,-15,-30,-30,-45,-45,-30,-30,-15,-15,-15,-15,-15,-15,-30,-30,-45,-45,-30,-30,-15,-15,-15 +MZ2.2,RA,BOP,N,,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5 +MZ2.2,PR,EV,N,,0,0,0,0,0,0,0,0,0,0,0,0,105,0,0,105,0,0,105,0,0,105,0,0 +MZ2.2,NIC,EV,N,,0,0,0,0,0,0,0,0,0,0,0,0,-15,-15,-15,-35,-35,-45,-45,-35,-35,-15,-15,-15 +MZ2.2,RA,EV,N,,0,0,0,0,0,0,0,0,0,0,0,0,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5 +MZ2.2,PR,CL,C,,0,0,0,0,0,0,0,0,0,0,0,0,105,0,0,105,0,0,105,0,0,105,0,0 +MZ2.2,NIC,CL,C,,0,0,0,0,0,0,0,0,0,0,0,0,-15,-15,-15,-35,-35,-45,-45,-35,-35,-15,-15,-15 +MZ2.2,CU,CL,C,,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5 +MZ2.2,RA,CL,C,,0,0,0,0,0,0,0,0,0,0,0,0,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5 +MZ2.3,PR,BOP,N,,100,0,0,100,0,0,100,0,0,100,0,0,100,0,0,100,0,0,100,0,0,100,0,0 +MZ2.3,NIC,BOP,N,,-15,-15,-15,-30,-30,-45,-45,-30,-30,-15,-15,-15,-15,-15,-15,-30,-30,-45,-45,-30,-30,-15,-15,-15 +MZ2.3,RA,BOP,N,,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5 +MZ2.3,PR,EV,N,,0,0,0,0,0,0,0,0,0,0,0,0,105,0,0,105,0,0,105,0,0,105,0,0 +MZ2.3,NIC,EV,N,,0,0,0,0,0,0,0,0,0,0,0,0,-15,-15,-15,-35,-35,-45,-45,-35,-35,-15,-15,-15 +MZ2.3,RA,EV,N,,0,0,0,0,0,0,0,0,0,0,0,0,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5 +MZ2.3,PR,CL,C,,0,0,0,0,0,0,0,0,0,0,0,0,105,0,0,105,0,0,105,0,0,105,0,0 +MZ2.3,NIC,CL,C,,0,0,0,0,0,0,0,0,0,0,0,0,-15,-15,-15,-35,-35,-45,-45,-35,-35,-15,-15,-15 +MZ2.3,CU,CL,C,,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5 +MZ2.3,RA,CL,C,,0,0,0,0,0,0,0,0,0,0,0,0,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5 +MZ2.4,PR,BOP,N,,100,0,0,100,0,0,100,0,0,100,0,0,100,0,0,100,0,0,100,0,0,100,0,0 +MZ2.4,NIC,BOP,N,,-15,-15,-15,-30,-30,-45,-45,-30,-30,-15,-15,-15,-15,-15,-15,-30,-30,-45,-45,-30,-30,-15,-15,-15 +MZ2.4,RA,BOP,N,,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5 +MZ2.4,PR,EV,N,,0,0,0,0,0,0,0,0,0,0,0,0,105,0,0,105,0,0,105,0,0,105,0,0 +MZ2.4,NIC,EV,N,,0,0,0,0,0,0,0,0,0,0,0,0,-15,-15,-15,-35,-35,-45,-45,-35,-35,-15,-15,-15 +MZ2.4,RA,EV,N,,0,0,0,0,0,0,0,0,0,0,0,0,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5 +MZ2.4,PR,CL,C,,0,0,0,0,0,0,0,0,0,0,0,0,105,0,0,105,0,0,105,0,0,105,0,0 +MZ2.4,NIC,CL,C,,0,0,0,0,0,0,0,0,0,0,0,0,-15,-15,-15,-35,-35,-45,-45,-35,-35,-15,-15,-15 +MZ2.4,CU,CL,C,,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5 +MZ2.4,RA,CL,C,,0,0,0,0,0,0,0,0,0,0,0,0,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5 diff --git a/ifrs17-template/Files/TransactionalData/NominalCashflows_ActualsCase_CH_2021_12.csv b/ifrs17-template/Files/TransactionalData/NominalCashflows_ActualsCase_CH_2021_12.csv index 2a053011..4dcc563e 100644 --- a/ifrs17-template/Files/TransactionalData/NominalCashflows_ActualsCase_CH_2021_12.csv +++ b/ifrs17-template/Files/TransactionalData/NominalCashflows_ActualsCase_CH_2021_12.csv @@ -16,3 +16,42 @@ MZ2.1,PR,CL,C,,0,0,0,0,0,0,0,0,0,0,0,0 MZ2.1,NIC,CL,C,,0,0,0,0,0,0,0,0,0,0,0,0 MZ2.1,CU,CL,C,,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25 MZ2.1,RA,CL,C,,0,0,0,0,0,0,0,0,0,0,0,0 +MZ2.2,PR,MC,I,,102,0,0,102,0,0,102,0,0,102,0,0 +MZ2.2,NIC,MC,I,,-15,-15,-15,-45,-45,-40,-40,-40,-40,-15,-15,-15 +MZ2.2,RA,MC,I,,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2 +MZ2.2,PR,BOP,N,,52.5,0,0,52.5,0,0,0,0,0,0,0,0 +MZ2.2,NIC,BOP,N,,-3.75,-3.75,-3.75,-11.25,-11.25,-8.75,-8.75,-8.75,-8.75,-3.75,-3.75,-3.75 +MZ2.2,RA,BOP,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +MZ2.2,PR,MC,N,,51,0,0,51,0,0,0,0,0,0,0,0 +MZ2.2,NIC,MC,N,,-5,-5,-5,-20,-20,-10,-10,-10,-10,-5,-5,-5 +MZ2.2,RA,MC,N,,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25 +MZ2.2,PR,CL,C,,0,0,0,0,0,0,0,0,0,0,0,0 +MZ2.2,NIC,CL,C,,0,0,0,0,0,0,0,0,0,0,0,0 +MZ2.2,CU,CL,C,,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25 +MZ2.2,RA,CL,C,,0,0,0,0,0,0,0,0,0,0,0,0 +MZ2.3,PR,MC,I,,102,0,0,102,0,0,102,0,0,102,0,0 +MZ2.3,NIC,MC,I,,-15,-15,-15,-45,-45,-40,-40,-40,-40,-15,-15,-15 +MZ2.3,RA,MC,I,,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2 +MZ2.3,PR,BOP,N,,52.5,0,0,52.5,0,0,0,0,0,0,0,0 +MZ2.3,NIC,BOP,N,,-3.75,-3.75,-3.75,-11.25,-11.25,-8.75,-8.75,-8.75,-8.75,-3.75,-3.75,-3.75 +MZ2.3,RA,BOP,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +MZ2.3,PR,MC,N,,51,0,0,51,0,0,0,0,0,0,0,0 +MZ2.3,NIC,MC,N,,-5,-5,-5,-20,-20,-10,-10,-10,-10,-5,-5,-5 +MZ2.3,RA,MC,N,,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25 +MZ2.3,PR,CL,C,,0,0,0,0,0,0,0,0,0,0,0,0 +MZ2.3,NIC,CL,C,,0,0,0,0,0,0,0,0,0,0,0,0 +MZ2.3,CU,CL,C,,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25 +MZ2.3,RA,CL,C,,0,0,0,0,0,0,0,0,0,0,0,0 +MZ2.4,PR,MC,I,,102,0,0,102,0,0,102,0,0,102,0,0 +MZ2.4,NIC,MC,I,,-15,-15,-15,-45,-45,-40,-40,-40,-40,-15,-15,-15 +MZ2.4,RA,MC,I,,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2 +MZ2.4,PR,BOP,N,,52.5,0,0,52.5,0,0,0,0,0,0,0,0 +MZ2.4,NIC,BOP,N,,-3.75,-3.75,-3.75,-11.25,-11.25,-8.75,-8.75,-8.75,-8.75,-3.75,-3.75,-3.75 +MZ2.4,RA,BOP,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +MZ2.4,PR,MC,N,,51,0,0,51,0,0,0,0,0,0,0,0 +MZ2.4,NIC,MC,N,,-5,-5,-5,-20,-20,-10,-10,-10,-10,-5,-5,-5 +MZ2.4,RA,MC,N,,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25 +MZ2.4,PR,CL,C,,0,0,0,0,0,0,0,0,0,0,0,0 +MZ2.4,NIC,CL,C,,0,0,0,0,0,0,0,0,0,0,0,0 +MZ2.4,CU,CL,C,,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25 +MZ2.4,RA,CL,C,,0,0,0,0,0,0,0,0,0,0,0,0 diff --git a/ifrs17-template/Files/TransactionalData/NominalCashflows_ActualsCase_CH_2021_6.csv b/ifrs17-template/Files/TransactionalData/NominalCashflows_ActualsCase_CH_2021_6.csv index eb4e023a..bcd876a5 100644 --- a/ifrs17-template/Files/TransactionalData/NominalCashflows_ActualsCase_CH_2021_6.csv +++ b/ifrs17-template/Files/TransactionalData/NominalCashflows_ActualsCase_CH_2021_6.csv @@ -16,3 +16,42 @@ MZ2.1,PR,CL,C,,0,0,0,0,0,0,100,0,0,100,0,0 MZ2.1,NIC,CL,C,,0,0,0,0,0,0,-65,-50,-50,-20,-20,-20 MZ2.1,CU,CL,C,,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25 MZ2.1,RA,CL,C,,0,0,0,0,0,0,-3.25,-3.25,-3.25,-3.25,-3.25,-3.25 +MZ2.2,PR,MC,I,,100,0,0,100,0,0,100,0,0,100,0,0 +MZ2.2,NIC,MC,I,,-15,-15,-15,-40,-40,-45,-45,-40,-40,-15,-15,-15 +MZ2.2,RA,MC,I,,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2 +MZ2.2,PR,BOP,N,,52.5,0,0,52.5,0,0,0,0,0,0,0,0 +MZ2.2,NIC,BOP,N,,-3.75,-3.75,-3.75,-8.75,-8.75,-11.25,-11.25,-8.75,-8.75,-3.75,-3.75,-3.75 +MZ2.2,RA,BOP,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +MZ2.2,PR,MC,N,,50,0,0,50,0,0,0,0,0,0,0,0 +MZ2.2,NIC,MC,N,,-5,-5,-5,-10,-10,-20,-20,-10,-10,-5,-5,-5 +MZ2.2,RA,MC,N,,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25 +MZ2.2,PR,CL,C,,0,0,0,0,0,0,100,0,0,100,0,0 +MZ2.2,NIC,CL,C,,0,0,0,0,0,0,-65,-50,-50,-20,-20,-20 +MZ2.2,CU,CL,C,,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25 +MZ2.2,RA,CL,C,,0,0,0,0,0,0,-3.25,-3.25,-3.25,-3.25,-3.25,-3.25 +MZ2.3,PR,MC,I,,100,0,0,100,0,0,100,0,0,100,0,0 +MZ2.3,NIC,MC,I,,-15,-15,-15,-40,-40,-45,-45,-40,-40,-15,-15,-15 +MZ2.3,RA,MC,I,,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2 +MZ2.3,PR,BOP,N,,52.5,0,0,52.5,0,0,0,0,0,0,0,0 +MZ2.3,NIC,BOP,N,,-3.75,-3.75,-3.75,-8.75,-8.75,-11.25,-11.25,-8.75,-8.75,-3.75,-3.75,-3.75 +MZ2.3,RA,BOP,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +MZ2.3,PR,MC,N,,50,0,0,50,0,0,0,0,0,0,0,0 +MZ2.3,NIC,MC,N,,-5,-5,-5,-10,-10,-20,-20,-10,-10,-5,-5,-5 +MZ2.3,RA,MC,N,,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25 +MZ2.3,PR,CL,C,,0,0,0,0,0,0,100,0,0,100,0,0 +MZ2.3,NIC,CL,C,,0,0,0,0,0,0,-65,-50,-50,-20,-20,-20 +MZ2.3,CU,CL,C,,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25 +MZ2.3,RA,CL,C,,0,0,0,0,0,0,-3.25,-3.25,-3.25,-3.25,-3.25,-3.25 +MZ2.4,PR,MC,I,,100,0,0,100,0,0,100,0,0,100,0,0 +MZ2.4,NIC,MC,I,,-15,-15,-15,-40,-40,-45,-45,-40,-40,-15,-15,-15 +MZ2.4,RA,MC,I,,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2 +MZ2.4,PR,BOP,N,,52.5,0,0,52.5,0,0,0,0,0,0,0,0 +MZ2.4,NIC,BOP,N,,-3.75,-3.75,-3.75,-8.75,-8.75,-11.25,-11.25,-8.75,-8.75,-3.75,-3.75,-3.75 +MZ2.4,RA,BOP,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +MZ2.4,PR,MC,N,,50,0,0,50,0,0,0,0,0,0,0,0 +MZ2.4,NIC,MC,N,,-5,-5,-5,-10,-10,-20,-20,-10,-10,-5,-5,-5 +MZ2.4,RA,MC,N,,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25 +MZ2.4,PR,CL,C,,0,0,0,0,0,0,100,0,0,100,0,0 +MZ2.4,NIC,CL,C,,0,0,0,0,0,0,-65,-50,-50,-20,-20,-20 +MZ2.4,CU,CL,C,,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25 +MZ2.4,RA,CL,C,,0,0,0,0,0,0,-3.25,-3.25,-3.25,-3.25,-3.25,-3.25 From 8b020f7f3f94ea52cab7644b6f19f030ac68844d Mon Sep 17 00:00:00 2001 From: Daniel Trzesniak Date: Mon, 12 Dec 2022 08:54:17 +0100 Subject: [PATCH 11/37] Data from 1 not 12 --- ifrs17-template/Report/ActualsUseCaseDataImport.ipynb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ifrs17-template/Report/ActualsUseCaseDataImport.ipynb b/ifrs17-template/Report/ActualsUseCaseDataImport.ipynb index b7e9b72a..cdbeeaf1 100644 --- a/ifrs17-template/Report/ActualsUseCaseDataImport.ipynb +++ b/ifrs17-template/Report/ActualsUseCaseDataImport.ipynb @@ -75,7 +75,7 @@ { "cell_type": "code", "source": [ - "await Import.FromFile(\"../Files/DataNodes/DataNodeStates_ActualsCase_CH_2020_12.csv\").WithFormat(ImportFormats.DataNodeState).WithTarget(DataSource).ExecuteAsync()" + "await Import.FromFile(\"../Files/DataNodes/DataNodeStates_ActualsCase_CH_2020_1.csv\").WithFormat(ImportFormats.DataNodeState).WithTarget(DataSource).ExecuteAsync()" ], "metadata": {}, "execution_count": 0, @@ -84,7 +84,7 @@ { "cell_type": "code", "source": [ - "await Import.FromFile(\"../Files/DataNodes/DataNodeParameters_ActualsCase_CH_2020_12.csv\").WithFormat(ImportFormats.DataNodeParameter).WithTarget(DataSource).ExecuteAsync()" + "await Import.FromFile(\"../Files/DataNodes/DataNodeParameters_ActualsCase_CH_2020_1.csv\").WithFormat(ImportFormats.DataNodeParameter).WithTarget(DataSource).ExecuteAsync()" ], "metadata": {}, "execution_count": 0, From f89eab6e952820af088ede8c1b8c3c67eb42c585 Mon Sep 17 00:00:00 2001 From: Daniel Trzesniak Date: Mon, 12 Dec 2022 09:25:29 +0100 Subject: [PATCH 12/37] Report --- .../Report/ActualsUseCaseReports.ipynb | 136 ++++++++++++++---- 1 file changed, 107 insertions(+), 29 deletions(-) diff --git a/ifrs17-template/Report/ActualsUseCaseReports.ipynb b/ifrs17-template/Report/ActualsUseCaseReports.ipynb index c9404327..5d7b8c9b 100644 --- a/ifrs17-template/Report/ActualsUseCaseReports.ipynb +++ b/ifrs17-template/Report/ActualsUseCaseReports.ipynb @@ -295,12 +295,16 @@ { "cell_type": "markdown", "source": [ - "## Advance, Overdue Actuals", - "\n", - "\nActuals payed in [Advance](https://portal.systemorph.cloud/project/ifrs17/env/v1.0.0/Report/ReportScopes#written-accrual-deferral)", - "\nor [Overdue](https://portal.systemorph.cloud/project/ifrs17/env/v1.0.0/Report/ReportScopes#written-accrual-deferral) are shown here together in a simplified Analysis of Change. ", - "\n", - "\nCombining Filters and ColumnSlices facilitate the report analysis. For example, you can select \"GroupOfContract\" as column slices with a Filter on EstimateType \"AA\" to analyse the Advance Actuals for all Group of Contract. " + "# Paid in Advance and Overdue Actuals" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "## 2020 12" ], "metadata": {}, "execution_count": 0, @@ -311,8 +315,8 @@ "source": [ "var accrualActual = ifrs17.AccrualActuals;", "\naccrualActual.ReportingNode = \"CH\";", - "\naccrualActual.ReportingPeriod = (2021, 3);", - "\naccrualActual.ColumnSlices = new string[]{};//\"GroupOfContract\", \"AmountType\"", + "\naccrualActual.ReportingPeriod = (2020, 12);", + "\naccrualActual.ColumnSlices = new string[]{ \"GroupOfContract\", \"EstimateType\", \"AmountType\" };//\"GroupOfContract\", \"AmountType\"", "\naccrualActual.DataFilter = null; //new [] {(\"EstimateType\", \"AA\")};", "\n(await accrualActual.ToReportAsync) with {Height = 400}" ], @@ -323,9 +327,30 @@ { "cell_type": "markdown", "source": [ - "## Deferrable Actuals", - "\n", - "\n[Deferrable Actuals](https://portal.systemorph.cloud/project/ifrs17/env/v1.0.0/Report/ReportScopes#written-accrual-deferral) are shown here. Amortization of the deferrable amount is computed using the Coverage Unit pattern. " + "## 2021 6" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "var accrualActual = ifrs17.AccrualActuals;", + "\naccrualActual.ReportingNode = \"CH\";", + "\naccrualActual.ReportingPeriod = (2021, 6);", + "\naccrualActual.ColumnSlices = new string[]{ \"GroupOfContract\", \"EstimateType\", \"AmountType\" };//\"GroupOfContract\", \"AmountType\"", + "\naccrualActual.DataFilter = null; //new [] {(\"EstimateType\", \"AA\")};", + "\n(await accrualActual.ToReportAsync) with {Height = 400}" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "## 2021 12" ], "metadata": {}, "execution_count": 0, @@ -334,12 +359,12 @@ { "cell_type": "code", "source": [ - "var deferrableActual = ifrs17.DeferralActuals;", - "\ndeferrableActual.ReportingNode = \"CH\";", - "\ndeferrableActual.ReportingPeriod = (2021, 3);", - "\ndeferrableActual.ColumnSlices = new string[]{};//\"GroupOfContract\", \"AmountType\"", - "\ndeferrableActual.DataFilter = null;//new [] {(\"GroupOfContract\", \"DT1.1\")};", - "\n(await deferrableActual.ToReportAsync) with {Height = 400}" + "var accrualActual = ifrs17.AccrualActuals;", + "\naccrualActual.ReportingNode = \"CH\";", + "\naccrualActual.ReportingPeriod = (2021, 12);", + "\naccrualActual.ColumnSlices = new string[]{ \"GroupOfContract\", \"EstimateType\", \"AmountType\" };//\"GroupOfContract\", \"AmountType\"", + "\naccrualActual.DataFilter = null; //new [] {(\"EstimateType\", \"AA\")};", + "\n(await accrualActual.ToReportAsync) with {Height = 400}" ], "metadata": {}, "execution_count": 0, @@ -660,9 +685,62 @@ { "cell_type": "markdown", "source": [ - "# LRC", - "\n", - "\nThe [Liability for Remaining Coverage](https://portal.systemorph.cloud/project/ifrs17/env/v1.0.0/Report/ReportScopes#lrc-liability-for-remaining-coverage) report adds to the [Actuarial Liability for Remaining Coverage](#lrc-actuarial) the contribution of and accrual actuals. A simplified AoC Chain is used to allow comparison of the balance change between Actuals and Present Values. " + "# LRC " + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "## 2020 12" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "var lrc = ifrs17.Lrc;", + "\nlrc.ReportingNode = \"CH\";", + "\nlrc.ReportingPeriod = (2020, 12);", + "\nlrc.ColumnSlices = new string[]{\"GroupOfContract\", \"EstimateType\"};", + "\nlrc.DataFilter = null; //new [] {(\"GroupOfContract\", \"DT1.1\")};", + "\n(await lrc.ToReportAsync) with {Height = 300}" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "## 2020 6" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "var lrc = ifrs17.Lrc;", + "\nlrc.ReportingNode = \"CH\";", + "\nlrc.ReportingPeriod = (2021, 6);", + "\nlrc.ColumnSlices = new string[]{\"GroupOfContract\", \"EstimateType\"};", + "\nlrc.DataFilter = null; //new [] {(\"GroupOfContract\", \"DT1.1\")};", + "\n(await lrc.ToReportAsync) with {Height = 300}" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "## 2021 12" ], "metadata": {}, "execution_count": 0, @@ -673,10 +751,10 @@ "source": [ "var lrc = ifrs17.Lrc;", "\nlrc.ReportingNode = \"CH\";", - "\nlrc.ReportingPeriod = (2021, 3);", - "\nlrc.ColumnSlices = new string[]{};//\"GroupOfContract\",", + "\nlrc.ReportingPeriod = (2021, 12);", + "\nlrc.ColumnSlices = new string[]{\"GroupOfContract\", \"EstimateType\"};", "\nlrc.DataFilter = null; //new [] {(\"GroupOfContract\", \"DT1.1\")};", - "\n(await lrc.ToReportAsync) with {Height = 250}" + "\n(await lrc.ToReportAsync) with {Height = 300}" ], "metadata": {}, "execution_count": 0, @@ -706,8 +784,8 @@ "var financialPerformance = ifrs17.FinancialPerformance;", "\nfinancialPerformance.ReportingNode = \"CH\";", "\nfinancialPerformance.ReportingPeriod = (2020, 12);", - "\nfinancialPerformance.ColumnSlices = new string[]{};", - "\nfinancialPerformance.DataFilter = new []{ (\"GroupOfContract\", \"MZ2.1\") };", + "\nfinancialPerformance.ColumnSlices = new string[]{\"GroupOfContract\"};", + "\nfinancialPerformance.DataFilter = null;", "\n(await financialPerformance.ToReportAsync) with { Height = 900, GroupDefaultExpanded = 3}" ], "metadata": {}, @@ -729,8 +807,8 @@ "var financialPerformance = ifrs17.FinancialPerformance;", "\nfinancialPerformance.ReportingNode = \"CH\";", "\nfinancialPerformance.ReportingPeriod = (2021, 6);", - "\nfinancialPerformance.ColumnSlices = new string[]{};", - "\nfinancialPerformance.DataFilter = new []{ (\"GroupOfContract\", \"MZ2.1\") };", + "\nfinancialPerformance.ColumnSlices = new string[]{\"GroupOfContract\"};", + "\nfinancialPerformance.DataFilter = null;", "\n(await financialPerformance.ToReportAsync) with { Height = 900, GroupDefaultExpanded = 3}" ], "metadata": {}, @@ -752,8 +830,8 @@ "var financialPerformance = ifrs17.FinancialPerformance;", "\nfinancialPerformance.ReportingNode = \"CH\";", "\nfinancialPerformance.ReportingPeriod = (2021, 12);", - "\nfinancialPerformance.ColumnSlices = new string[]{};", - "\nfinancialPerformance.DataFilter = new []{ (\"GroupOfContract\", \"MZ2.1\") };", + "\nfinancialPerformance.ColumnSlices = new string[]{\"GroupOfContract\"};", + "\nfinancialPerformance.DataFilter = null;", "\n(await financialPerformance.ToReportAsync) with { Height = 900, GroupDefaultExpanded = 3}" ], "metadata": {}, From 8b6499027cb5869b277bab6816caa06830e3254c Mon Sep 17 00:00:00 2001 From: Daniel Trzesniak Date: Mon, 12 Dec 2022 09:26:11 +0100 Subject: [PATCH 13/37] Better number --- .../Files/TransactionalData/Actuals_ActualsCase_CH_2021_6.csv | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ifrs17-template/Files/TransactionalData/Actuals_ActualsCase_CH_2021_6.csv b/ifrs17-template/Files/TransactionalData/Actuals_ActualsCase_CH_2021_6.csv index 2714e041..822a34f6 100644 --- a/ifrs17-template/Files/TransactionalData/Actuals_ActualsCase_CH_2021_6.csv +++ b/ifrs17-template/Files/TransactionalData/Actuals_ActualsCase_CH_2021_6.csv @@ -13,4 +13,4 @@ MZ2.3,CF,NIC,,-221 MZ2.3,WO,ReceivableNIC,,75 MZ2.4,CF,PR,,296 MZ2.4,CF,NIC,,-221 -MZ2.4,CF,PayablePR,,100 +MZ2.4,CF,PayablePR,,50 From 8dd72b7e3ec8a3b8892b3ceff562b7d80cf3ad11 Mon Sep 17 00:00:00 2001 From: Daniel Trzesniak Date: Mon, 12 Dec 2022 20:53:34 +0100 Subject: [PATCH 14/37] some text --- .../Actuals_ActualsCase_CH_2021_6.csv | 2 +- .../Report/ActualsUseCaseReports.ipynb | 136 ++++++++++-------- 2 files changed, 76 insertions(+), 62 deletions(-) diff --git a/ifrs17-template/Files/TransactionalData/Actuals_ActualsCase_CH_2021_6.csv b/ifrs17-template/Files/TransactionalData/Actuals_ActualsCase_CH_2021_6.csv index 822a34f6..2714e041 100644 --- a/ifrs17-template/Files/TransactionalData/Actuals_ActualsCase_CH_2021_6.csv +++ b/ifrs17-template/Files/TransactionalData/Actuals_ActualsCase_CH_2021_6.csv @@ -13,4 +13,4 @@ MZ2.3,CF,NIC,,-221 MZ2.3,WO,ReceivableNIC,,75 MZ2.4,CF,PR,,296 MZ2.4,CF,NIC,,-221 -MZ2.4,CF,PayablePR,,50 +MZ2.4,CF,PayablePR,,100 diff --git a/ifrs17-template/Report/ActualsUseCaseReports.ipynb b/ifrs17-template/Report/ActualsUseCaseReports.ipynb index 5d7b8c9b..34542e75 100644 --- a/ifrs17-template/Report/ActualsUseCaseReports.ipynb +++ b/ifrs17-template/Report/ActualsUseCaseReports.ipynb @@ -20,7 +20,7 @@ { "cell_type": "markdown", "source": [ - "

Actuals Case

" + "

Actuals Case: Written vs Effective Cashflows

" ], "metadata": {}, "execution_count": 0, @@ -29,7 +29,21 @@ { "cell_type": "markdown", "source": [ - "In this case study we look at actuals" + "Usually, actuarial cashflows for portfolio valuations are modelled on a \"due\" or \"written\" basis, meaning they are derived from the corresponding contractual obligations.", + "\nHowever, it is normal that the e‘fective cashflows will not exactly follow the expected written ones and will therefore not be inside the reporting period.", + "\n", + "\nIn this case study we look at the effects of cashflows happening outside the expected reporting period. The reconciliation between the written and effective cashflows is usually handled by elements called Actuals. This reconciliation is necessary, since the IFRS 17 Standard requires insurance liabilities to be measured according to the effective cashflows", + "\n", + "\nWe will now look at a few scenarios in reference to a base case:", + "\n", + "\n - MZ 2.1 Written: all cashflows for this GIC follow exactly the written cashflows expected in the atuarial model. It is our base case.", + "\n - MZ 2.2 OA Premium: in this case the Premium is overdue in the 1st reporting period (Receivable Premium). In the subsequent periods, some is received and some is written off.", + "\n - MZ 2.3 AA Claim: in this case the Claim is paid in advance in the 1st reporting period (Receivable Claim). In the subsequent periods, some is received and some is written off.", + "\n - MZ 2.4 AA Premium / OA Claim: in this case we have received Premium in advance (Payable Premium), and also have delayed the Claim payment (Payable Claim). In the subsequent periods, we have settled the actuals accordingly.", + "\n", + "\nThe only difference between all cases is the timing of the effective cashflows (paid in advance and overdue actuals), with all other inputs and parameters exctly the same.", + "\nWe have modelled 2 year (2020 and 2021) and assume that we start with New Business in 2020 and the portfolio completely runs-off in 2021.", + "\n" ], "metadata": {}, "execution_count": 0, @@ -217,7 +231,7 @@ { "cell_type": "markdown", "source": [ - "# Written Actuals" + "# Fulfilment Cash flow" ], "metadata": {}, "execution_count": 0, @@ -235,12 +249,12 @@ { "cell_type": "code", "source": [ - "var writtenActual = ifrs17.WrittenActuals;", - "\nwrittenActual.ReportingNode = \"CH\";", - "\nwrittenActual.ReportingPeriod = (2020, 12);", - "\nwrittenActual.ColumnSlices = new string[]{};", - "\nwrittenActual.DataFilter = new []{ (\"GroupOfContract\", \"MZ2.1\") };", - "\n(await writtenActual.ToReportAsync) with {Height = 400}" + "var fulfillmentCashflows = ifrs17.FulfillmentCashflows;", + "\nfulfillmentCashflows.ReportingNode = \"CH\";", + "\nfulfillmentCashflows.ReportingPeriod = (2020, 12);", + "\nfulfillmentCashflows.ColumnSlices = new string[]{\"EstimateType\"};", + "\nfulfillmentCashflows.DataFilter = new []{ (\"GroupOfContract\", \"MZ2.1\") };", + "\n(await fulfillmentCashflows.ToReportAsync) with {Height = 750}" ], "metadata": {}, "execution_count": 0, @@ -249,7 +263,7 @@ { "cell_type": "markdown", "source": [ - "## 2020 6" + "## 2021 6" ], "metadata": {}, "execution_count": 0, @@ -258,12 +272,12 @@ { "cell_type": "code", "source": [ - "var writtenActual = ifrs17.WrittenActuals;", - "\nwrittenActual.ReportingNode = \"CH\";", - "\nwrittenActual.ReportingPeriod = (2021, 6);", - "\nwrittenActual.ColumnSlices = new string[]{};", - "\nwrittenActual.DataFilter = new []{ (\"GroupOfContract\", \"MZ2.1\") };", - "\n(await writtenActual.ToReportAsync) with {Height = 400}" + "var fulfillmentCashflows = ifrs17.FulfillmentCashflows;", + "\nfulfillmentCashflows.ReportingNode = \"CH\";", + "\nfulfillmentCashflows.ReportingPeriod = (2021, 6);", + "\nfulfillmentCashflows.ColumnSlices = new string[]{\"EstimateType\"};", + "\nfulfillmentCashflows.DataFilter = new []{ (\"GroupOfContract\", \"MZ2.1\") };", + "\n(await fulfillmentCashflows.ToReportAsync) with {Height = 750}" ], "metadata": {}, "execution_count": 0, @@ -281,12 +295,12 @@ { "cell_type": "code", "source": [ - "var writtenActual = ifrs17.WrittenActuals;", - "\nwrittenActual.ReportingNode = \"CH\";", - "\nwrittenActual.ReportingPeriod = (2021, 12);", - "\nwrittenActual.ColumnSlices = new string[]{};", - "\nwrittenActual.DataFilter = new []{ (\"GroupOfContract\", \"MZ2.1\") };", - "\n(await writtenActual.ToReportAsync) with {Height = 400}" + "var fulfillmentCashflows = ifrs17.FulfillmentCashflows;", + "\nfulfillmentCashflows.ReportingNode = \"CH\";", + "\nfulfillmentCashflows.ReportingPeriod = (2021, 12);", + "\nfulfillmentCashflows.ColumnSlices = new string[]{\"EstimateType\"};", + "\nfulfillmentCashflows.DataFilter = new []{ (\"GroupOfContract\", \"MZ2.1\") };", + "\n(await fulfillmentCashflows.ToReportAsync) with {Height = 750}" ], "metadata": {}, "execution_count": 0, @@ -295,7 +309,7 @@ { "cell_type": "markdown", "source": [ - "# Paid in Advance and Overdue Actuals" + "# Written Actuals" ], "metadata": {}, "execution_count": 0, @@ -313,12 +327,12 @@ { "cell_type": "code", "source": [ - "var accrualActual = ifrs17.AccrualActuals;", - "\naccrualActual.ReportingNode = \"CH\";", - "\naccrualActual.ReportingPeriod = (2020, 12);", - "\naccrualActual.ColumnSlices = new string[]{ \"GroupOfContract\", \"EstimateType\", \"AmountType\" };//\"GroupOfContract\", \"AmountType\"", - "\naccrualActual.DataFilter = null; //new [] {(\"EstimateType\", \"AA\")};", - "\n(await accrualActual.ToReportAsync) with {Height = 400}" + "var writtenActual = ifrs17.WrittenActuals;", + "\nwrittenActual.ReportingNode = \"CH\";", + "\nwrittenActual.ReportingPeriod = (2020, 12);", + "\nwrittenActual.ColumnSlices = new string[]{};", + "\nwrittenActual.DataFilter = new []{ (\"GroupOfContract\", \"MZ2.1\") };", + "\n(await writtenActual.ToReportAsync) with {Height = 400}" ], "metadata": {}, "execution_count": 0, @@ -327,7 +341,7 @@ { "cell_type": "markdown", "source": [ - "## 2021 6" + "## 2020 6" ], "metadata": {}, "execution_count": 0, @@ -336,12 +350,12 @@ { "cell_type": "code", "source": [ - "var accrualActual = ifrs17.AccrualActuals;", - "\naccrualActual.ReportingNode = \"CH\";", - "\naccrualActual.ReportingPeriod = (2021, 6);", - "\naccrualActual.ColumnSlices = new string[]{ \"GroupOfContract\", \"EstimateType\", \"AmountType\" };//\"GroupOfContract\", \"AmountType\"", - "\naccrualActual.DataFilter = null; //new [] {(\"EstimateType\", \"AA\")};", - "\n(await accrualActual.ToReportAsync) with {Height = 400}" + "var writtenActual = ifrs17.WrittenActuals;", + "\nwrittenActual.ReportingNode = \"CH\";", + "\nwrittenActual.ReportingPeriod = (2021, 6);", + "\nwrittenActual.ColumnSlices = new string[]{};", + "\nwrittenActual.DataFilter = new []{ (\"GroupOfContract\", \"MZ2.1\") };", + "\n(await writtenActual.ToReportAsync) with {Height = 400}" ], "metadata": {}, "execution_count": 0, @@ -359,12 +373,12 @@ { "cell_type": "code", "source": [ - "var accrualActual = ifrs17.AccrualActuals;", - "\naccrualActual.ReportingNode = \"CH\";", - "\naccrualActual.ReportingPeriod = (2021, 12);", - "\naccrualActual.ColumnSlices = new string[]{ \"GroupOfContract\", \"EstimateType\", \"AmountType\" };//\"GroupOfContract\", \"AmountType\"", - "\naccrualActual.DataFilter = null; //new [] {(\"EstimateType\", \"AA\")};", - "\n(await accrualActual.ToReportAsync) with {Height = 400}" + "var writtenActual = ifrs17.WrittenActuals;", + "\nwrittenActual.ReportingNode = \"CH\";", + "\nwrittenActual.ReportingPeriod = (2021, 12);", + "\nwrittenActual.ColumnSlices = new string[]{};", + "\nwrittenActual.DataFilter = new []{ (\"GroupOfContract\", \"MZ2.1\") };", + "\n(await writtenActual.ToReportAsync) with {Height = 400}" ], "metadata": {}, "execution_count": 0, @@ -373,7 +387,7 @@ { "cell_type": "markdown", "source": [ - "# Fulfilment Cash flow" + "# Paid in Advance and Overdue Actuals" ], "metadata": {}, "execution_count": 0, @@ -391,12 +405,12 @@ { "cell_type": "code", "source": [ - "var fulfillmentCashflows = ifrs17.FulfillmentCashflows;", - "\nfulfillmentCashflows.ReportingNode = \"CH\";", - "\nfulfillmentCashflows.ReportingPeriod = (2020, 12);", - "\nfulfillmentCashflows.ColumnSlices = new string[]{\"EstimateType\"};", - "\nfulfillmentCashflows.DataFilter = new []{ (\"GroupOfContract\", \"MZ2.1\") };", - "\n(await fulfillmentCashflows.ToReportAsync) with {Height = 750}" + "var accrualActual = ifrs17.AccrualActuals;", + "\naccrualActual.ReportingNode = \"CH\";", + "\naccrualActual.ReportingPeriod = (2020, 12);", + "\naccrualActual.ColumnSlices = new string[]{ \"GroupOfContract\", \"EstimateType\", \"AmountType\" };//\"GroupOfContract\", \"AmountType\"", + "\naccrualActual.DataFilter = null; //new [] {(\"EstimateType\", \"AA\")};", + "\n(await accrualActual.ToReportAsync) with {Height = 400}" ], "metadata": {}, "execution_count": 0, @@ -414,12 +428,12 @@ { "cell_type": "code", "source": [ - "var fulfillmentCashflows = ifrs17.FulfillmentCashflows;", - "\nfulfillmentCashflows.ReportingNode = \"CH\";", - "\nfulfillmentCashflows.ReportingPeriod = (2021, 6);", - "\nfulfillmentCashflows.ColumnSlices = new string[]{\"EstimateType\"};", - "\nfulfillmentCashflows.DataFilter = new []{ (\"GroupOfContract\", \"MZ2.1\") };", - "\n(await fulfillmentCashflows.ToReportAsync) with {Height = 750}" + "var accrualActual = ifrs17.AccrualActuals;", + "\naccrualActual.ReportingNode = \"CH\";", + "\naccrualActual.ReportingPeriod = (2021, 6);", + "\naccrualActual.ColumnSlices = new string[]{ \"GroupOfContract\", \"EstimateType\", \"AmountType\" };//\"GroupOfContract\", \"AmountType\"", + "\naccrualActual.DataFilter = null; //new [] {(\"EstimateType\", \"AA\")};", + "\n(await accrualActual.ToReportAsync) with {Height = 400}" ], "metadata": {}, "execution_count": 0, @@ -437,12 +451,12 @@ { "cell_type": "code", "source": [ - "var fulfillmentCashflows = ifrs17.FulfillmentCashflows;", - "\nfulfillmentCashflows.ReportingNode = \"CH\";", - "\nfulfillmentCashflows.ReportingPeriod = (2021, 12);", - "\nfulfillmentCashflows.ColumnSlices = new string[]{\"EstimateType\"};", - "\nfulfillmentCashflows.DataFilter = new []{ (\"GroupOfContract\", \"MZ2.1\") };", - "\n(await fulfillmentCashflows.ToReportAsync) with {Height = 750}" + "var accrualActual = ifrs17.AccrualActuals;", + "\naccrualActual.ReportingNode = \"CH\";", + "\naccrualActual.ReportingPeriod = (2021, 12);", + "\naccrualActual.ColumnSlices = new string[]{ \"GroupOfContract\", \"EstimateType\", \"AmountType\" };//\"GroupOfContract\", \"AmountType\"", + "\naccrualActual.DataFilter = null; //new [] {(\"EstimateType\", \"AA\")};", + "\n(await accrualActual.ToReportAsync) with {Height = 400}" ], "metadata": {}, "execution_count": 0, From 5a5ae03fd4cc8720a0500ba8957cf01593e3acfe Mon Sep 17 00:00:00 2001 From: Daniel Trzesniak Date: Mon, 12 Dec 2022 20:55:33 +0100 Subject: [PATCH 15/37] more text --- ifrs17-template/Report/ActualsUseCaseReports.ipynb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ifrs17-template/Report/ActualsUseCaseReports.ipynb b/ifrs17-template/Report/ActualsUseCaseReports.ipynb index 34542e75..ede25244 100644 --- a/ifrs17-template/Report/ActualsUseCaseReports.ipynb +++ b/ifrs17-template/Report/ActualsUseCaseReports.ipynb @@ -43,6 +43,8 @@ "\n", "\nThe only difference between all cases is the timing of the effective cashflows (paid in advance and overdue actuals), with all other inputs and parameters exctly the same.", "\nWe have modelled 2 year (2020 and 2021) and assume that we start with New Business in 2020 and the portfolio completely runs-off in 2021.", + "\n", + "\nThis is a Gross case, and a similar exercise can also be performed for Reinsurance.", "\n" ], "metadata": {}, From 9a32680d70f7e20a7cfcb4609d9622251d4163a4 Mon Sep 17 00:00:00 2001 From: Daniel Trzesniak Date: Wed, 14 Dec 2022 16:29:53 +0100 Subject: [PATCH 16/37] reset --- ifrs17/Utils/ImportCalculationMethods.ipynb | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/ifrs17/Utils/ImportCalculationMethods.ipynb b/ifrs17/Utils/ImportCalculationMethods.ipynb index 41c1899c..c783cc39 100644 --- a/ifrs17/Utils/ImportCalculationMethods.ipynb +++ b/ifrs17/Utils/ImportCalculationMethods.ipynb @@ -271,15 +271,6 @@ "metadata": {}, "execution_count": 0, "outputs": [] - }, - { - "cell_type": "code", - "source": [ - "" - ], - "metadata": {}, - "execution_count": 0, - "outputs": [] } ] -} \ No newline at end of file +} From 3737aab129d00920fe4b960d3d5ef12fac4d9864 Mon Sep 17 00:00:00 2001 From: Daniel Trzesniak Date: Thu, 15 Dec 2022 10:17:10 +0100 Subject: [PATCH 17/37] Moving files --- .../ActualsUseCaseDataImport.ipynb | 87 ++++++++++++++++--- .../ActualsUseCaseReports.ipynb | 79 ++++++++++++++--- .../Actuals_ActualsCase_CH_2020_12.csv | 0 .../Actuals_ActualsCase_CH_2021_12.csv | 0 .../Actuals_ActualsCase_CH_2021_6.csv | 0 ...taNodeParameters_ActualsCase_CH_2020_1.csv | 0 .../DataNodeStates_ActualsCase_CH_2020_1.csv | 0 .../DataNodes_ActualsCase_CH.csv | 14 +++ ...ominalCashflows_ActualsCase_CH_2020_12.csv | 0 ...ominalCashflows_ActualsCase_CH_2021_12.csv | 0 ...NominalCashflows_ActualsCase_CH_2021_6.csv | 0 11 files changed, 157 insertions(+), 23 deletions(-) rename ifrs17-template/{Report => PracticalUseCases/ActualsOutsideThePeriod}/ActualsUseCaseDataImport.ipynb (59%) rename ifrs17-template/{Report => PracticalUseCases/ActualsOutsideThePeriod}/ActualsUseCaseReports.ipynb (88%) rename ifrs17-template/{Files/TransactionalData => PracticalUseCases/ActualsOutsideThePeriod}/Actuals_ActualsCase_CH_2020_12.csv (100%) rename ifrs17-template/{Files/TransactionalData => PracticalUseCases/ActualsOutsideThePeriod}/Actuals_ActualsCase_CH_2021_12.csv (100%) rename ifrs17-template/{Files/TransactionalData => PracticalUseCases/ActualsOutsideThePeriod}/Actuals_ActualsCase_CH_2021_6.csv (100%) rename ifrs17-template/{Files/DataNodes => PracticalUseCases/ActualsOutsideThePeriod}/DataNodeParameters_ActualsCase_CH_2020_1.csv (100%) rename ifrs17-template/{Files/DataNodes => PracticalUseCases/ActualsOutsideThePeriod}/DataNodeStates_ActualsCase_CH_2020_1.csv (100%) create mode 100644 ifrs17-template/PracticalUseCases/ActualsOutsideThePeriod/DataNodes_ActualsCase_CH.csv rename ifrs17-template/{Files/TransactionalData => PracticalUseCases/ActualsOutsideThePeriod}/NominalCashflows_ActualsCase_CH_2020_12.csv (100%) rename ifrs17-template/{Files/TransactionalData => PracticalUseCases/ActualsOutsideThePeriod}/NominalCashflows_ActualsCase_CH_2021_12.csv (100%) rename ifrs17-template/{Files/TransactionalData => PracticalUseCases/ActualsOutsideThePeriod}/NominalCashflows_ActualsCase_CH_2021_6.csv (100%) diff --git a/ifrs17-template/Report/ActualsUseCaseDataImport.ipynb b/ifrs17-template/PracticalUseCases/ActualsOutsideThePeriod/ActualsUseCaseDataImport.ipynb similarity index 59% rename from ifrs17-template/Report/ActualsUseCaseDataImport.ipynb rename to ifrs17-template/PracticalUseCases/ActualsOutsideThePeriod/ActualsUseCaseDataImport.ipynb index cdbeeaf1..2383597f 100644 --- a/ifrs17-template/Report/ActualsUseCaseDataImport.ipynb +++ b/ifrs17-template/PracticalUseCases/ActualsOutsideThePeriod/ActualsUseCaseDataImport.ipynb @@ -20,7 +20,7 @@ { "cell_type": "markdown", "source": [ - "

Actuals Case Data Import

" + "

Actuals Outside the Period Case Data Import

" ], "metadata": {}, "execution_count": 0, @@ -29,7 +29,7 @@ { "cell_type": "markdown", "source": [ - "In this case study we look at actuals. Here we import the data we need." + "This is the Data Import notebook for the Actuals Outside the Period case." ], "metadata": {}, "execution_count": 0, @@ -44,10 +44,19 @@ "execution_count": 0, "outputs": [] }, + { + "cell_type": "markdown", + "source": [ + "## Reference Data and Parameters" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, { "cell_type": "code", "source": [ - "#!import \"../Initialization/InitSystemorphRefDataToMemory\"" + "#!import \"../../Initialization/InitSystemorphRefDataToMemory\"" ], "metadata": {}, "execution_count": 0, @@ -63,10 +72,19 @@ "execution_count": 0, "outputs": [] }, + { + "cell_type": "markdown", + "source": [ + "## Data Nodes" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, { "cell_type": "code", "source": [ - "await Import.FromFile(\"../Files/DataNodes/DataNodes_ActualsCase_CH.csv\").WithFormat(ImportFormats.DataNode).WithTarget(DataSource).ExecuteAsync()" + "await Import.FromFile(\"DataNodes_ActualsCase_CH.csv\").WithFormat(ImportFormats.DataNode).WithTarget(DataSource).ExecuteAsync()" ], "metadata": {}, "execution_count": 0, @@ -75,7 +93,7 @@ { "cell_type": "code", "source": [ - "await Import.FromFile(\"../Files/DataNodes/DataNodeStates_ActualsCase_CH_2020_1.csv\").WithFormat(ImportFormats.DataNodeState).WithTarget(DataSource).ExecuteAsync()" + "await Import.FromFile(\"DataNodeStates_ActualsCase_CH_2020_1.csv\").WithFormat(ImportFormats.DataNodeState).WithTarget(DataSource).ExecuteAsync()" ], "metadata": {}, "execution_count": 0, @@ -84,7 +102,7 @@ { "cell_type": "code", "source": [ - "await Import.FromFile(\"../Files/DataNodes/DataNodeParameters_ActualsCase_CH_2020_1.csv\").WithFormat(ImportFormats.DataNodeParameter).WithTarget(DataSource).ExecuteAsync()" + "await Import.FromFile(\"DataNodeParameters_ActualsCase_CH_2020_1.csv\").WithFormat(ImportFormats.DataNodeParameter).WithTarget(DataSource).ExecuteAsync()" ], "metadata": {}, "execution_count": 0, @@ -109,10 +127,28 @@ "execution_count": 0, "outputs": [] }, + { + "cell_type": "markdown", + "source": [ + "## Transactional Data" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "### 2020 12" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, { "cell_type": "code", "source": [ - "await Import.FromFile(\"../Files/TransactionalData/NominalCashflows_ActualsCase_CH_2020_12.csv\").WithFormat(ImportFormats.Cashflow).WithTarget(DataSource).ExecuteAsync()" + "await Import.FromFile(\"NominalCashflows_ActualsCase_CH_2020_12.csv\").WithFormat(ImportFormats.Cashflow).WithTarget(DataSource).ExecuteAsync()" ], "metadata": {}, "execution_count": 0, @@ -121,7 +157,16 @@ { "cell_type": "code", "source": [ - "await Import.FromFile(\"../Files/TransactionalData/Actuals_ActualsCase_CH_2020_12.csv\").WithFormat(ImportFormats.Actual).WithTarget(DataSource).ExecuteAsync()" + "await Import.FromFile(\"Actuals_ActualsCase_CH_2020_12.csv\").WithFormat(ImportFormats.Actual).WithTarget(DataSource).ExecuteAsync()" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "### 2021 6" ], "metadata": {}, "execution_count": 0, @@ -130,7 +175,7 @@ { "cell_type": "code", "source": [ - "await Import.FromFile(\"../Files/TransactionalData/NominalCashflows_ActualsCase_CH_2021_6.csv\").WithFormat(ImportFormats.Cashflow).WithTarget(DataSource).ExecuteAsync()" + "await Import.FromFile(\"NominalCashflows_ActualsCase_CH_2021_6.csv\").WithFormat(ImportFormats.Cashflow).WithTarget(DataSource).ExecuteAsync()" ], "metadata": {}, "execution_count": 0, @@ -139,7 +184,16 @@ { "cell_type": "code", "source": [ - "await Import.FromFile(\"../Files/TransactionalData/Actuals_ActualsCase_CH_2021_6.csv\").WithFormat(ImportFormats.Actual).WithTarget(DataSource).ExecuteAsync()" + "await Import.FromFile(\"Actuals_ActualsCase_CH_2021_6.csv\").WithFormat(ImportFormats.Actual).WithTarget(DataSource).ExecuteAsync()" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "### 2021 12" ], "metadata": {}, "execution_count": 0, @@ -148,7 +202,7 @@ { "cell_type": "code", "source": [ - "await Import.FromFile(\"../Files/TransactionalData/NominalCashflows_ActualsCase_CH_2021_12.csv\").WithFormat(ImportFormats.Cashflow).WithTarget(DataSource).ExecuteAsync()" + "await Import.FromFile(\"NominalCashflows_ActualsCase_CH_2021_12.csv\").WithFormat(ImportFormats.Cashflow).WithTarget(DataSource).ExecuteAsync()" ], "metadata": {}, "execution_count": 0, @@ -157,7 +211,16 @@ { "cell_type": "code", "source": [ - "await Import.FromFile(\"../Files/TransactionalData/Actuals_ActualsCase_CH_2021_12.csv\").WithFormat(ImportFormats.Actual).WithTarget(DataSource).ExecuteAsync()" + "await Import.FromFile(\"Actuals_ActualsCase_CH_2021_12.csv\").WithFormat(ImportFormats.Actual).WithTarget(DataSource).ExecuteAsync()" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "## Reset Workspace" ], "metadata": {}, "execution_count": 0, diff --git a/ifrs17-template/Report/ActualsUseCaseReports.ipynb b/ifrs17-template/PracticalUseCases/ActualsOutsideThePeriod/ActualsUseCaseReports.ipynb similarity index 88% rename from ifrs17-template/Report/ActualsUseCaseReports.ipynb rename to ifrs17-template/PracticalUseCases/ActualsOutsideThePeriod/ActualsUseCaseReports.ipynb index ede25244..74854ce9 100644 --- a/ifrs17-template/Report/ActualsUseCaseReports.ipynb +++ b/ifrs17-template/PracticalUseCases/ActualsOutsideThePeriod/ActualsUseCaseReports.ipynb @@ -20,7 +20,9 @@ { "cell_type": "markdown", "source": [ - "

Actuals Case: Written vs Effective Cashflows

" + "

Actuals Outside the Period Case

", + "\n", + "\n

Written vs Effective Cashflows Gross

" ], "metadata": {}, "execution_count": 0, @@ -32,19 +34,18 @@ "Usually, actuarial cashflows for portfolio valuations are modelled on a \"due\" or \"written\" basis, meaning they are derived from the corresponding contractual obligations.", "\nHowever, it is normal that the e‘fective cashflows will not exactly follow the expected written ones and will therefore not be inside the reporting period.", "\n", - "\nIn this case study we look at the effects of cashflows happening outside the expected reporting period. The reconciliation between the written and effective cashflows is usually handled by elements called Actuals. This reconciliation is necessary, since the IFRS 17 Standard requires insurance liabilities to be measured according to the effective cashflows", + "\nIn this case study we look at the effects of cashflows happening outside the expected reporting period. The reconciliation between the written and effective cashflows is usually handled by the Actuals. This reconciliation is necessary, since the IFRS 17 Standard requires insurance liabilities to be measured according to the effective cashflows.", "\n", - "\nWe will now look at a few scenarios in reference to a base case:", + "\nWe will now look at a few scenarios in reference to a base case. We have modelled 3 reporting periods (2020 12, 2021 6 and 2021 12, where the first number is the reporting year and the second is the reporting month) and assume that we start with New Business in the beginning of 2020 and the portfolio completely runs-off in the end of 2021.", "\n", - "\n - MZ 2.1 Written: all cashflows for this GIC follow exactly the written cashflows expected in the atuarial model. It is our base case.", - "\n - MZ 2.2 OA Premium: in this case the Premium is overdue in the 1st reporting period (Receivable Premium). In the subsequent periods, some is received and some is written off.", - "\n - MZ 2.3 AA Claim: in this case the Claim is paid in advance in the 1st reporting period (Receivable Claim). In the subsequent periods, some is received and some is written off.", - "\n - MZ 2.4 AA Premium / OA Claim: in this case we have received Premium in advance (Payable Premium), and also have delayed the Claim payment (Payable Claim). In the subsequent periods, we have settled the actuals accordingly.", + "\nWe are modelling the Gross case and have defined the following GICs (Valuation Approach is BBA):", "\n", - "\nThe only difference between all cases is the timing of the effective cashflows (paid in advance and overdue actuals), with all other inputs and parameters exctly the same.", - "\nWe have modelled 2 year (2020 and 2021) and assume that we start with New Business in 2020 and the portfolio completely runs-off in 2021.", + "\n - **MZ 2.1 Written**: all cashflows for this GIC follow exactly the written cashflows expected in the atuarial model. It is our base case.", + "\n - **MZ 2.2 OA Premium**: in this case the **Premium is overdue** in the 1st reporting period (**Receivable Premium**). In the subsequent periods, some is received and some is written off.", + "\n - **MZ 2.3 AA Claim**: in this case the **Claim is paid in advance** in the 1st reporting period (**Receivable Claim**). In the subsequent periods, some is received and some is written off.", + "\n - **MZ 2.4 AA Premium / OA Claim**: in this case we have received **Premium in advance** (**Payable Premium**), and also have an **overdue Claim** payment (**Payable Claim**). In the subsequent periods, we have settled the actuals accordingly.", "\n", - "\nThis is a Gross case, and a similar exercise can also be performed for Reinsurance.", + "\nThe only difference between all cases is the timing of the effective cashflows (paid in advance and overdue actuals), with all other inputs and parameters exctly the same. For simplicity, we only added Premium and Claims (Non Investment Component) amount types.", "\n" ], "metadata": {}, @@ -60,6 +61,15 @@ "execution_count": 0, "outputs": [] }, + { + "cell_type": "markdown", + "source": [ + "We call the ActualsUseCaseDataImport notebook, where the data is imported." + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, { "cell_type": "code", "source": [ @@ -80,6 +90,15 @@ "execution_count": 0, "outputs": [] }, + { + "cell_type": "markdown", + "source": [ + "We start by looking at the Best Estimate Present Value of Cashflows of MZ 2.1 Written (base case) for the 3 reporting periods." + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, { "cell_type": "markdown", "source": [ @@ -161,6 +180,15 @@ "execution_count": 0, "outputs": [] }, + { + "cell_type": "markdown", + "source": [ + "We now look at the Best Estimate Risk Adjustment of MZ 2.1 Written (base case) for the 3 reporting periods." + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, { "cell_type": "markdown", "source": [ @@ -233,7 +261,16 @@ { "cell_type": "markdown", "source": [ - "# Fulfilment Cash flow" + "# Fulfilment Cash Flow" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "The corresponding Fulfilment Cash Flows of MZ 2.1 Written (base case) for the 3 reporting periods are shown below." ], "metadata": {}, "execution_count": 0, @@ -317,6 +354,15 @@ "execution_count": 0, "outputs": [] }, + { + "cell_type": "markdown", + "source": [ + "We now look at the Written Actuals of MZ 2.1 Written (base case) for the 3 reporting periods. These actuals are also the same for all cases, as they Written Actuals follow the contractual obligations." + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, { "cell_type": "markdown", "source": [ @@ -395,6 +441,17 @@ "execution_count": 0, "outputs": [] }, + { + "cell_type": "markdown", + "source": [ + "As this point we start to have differences for all scenarios. We show below the effective actuals, i.e., those falling outside the reporting period, also known as Payables and Receivables.", + "\n", + "\nThe case case MZ 2.1 Written will not show any data by design, as all effective actuals and corresponding due dates occur within the reporting period." + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, { "cell_type": "markdown", "source": [ diff --git a/ifrs17-template/Files/TransactionalData/Actuals_ActualsCase_CH_2020_12.csv b/ifrs17-template/PracticalUseCases/ActualsOutsideThePeriod/Actuals_ActualsCase_CH_2020_12.csv similarity index 100% rename from ifrs17-template/Files/TransactionalData/Actuals_ActualsCase_CH_2020_12.csv rename to ifrs17-template/PracticalUseCases/ActualsOutsideThePeriod/Actuals_ActualsCase_CH_2020_12.csv diff --git a/ifrs17-template/Files/TransactionalData/Actuals_ActualsCase_CH_2021_12.csv b/ifrs17-template/PracticalUseCases/ActualsOutsideThePeriod/Actuals_ActualsCase_CH_2021_12.csv similarity index 100% rename from ifrs17-template/Files/TransactionalData/Actuals_ActualsCase_CH_2021_12.csv rename to ifrs17-template/PracticalUseCases/ActualsOutsideThePeriod/Actuals_ActualsCase_CH_2021_12.csv diff --git a/ifrs17-template/Files/TransactionalData/Actuals_ActualsCase_CH_2021_6.csv b/ifrs17-template/PracticalUseCases/ActualsOutsideThePeriod/Actuals_ActualsCase_CH_2021_6.csv similarity index 100% rename from ifrs17-template/Files/TransactionalData/Actuals_ActualsCase_CH_2021_6.csv rename to ifrs17-template/PracticalUseCases/ActualsOutsideThePeriod/Actuals_ActualsCase_CH_2021_6.csv diff --git a/ifrs17-template/Files/DataNodes/DataNodeParameters_ActualsCase_CH_2020_1.csv b/ifrs17-template/PracticalUseCases/ActualsOutsideThePeriod/DataNodeParameters_ActualsCase_CH_2020_1.csv similarity index 100% rename from ifrs17-template/Files/DataNodes/DataNodeParameters_ActualsCase_CH_2020_1.csv rename to ifrs17-template/PracticalUseCases/ActualsOutsideThePeriod/DataNodeParameters_ActualsCase_CH_2020_1.csv diff --git a/ifrs17-template/Files/DataNodes/DataNodeStates_ActualsCase_CH_2020_1.csv b/ifrs17-template/PracticalUseCases/ActualsOutsideThePeriod/DataNodeStates_ActualsCase_CH_2020_1.csv similarity index 100% rename from ifrs17-template/Files/DataNodes/DataNodeStates_ActualsCase_CH_2020_1.csv rename to ifrs17-template/PracticalUseCases/ActualsOutsideThePeriod/DataNodeStates_ActualsCase_CH_2020_1.csv diff --git a/ifrs17-template/PracticalUseCases/ActualsOutsideThePeriod/DataNodes_ActualsCase_CH.csv b/ifrs17-template/PracticalUseCases/ActualsOutsideThePeriod/DataNodes_ActualsCase_CH.csv new file mode 100644 index 00000000..cde31212 --- /dev/null +++ b/ifrs17-template/PracticalUseCases/ActualsOutsideThePeriod/DataNodes_ActualsCase_CH.csv @@ -0,0 +1,14 @@ +@@Main,,,,, +ReportingNode,,,,, +CH,,,,, +,,,,, +@@InsurancePortfolio,,,,, +SystemName,DisplayName,ContractualCurrency,LineOfBusiness,ValuationApproach,OciType +MZ2,Actuals Case,CHF,ANN,BBA,Default +,,,,, +@@GroupOfInsuranceContract,,,,, +SystemName,DisplayName,InsurancePortfolio,AnnualCohort,LiabilityType,Profitability +MZ2.1,MZ 2.1 Written,MZ2,2020,LRC,P +MZ2.2,MZ 2.2 OA Premium,MZ2,2020,LRC,P +MZ2.3,MZ 2.3 AA Claim,MZ2,2020,LRC,P +MZ2.4,MZ 2.4 AA Premium / OA Claim,MZ2,2020,LRC,P diff --git a/ifrs17-template/Files/TransactionalData/NominalCashflows_ActualsCase_CH_2020_12.csv b/ifrs17-template/PracticalUseCases/ActualsOutsideThePeriod/NominalCashflows_ActualsCase_CH_2020_12.csv similarity index 100% rename from ifrs17-template/Files/TransactionalData/NominalCashflows_ActualsCase_CH_2020_12.csv rename to ifrs17-template/PracticalUseCases/ActualsOutsideThePeriod/NominalCashflows_ActualsCase_CH_2020_12.csv diff --git a/ifrs17-template/Files/TransactionalData/NominalCashflows_ActualsCase_CH_2021_12.csv b/ifrs17-template/PracticalUseCases/ActualsOutsideThePeriod/NominalCashflows_ActualsCase_CH_2021_12.csv similarity index 100% rename from ifrs17-template/Files/TransactionalData/NominalCashflows_ActualsCase_CH_2021_12.csv rename to ifrs17-template/PracticalUseCases/ActualsOutsideThePeriod/NominalCashflows_ActualsCase_CH_2021_12.csv diff --git a/ifrs17-template/Files/TransactionalData/NominalCashflows_ActualsCase_CH_2021_6.csv b/ifrs17-template/PracticalUseCases/ActualsOutsideThePeriod/NominalCashflows_ActualsCase_CH_2021_6.csv similarity index 100% rename from ifrs17-template/Files/TransactionalData/NominalCashflows_ActualsCase_CH_2021_6.csv rename to ifrs17-template/PracticalUseCases/ActualsOutsideThePeriod/NominalCashflows_ActualsCase_CH_2021_6.csv From 3a7f1e2833f6918bde393167719b4e6daa1f013f Mon Sep 17 00:00:00 2001 From: Daniel Trzesniak Date: Thu, 15 Dec 2022 10:31:44 +0100 Subject: [PATCH 18/37] Text --- .../ActualsUseCaseReports.ipynb | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/ifrs17-template/PracticalUseCases/ActualsOutsideThePeriod/ActualsUseCaseReports.ipynb b/ifrs17-template/PracticalUseCases/ActualsOutsideThePeriod/ActualsUseCaseReports.ipynb index 74854ce9..4e7b185c 100644 --- a/ifrs17-template/PracticalUseCases/ActualsOutsideThePeriod/ActualsUseCaseReports.ipynb +++ b/ifrs17-template/PracticalUseCases/ActualsOutsideThePeriod/ActualsUseCaseReports.ipynb @@ -530,6 +530,15 @@ "execution_count": 0, "outputs": [] }, + { + "cell_type": "markdown", + "source": [ + "We now look at the Actuarial Experience Adjustment of MZ 2.1 Written (base case) for the 3 reporting periods. Here we only look at Written Actuals and therefore the values for all scenarios is still exactly the same." + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, { "cell_type": "markdown", "source": [ @@ -608,6 +617,15 @@ "execution_count": 0, "outputs": [] }, + { + "cell_type": "markdown", + "source": [ + "We now look at the Contractual Service Margin and Loss Component of MZ 2.1 Written (base case) for the 3 reporting periods." + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, { "cell_type": "markdown", "source": [ @@ -686,6 +704,15 @@ "execution_count": 0, "outputs": [] }, + { + "cell_type": "markdown", + "source": [ + "We now look at the Actuarial Liability of Remaining Coverage of MZ 2.1 Written (base case) for the 3 reporting periods. This report does not include any effective actuals, as it show the actuarial view of the LRC. Therefore, also here the results are the same for all scenarios." + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, { "cell_type": "markdown", "source": [ From 473025338441819d97242ef53359fdb650401e7b Mon Sep 17 00:00:00 2001 From: Daniel Trzesniak Date: Thu, 15 Dec 2022 16:49:17 +0100 Subject: [PATCH 19/37] some text --- .../ActualsUseCaseReports.ipynb | 27 +++++++++++++++---- 1 file changed, 22 insertions(+), 5 deletions(-) diff --git a/ifrs17-template/PracticalUseCases/ActualsOutsideThePeriod/ActualsUseCaseReports.ipynb b/ifrs17-template/PracticalUseCases/ActualsOutsideThePeriod/ActualsUseCaseReports.ipynb index 4e7b185c..b1606636 100644 --- a/ifrs17-template/PracticalUseCases/ActualsOutsideThePeriod/ActualsUseCaseReports.ipynb +++ b/ifrs17-template/PracticalUseCases/ActualsOutsideThePeriod/ActualsUseCaseReports.ipynb @@ -32,9 +32,26 @@ "cell_type": "markdown", "source": [ "Usually, actuarial cashflows for portfolio valuations are modelled on a \"due\" or \"written\" basis, meaning they are derived from the corresponding contractual obligations.", - "\nHowever, it is normal that the e‘fective cashflows will not exactly follow the expected written ones and will therefore not be inside the reporting period.", + "\nHowever, it is normal that the e‘fective cashflows will not exactly follow the expected written ones and will therefore fall outside the reporting period.", + "\n", + "\nIn this case study we look at the effects of cashflows happening outside the expected reporting period, also referred to as Payables and Receivables in accounting language. The reconciliation between the written and effective cashflows is usually handled by the Actuals. This reconciliation must be taken into account, since the IFRS 17 Standard requires insurance liabilities to be measured according to the effective cashflows.", + "\n", + "\nWe can try to summarize the the cases for in advance and overdue actuals in a table. On the colums we define the due date of the payments in relation to the reporting period, and in the rows we define the effective date of the payments in relation to the reporting period. If write off are not taken into account, we are left we the following:", + "\n", + "\n
", + "\n", + "\n| \t| **payment due date
before the reporting period** \t| **payment due date
in the reporting period** \t| **payment due date
after the reporting period** \t\t\t\t\t\t\t\t|", + "\n|-----------------------------------------------------------\t|------------------------------------------------------------------------------------------------------------------------------------\t|------------------------------------------------------------------------------------------------------------------------------------\t|----------------------------------------------------------------------------------------------------------------------------------\t|", + "\n| **payment effective date
before the reporting period** \t| not relevant for this reporting period
both due and effective payment dates already happened \t| payments in this period settled in advance in previous periods
this is a release to the balance sheet in advance position (-CF_A) \t| paid in advance balance
this is an in advance reserve from previous periods (BOP_A)\t\t\t\t\t\t\t\t\t\t\t|", + "\n| **payment effective date
in the reporting period** \t| outstanding payments from previous periods settled in this period
this is a release to the balance sheet overdue position (-CF_O) \t| in the period
in this case, the due and effective date fall within the period \t| paid in advance balance
this is an in advance reserve from previous periods plus an increase from this period (BOP_A + CF_A)\t|", + "\n| **payment effective date
after the reporting period** \t| overdue balance
this is an overdue reserve from previous periods (BOP_O) \t| overdue balance
this is an overdue reserve from previous periods plus an increase from this period (BOP_O + CF_O) | not relevant for this reporting period
neither the due nor the effective payment date is expected \t\t\t\t\t\t\t\t|", + "\n", + "\n
", + "\n", + "\nWrite off of the Receivables (In Advance Claims and Overdue Premimus) would also release the balance like the corresponding entries in the table above (-CF_A and -CF_O). However, while the releases shown in the table above do not impact the Financial Performance, the written off amounts will. ", + "\n", + "\n", "\n", - "\nIn this case study we look at the effects of cashflows happening outside the expected reporting period. The reconciliation between the written and effective cashflows is usually handled by the Actuals. This reconciliation is necessary, since the IFRS 17 Standard requires insurance liabilities to be measured according to the effective cashflows.", "\n", "\nWe will now look at a few scenarios in reference to a base case. We have modelled 3 reporting periods (2020 12, 2021 6 and 2021 12, where the first number is the reporting year and the second is the reporting month) and assume that we start with New Business in the beginning of 2020 and the portfolio completely runs-off in the end of 2021.", "\n", @@ -807,7 +824,7 @@ "\nlrc.ReportingNode = \"CH\";", "\nlrc.ReportingPeriod = (2020, 12);", "\nlrc.ColumnSlices = new string[]{\"GroupOfContract\", \"EstimateType\"};", - "\nlrc.DataFilter = null; //new [] {(\"GroupOfContract\", \"DT1.1\")};", + "\nlrc.DataFilter = null;", "\n(await lrc.ToReportAsync) with {Height = 300}" ], "metadata": {}, @@ -830,7 +847,7 @@ "\nlrc.ReportingNode = \"CH\";", "\nlrc.ReportingPeriod = (2021, 6);", "\nlrc.ColumnSlices = new string[]{\"GroupOfContract\", \"EstimateType\"};", - "\nlrc.DataFilter = null; //new [] {(\"GroupOfContract\", \"DT1.1\")};", + "\nlrc.DataFilter = null;", "\n(await lrc.ToReportAsync) with {Height = 300}" ], "metadata": {}, @@ -853,7 +870,7 @@ "\nlrc.ReportingNode = \"CH\";", "\nlrc.ReportingPeriod = (2021, 12);", "\nlrc.ColumnSlices = new string[]{\"GroupOfContract\", \"EstimateType\"};", - "\nlrc.DataFilter = null; //new [] {(\"GroupOfContract\", \"DT1.1\")};", + "\nlrc.DataFilter = null;", "\n(await lrc.ToReportAsync) with {Height = 300}" ], "metadata": {}, From c4bfdad408c217f1e1842a05e935c7bd2e3a8dbe Mon Sep 17 00:00:00 2001 From: Daniel Trzesniak Date: Thu, 15 Dec 2022 22:36:00 +0100 Subject: [PATCH 20/37] More docu --- .../ActualsUseCaseReports.ipynb | 48 ++++++++++++++----- 1 file changed, 36 insertions(+), 12 deletions(-) diff --git a/ifrs17-template/PracticalUseCases/ActualsOutsideThePeriod/ActualsUseCaseReports.ipynb b/ifrs17-template/PracticalUseCases/ActualsOutsideThePeriod/ActualsUseCaseReports.ipynb index b1606636..4be0ed88 100644 --- a/ifrs17-template/PracticalUseCases/ActualsOutsideThePeriod/ActualsUseCaseReports.ipynb +++ b/ifrs17-template/PracticalUseCases/ActualsOutsideThePeriod/ActualsUseCaseReports.ipynb @@ -40,18 +40,15 @@ "\n", "\n
", "\n", - "\n| \t| **payment due date
before the reporting period** \t| **payment due date
in the reporting period** \t| **payment due date
after the reporting period** \t\t\t\t\t\t\t\t|", - "\n|-----------------------------------------------------------\t|------------------------------------------------------------------------------------------------------------------------------------\t|------------------------------------------------------------------------------------------------------------------------------------\t|----------------------------------------------------------------------------------------------------------------------------------\t|", - "\n| **payment effective date
before the reporting period** \t| not relevant for this reporting period
both due and effective payment dates already happened \t| payments in this period settled in advance in previous periods
this is a release to the balance sheet in advance position (-CF_A) \t| paid in advance balance
this is an in advance reserve from previous periods (BOP_A)\t\t\t\t\t\t\t\t\t\t\t|", - "\n| **payment effective date
in the reporting period** \t| outstanding payments from previous periods settled in this period
this is a release to the balance sheet overdue position (-CF_O) \t| in the period
in this case, the due and effective date fall within the period \t| paid in advance balance
this is an in advance reserve from previous periods plus an increase from this period (BOP_A + CF_A)\t|", - "\n| **payment effective date
after the reporting period** \t| overdue balance
this is an overdue reserve from previous periods (BOP_O) \t| overdue balance
this is an overdue reserve from previous periods plus an increase from this period (BOP_O + CF_O) | not relevant for this reporting period
neither the due nor the effective payment date is expected \t\t\t\t\t\t\t\t|", + "\n| | **payment due date
before the reporting period** | **payment due date
in the reporting period** | **payment due date
after the reporting period** |", + "\n|-----------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------|", + "\n| **payment effective date
before the reporting period** | not relevant for this reporting period
*both due and effective payment dates are in the past* | release of balance sheet in advance position (-CF_A)
*payment due in this period already settled in previous periods* | unchanged in advance balance
*remaining in advance reserve from previous periods and payment is not due yet* |", + "\n| **payment effective date
in the reporting period** | release of balance sheet overdue position (-CF_O)
*overdue payment from previous periods settled in this period* | neither in advance nor overdue balance
*the due and effective payment dates fall within the reporting period* | increase of balance sheet in advance position (CF_A)
*payment settled in this period is not due yet* |", + "\n| **payment effective date
after the reporting period** | unchanged overdue balance
*remaining overdue reserve from previous periods and payment has not been settled* | increase of balance sheet overdue position (CF_O)
*payment due in this period has not been settled* | not relevant for this reporting period
*both due and effective payment dates are in the future* |", "\n", "\n
", "\n", - "\nWrite off of the Receivables (In Advance Claims and Overdue Premimus) would also release the balance like the corresponding entries in the table above (-CF_A and -CF_O). However, while the releases shown in the table above do not impact the Financial Performance, the written off amounts will. ", - "\n", - "\n", - "\n", + "\nWrite off (WO) of the Receivables (In Advance Claims and Overdue Premimus) would also release the balance like the corresponding entries in the table above (-CF_A and -CF_O). However, while the releases shown in the table above do not impact the Financial Performance, written off amounts will. ", "\n", "\nWe will now look at a few scenarios in reference to a base case. We have modelled 3 reporting periods (2020 12, 2021 6 and 2021 12, where the first number is the reporting year and the second is the reporting month) and assume that we start with New Business in the beginning of 2020 and the portfolio completely runs-off in the end of 2021.", "\n", @@ -478,13 +475,22 @@ "execution_count": 0, "outputs": [] }, + { + "cell_type": "markdown", + "source": [ + "We are introducing In Advance and Overdue reserves for the scenarios described above (CF_A and CF_O cases in the table above), and it is important to note the sign convention (Receivables bear a negative sign, while Payables a positive sign). This convention becomes relavent when determining the Liability of Remaining Coverage below, as it will bring the LRC to either to a more Asset-like character (negative) or Liability-like character (positive)." + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, { "cell_type": "code", "source": [ "var accrualActual = ifrs17.AccrualActuals;", "\naccrualActual.ReportingNode = \"CH\";", "\naccrualActual.ReportingPeriod = (2020, 12);", - "\naccrualActual.ColumnSlices = new string[]{ \"GroupOfContract\", \"EstimateType\", \"AmountType\" };//\"GroupOfContract\", \"AmountType\"", + "\naccrualActual.ColumnSlices = new string[]{ \"GroupOfContract\", \"EstimateType\", \"AmountType\" };", "\naccrualActual.DataFilter = null; //new [] {(\"EstimateType\", \"AA\")};", "\n(await accrualActual.ToReportAsync) with {Height = 400}" ], @@ -501,13 +507,22 @@ "execution_count": 0, "outputs": [] }, + { + "cell_type": "markdown", + "source": [ + "We now see what happens to the In Advance and Overdue reserves for each scenarios. We have introduced some write off (WO) for the Receivables, and no settlement has been made yet. We also notice a further increase of In Advance Premium Payments (CF_A), while Overdue Claims remain unchanged." + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, { "cell_type": "code", "source": [ "var accrualActual = ifrs17.AccrualActuals;", "\naccrualActual.ReportingNode = \"CH\";", "\naccrualActual.ReportingPeriod = (2021, 6);", - "\naccrualActual.ColumnSlices = new string[]{ \"GroupOfContract\", \"EstimateType\", \"AmountType\" };//\"GroupOfContract\", \"AmountType\"", + "\naccrualActual.ColumnSlices = new string[]{ \"GroupOfContract\", \"EstimateType\", \"AmountType\" };", "\naccrualActual.DataFilter = null; //new [] {(\"EstimateType\", \"AA\")};", "\n(await accrualActual.ToReportAsync) with {Height = 400}" ], @@ -524,13 +539,22 @@ "execution_count": 0, "outputs": [] }, + { + "cell_type": "markdown", + "source": [ + "Since all cases run-off in the end of the period, we must also check that all correspondings balances go to zero. We see that some Receivables have been settled (-CF_A and -CF_O), but also the write off (WO) increased, releasing the entire balance as expected. Payables have been also been fully settled (-CF_A and -CF_O) without write offs (as they are not applicable)." + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, { "cell_type": "code", "source": [ "var accrualActual = ifrs17.AccrualActuals;", "\naccrualActual.ReportingNode = \"CH\";", "\naccrualActual.ReportingPeriod = (2021, 12);", - "\naccrualActual.ColumnSlices = new string[]{ \"GroupOfContract\", \"EstimateType\", \"AmountType\" };//\"GroupOfContract\", \"AmountType\"", + "\naccrualActual.ColumnSlices = new string[]{ \"GroupOfContract\", \"EstimateType\", \"AmountType\" };", "\naccrualActual.DataFilter = null; //new [] {(\"EstimateType\", \"AA\")};", "\n(await accrualActual.ToReportAsync) with {Height = 400}" ], From 0fe5b032a4e1fa6797d5aa0bac2e9bae86c2d9e3 Mon Sep 17 00:00:00 2001 From: Daniel Trzesniak Date: Fri, 16 Dec 2022 09:29:05 +0100 Subject: [PATCH 21/37] Text --- .../ActualsUseCaseReports.ipynb | 30 +++++++++++-------- 1 file changed, 17 insertions(+), 13 deletions(-) diff --git a/ifrs17-template/PracticalUseCases/ActualsOutsideThePeriod/ActualsUseCaseReports.ipynb b/ifrs17-template/PracticalUseCases/ActualsOutsideThePeriod/ActualsUseCaseReports.ipynb index 4be0ed88..9da84888 100644 --- a/ifrs17-template/PracticalUseCases/ActualsOutsideThePeriod/ActualsUseCaseReports.ipynb +++ b/ifrs17-template/PracticalUseCases/ActualsOutsideThePeriod/ActualsUseCaseReports.ipynb @@ -32,32 +32,36 @@ "cell_type": "markdown", "source": [ "Usually, actuarial cashflows for portfolio valuations are modelled on a \"due\" or \"written\" basis, meaning they are derived from the corresponding contractual obligations.", - "\nHowever, it is normal that the e‘fective cashflows will not exactly follow the expected written ones and will therefore fall outside the reporting period.", + "\nHowever, it is normal that the effective cashflows will not exactly follow the expected written ones and will therefore fall outside the reporting period.", "\n", "\nIn this case study we look at the effects of cashflows happening outside the expected reporting period, also referred to as Payables and Receivables in accounting language. The reconciliation between the written and effective cashflows is usually handled by the Actuals. This reconciliation must be taken into account, since the IFRS 17 Standard requires insurance liabilities to be measured according to the effective cashflows.", "\n", - "\nWe can try to summarize the the cases for in advance and overdue actuals in a table. On the colums we define the due date of the payments in relation to the reporting period, and in the rows we define the effective date of the payments in relation to the reporting period. If write off are not taken into account, we are left we the following:", + "\nWe can try to summarize the the cases for In Advance and Overdue actuals in a table. On the colums we define the due date of the payments in relation to the reporting period, and in the rows we define the effective date of the payments in relation to the reporting period. If we exclude the write off (WO) for now, we are left we the following possibilities:", "\n", "\n
", "\n", - "\n| | **payment due date
before the reporting period** | **payment due date
in the reporting period** | **payment due date
after the reporting period** |", - "\n|-----------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------|", - "\n| **payment effective date
before the reporting period** | not relevant for this reporting period
*both due and effective payment dates are in the past* | release of balance sheet in advance position (-CF_A)
*payment due in this period already settled in previous periods* | unchanged in advance balance
*remaining in advance reserve from previous periods and payment is not due yet* |", - "\n| **payment effective date
in the reporting period** | release of balance sheet overdue position (-CF_O)
*overdue payment from previous periods settled in this period* | neither in advance nor overdue balance
*the due and effective payment dates fall within the reporting period* | increase of balance sheet in advance position (CF_A)
*payment settled in this period is not due yet* |", - "\n| **payment effective date
after the reporting period** | unchanged overdue balance
*remaining overdue reserve from previous periods and payment has not been settled* | increase of balance sheet overdue position (CF_O)
*payment due in this period has not been settled* | not relevant for this reporting period
*both due and effective payment dates are in the future* |", + "\n| | **payment due date
before the reporting period** | **payment due date
in the reporting period** | **payment due date
after the reporting period** |", + "\n|---------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------|", + "\n| **payment effective date
before the reporting period**     | not relevant for this reporting period
*both due and effective payment dates are in the past*      | release of balance sheet in advance position (-CF_A)
*payment due in this period already settled in previous periods*     | existing in advance balance
*remaining in advance reserve from previous periods and payment is not due yet* |", + "\n| **payment effective date
in the reporting period**      | release of balance sheet overdue position (-CF_O)
*overdue payment from previous periods settled in this period*     | neither in advance nor overdue balance
*the due and effective payment dates fall within the reporting period*      | increase of balance sheet in advance position (CF_A)
*payment settled in this period is not due yet* |", + "\n| **payment effective date
after the reporting period**      | unchanged overdue balance
*existing overdue reserve from previous periods and payment has not been settled*      | increase of balance sheet overdue position (CF_O)
*payment due in this period has not been settled*      | not relevant for this reporting period
*both due and effective payment dates are in the future* |", "\n", "\n
", "\n", - "\nWrite off (WO) of the Receivables (In Advance Claims and Overdue Premimus) would also release the balance like the corresponding entries in the table above (-CF_A and -CF_O). However, while the releases shown in the table above do not impact the Financial Performance, written off amounts will. ", + "\nWrite off (WO) of the Receivables (In Advance Claims and Overdue Premimus for Gross business) would also release the balance like the corresponding entries in the table above (-CF_A and -CF_O). However, while the releases shown in the table above do not impact the Financial Performance, written off amounts will. ", "\n", - "\nWe will now look at a few scenarios in reference to a base case. We have modelled 3 reporting periods (2020 12, 2021 6 and 2021 12, where the first number is the reporting year and the second is the reporting month) and assume that we start with New Business in the beginning of 2020 and the portfolio completely runs-off in the end of 2021.", + "\nWe will now look at a few scenarios in reference to a base case. We have modelled 3 reporting periods (2020 12, 2021 6 and 2021 12, where the first number is the reporting year and the second is the reporting month) and assume we start with only New Business in the beginning of 2020 and the portfolio completely runs-off in the end of 2021. In summary:", + "\n", + "\n- **2020 12**: End of year reporting for the first year: we see New Business coming in and the corresponding model adjustments for future services. We also introduce the outstanding Payables and Receivables according to the scenarios.", + "\n- **2021  6**: Mid year reporting for the second year: we see the development of the GIC for half a year. Some New Businss stills comes in. We also see how Payables and Receivables have changed.", + "\n- **2021 12**: End of year for the second year: we see the GIC goes into run-off and all liabilities should be relseased. This also applies to the outstanding balance for Payables and Receivables, which are completely released with settlement payments or write offs. ", "\n", "\nWe are modelling the Gross case and have defined the following GICs (Valuation Approach is BBA):", "\n", - "\n - **MZ 2.1 Written**: all cashflows for this GIC follow exactly the written cashflows expected in the atuarial model. It is our base case.", - "\n - **MZ 2.2 OA Premium**: in this case the **Premium is overdue** in the 1st reporting period (**Receivable Premium**). In the subsequent periods, some is received and some is written off.", - "\n - **MZ 2.3 AA Claim**: in this case the **Claim is paid in advance** in the 1st reporting period (**Receivable Claim**). In the subsequent periods, some is received and some is written off.", - "\n - **MZ 2.4 AA Premium / OA Claim**: in this case we have received **Premium in advance** (**Payable Premium**), and also have an **overdue Claim** payment (**Payable Claim**). In the subsequent periods, we have settled the actuals accordingly.", + "\n - **MZ 2.1 Written**: all cashflows for this GIC follow exactly the written cashflows expected in the atuarial model. It is our base case.", + "\n - **MZ 2.2 OA Premium**: in this case the **Premium is overdue** in the 1st reporting period (**Receivable Premium**). In the subsequent periods, some is received and some is written off.", + "\n - **MZ 2.3 AA Claim**: in this case the **Claim is paid in advance** in the 1st reporting period (**Receivable Claim**). In the subsequent periods, some is received and some is written off.", + "\n - **MZ 2.4 AA Premium / OA Claim**: in this case we have received **Premium in advance** (**Payable Premium**), and also have an **overdue Claim** payment (**Payable Claim**). In the subsequent periods, we have settled the actuals accordingly.", "\n", "\nThe only difference between all cases is the timing of the effective cashflows (paid in advance and overdue actuals), with all other inputs and parameters exctly the same. For simplicity, we only added Premium and Claims (Non Investment Component) amount types.", "\n" From 4be7089054a4720a9f740278a6437ded48bbdd6f Mon Sep 17 00:00:00 2001 From: Daniel Trzesniak Date: Fri, 16 Dec 2022 10:19:37 +0100 Subject: [PATCH 22/37] more text --- .../ActualsUseCaseReports.ipynb | 30 ++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) diff --git a/ifrs17-template/PracticalUseCases/ActualsOutsideThePeriod/ActualsUseCaseReports.ipynb b/ifrs17-template/PracticalUseCases/ActualsOutsideThePeriod/ActualsUseCaseReports.ipynb index 9da84888..d6b9c563 100644 --- a/ifrs17-template/PracticalUseCases/ActualsOutsideThePeriod/ActualsUseCaseReports.ipynb +++ b/ifrs17-template/PracticalUseCases/ActualsOutsideThePeriod/ActualsUseCaseReports.ipynb @@ -22,7 +22,7 @@ "source": [ "

Actuals Outside the Period Case

", "\n", - "\n

Written vs Effective Cashflows Gross

" + "\n

Written vs Effective Cashflows (Gross business)

" ], "metadata": {}, "execution_count": 0, @@ -836,6 +836,15 @@ "execution_count": 0, "outputs": [] }, + { + "cell_type": "markdown", + "source": [ + "Finally we come to the effective Liability of Remaining Coverage, which includes the effect of the In Advanced and Overdue actuals. To take these into account, we must add these balances to the Actuarial LRC." + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, { "cell_type": "markdown", "source": [ @@ -845,6 +854,25 @@ "execution_count": 0, "outputs": [] }, + { + "cell_type": "markdown", + "source": [ + "This is the first year of the GIC, meaning the opening is zero and all the balance comes from the New Business. Therefore, the changes in balance is equivalent to the closing balance (EOP).", + "\n", + "\nMZ 2.1 Written (base case) ends with a negative LRC balance, giving it a slight Asset-like character. This comes from favorable Best Estimate Present Value of Cashflows, where the Premium (cass flow in) outweighs the Claims (cash flow out).", + "\n", + "\nFor MZ 2.2 OA Premium and MZ 2.3 AA Claim, there is a future expectation of effective payments, as we have outstanding Receivables (In Advance Claims and Overdue Premium). For both cases this means a further decrease of the LRC balance (more negative).", + "\nFor MZ 2.2 OA Premium, we must decrease the actuarial cash flows to incorporate the expected recovery of the overdue Premium.", + "\nFor MZ 2.2 AA Claim, we must decrease the actuarial cash flows to incorporate the in advance payment of the Claim not due yet.", + "\n", + "\nFor MZ 2.4 AA Premium / OA Claim, the effect is exactly the opposite, as we are dealing with Payables. For this case we observe an increase of the LRC balance (becomes positive).", + "\nFor MZ 2.4 AA Premium / OA Claim, we must increase the actuarial cash flows to incorporate the in advance payment of the Premium not due yet, and the delayed payment of the overdue Claim.", + "\n" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, { "cell_type": "code", "source": [ From 9c0c6947409697a7648585e4e7bc79495bab1275 Mon Sep 17 00:00:00 2001 From: Daniel Trzesniak Date: Fri, 16 Dec 2022 10:52:48 +0100 Subject: [PATCH 23/37] Full docu written --- .../ActualsUseCaseReports.ipynb | 73 ++++++++++++++++++- 1 file changed, 71 insertions(+), 2 deletions(-) diff --git a/ifrs17-template/PracticalUseCases/ActualsOutsideThePeriod/ActualsUseCaseReports.ipynb b/ifrs17-template/PracticalUseCases/ActualsOutsideThePeriod/ActualsUseCaseReports.ipynb index d6b9c563..37ee43ec 100644 --- a/ifrs17-template/PracticalUseCases/ActualsOutsideThePeriod/ActualsUseCaseReports.ipynb +++ b/ifrs17-template/PracticalUseCases/ActualsOutsideThePeriod/ActualsUseCaseReports.ipynb @@ -407,7 +407,7 @@ { "cell_type": "markdown", "source": [ - "## 2020 6" + "## 2021 6" ], "metadata": {}, "execution_count": 0, @@ -890,7 +890,24 @@ { "cell_type": "markdown", "source": [ - "## 2020 6" + "## 2021 6" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "Here we look at what happened half a year later.", + "\nAs mentioned above we introduce some write off for the Receivables, and some increase in balance for the In Advance Premium Payments.", + "\n", + "\nFor MZ 2.1 Written (base case), some adverse devleopment heppened and the LRC becomes positive during the period. If we look into the details, there is a deterioration of the results (Actuals) and the expectation has also been adjusted. Furthermore, the CSM turns into a Loss Component.", + "\n", + "\nFor MZ 2.2 OA Premium and MZ 2.3 AA Claim, we have recognized some write offs for part of the overdue amounts, without any further release. This affects the LRC balance, but since there is still some outstanding balance, the LRC stll moves towards a more negative value when compared to the base case.", + "\n", + "\nFor MZ 2.4 AA Premium / OA Claim, we had no movements for the Overdue Claims, but we see an further increase in the In Advance Premium. Thus, it must increase even more the liability character of the LRC.", + "\n" ], "metadata": {}, "execution_count": 0, @@ -919,6 +936,16 @@ "execution_count": 0, "outputs": [] }, + { + "cell_type": "markdown", + "source": [ + "This is the closing period of our example. All liability must be released at the end of the period. Indeed, the LRC balance goes to zero in all cases.", + "\nAs seen above, the release os the In Advance or Overdue balances happens either with settlement of payments, or write off in the case of Receivables." + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, { "cell_type": "code", "source": [ @@ -942,6 +969,15 @@ "execution_count": 0, "outputs": [] }, + { + "cell_type": "markdown", + "source": [ + "The last part of the analsys refers to the Financial Performance" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, { "cell_type": "markdown", "source": [ @@ -951,6 +987,15 @@ "execution_count": 0, "outputs": [] }, + { + "cell_type": "markdown", + "source": [ + "This is the first period, and we did not have any write off. Thus, the Financial Performance is the same for all scenarios, as In Advance and Overdue balances do not have an impact." + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, { "cell_type": "code", "source": [ @@ -974,6 +1019,19 @@ "execution_count": 0, "outputs": [] }, + { + "cell_type": "markdown", + "source": [ + "In the subsequent period of this analsys, we introduced some write off for the Receivables. This impacts MZ 2.2 OA Premium and MZ 2.3 AA Claim, decreasing the Insurance Service Result by the ammounts written off. The remaining scenarios (MZ 2.1 Written and MZ 2.4 AA Premium / OA Claim) are still equal, as there no notion of write offs in these cases.", + "\n", + "\nFor MZ 2.2 OA Premium, the write off is recognized at the Insurance Revenue, Overdue Actuals.", + "\n", + "\nFor MZ 2.3 AA Claim, the write off is recognized at the Insurance Service Expense, Advance Actuals." + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, { "cell_type": "code", "source": [ @@ -997,6 +1055,17 @@ "execution_count": 0, "outputs": [] }, + { + "cell_type": "markdown", + "source": [ + "In the last period, we see the final results in the Financial Performance.", + "\nAs before, MZ 2.2 OA Premium and MZ 2.3 AA Claim have a lower Insurance Service Result in comparison to MZ 2.1 Written (base case) due to the write offs.", + "\nSimilarly, MZ 2.1 Written and MZ 2.4 AA Premium / OA Claim continue to show the same results." + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, { "cell_type": "code", "source": [ From de87a4c324c99bf9b86f7fcf5e46e5d59f2e6f8f Mon Sep 17 00:00:00 2001 From: Daniel Trzesniak Date: Fri, 16 Dec 2022 14:43:56 +0100 Subject: [PATCH 24/37] Remove extra file --- .../Files/DataNodes/DataNodes_ActualsCase_CH.csv | 14 -------------- 1 file changed, 14 deletions(-) delete mode 100644 ifrs17-template/Files/DataNodes/DataNodes_ActualsCase_CH.csv diff --git a/ifrs17-template/Files/DataNodes/DataNodes_ActualsCase_CH.csv b/ifrs17-template/Files/DataNodes/DataNodes_ActualsCase_CH.csv deleted file mode 100644 index cde31212..00000000 --- a/ifrs17-template/Files/DataNodes/DataNodes_ActualsCase_CH.csv +++ /dev/null @@ -1,14 +0,0 @@ -@@Main,,,,, -ReportingNode,,,,, -CH,,,,, -,,,,, -@@InsurancePortfolio,,,,, -SystemName,DisplayName,ContractualCurrency,LineOfBusiness,ValuationApproach,OciType -MZ2,Actuals Case,CHF,ANN,BBA,Default -,,,,, -@@GroupOfInsuranceContract,,,,, -SystemName,DisplayName,InsurancePortfolio,AnnualCohort,LiabilityType,Profitability -MZ2.1,MZ 2.1 Written,MZ2,2020,LRC,P -MZ2.2,MZ 2.2 OA Premium,MZ2,2020,LRC,P -MZ2.3,MZ 2.3 AA Claim,MZ2,2020,LRC,P -MZ2.4,MZ 2.4 AA Premium / OA Claim,MZ2,2020,LRC,P From 8d6203840b0f99b931fb951b4160d6f66ce7b99a Mon Sep 17 00:00:00 2001 From: Daniel Trzesniak Date: Mon, 19 Dec 2022 10:57:02 +0100 Subject: [PATCH 25/37] csm case draft --- .../ActualsUseCaseDataImport.ipynb | 14 +- .../ActualsUseCaseReports.ipynb | 2 +- .../Actuals_CsmSwitch_CH_2020_12.csv | 9 + .../Actuals_CsmSwitch_CH_2021_3.csv | 10 + .../CsmSwitchDataImport.ipynb | 219 ++++++++++++ .../CsmSwitchReports.ipynb | 338 ++++++++++++++++++ ...ataNodeParameters_CsmSwitch_CH_2020_12.csv | 8 + .../DataNodeStates_CsmSwitch_CH_2020_12.csv | 8 + .../DataNodes_CsmSwitch_CH.csv | 12 + .../NominalCashflows_CsmSwitch_CH_2020_12.csv | 13 + .../NominalCashflows_CsmSwitch_CH_2021_3.csv | 22 ++ .../SimpleValue_CsmSwitch_CH_2021_3.csv | 92 +++++ 12 files changed, 734 insertions(+), 13 deletions(-) create mode 100644 ifrs17-template/PracticalUseCases/SingleVsMultipleCsmSwitch/Actuals_CsmSwitch_CH_2020_12.csv create mode 100644 ifrs17-template/PracticalUseCases/SingleVsMultipleCsmSwitch/Actuals_CsmSwitch_CH_2021_3.csv create mode 100644 ifrs17-template/PracticalUseCases/SingleVsMultipleCsmSwitch/CsmSwitchDataImport.ipynb create mode 100644 ifrs17-template/PracticalUseCases/SingleVsMultipleCsmSwitch/CsmSwitchReports.ipynb create mode 100644 ifrs17-template/PracticalUseCases/SingleVsMultipleCsmSwitch/DataNodeParameters_CsmSwitch_CH_2020_12.csv create mode 100644 ifrs17-template/PracticalUseCases/SingleVsMultipleCsmSwitch/DataNodeStates_CsmSwitch_CH_2020_12.csv create mode 100644 ifrs17-template/PracticalUseCases/SingleVsMultipleCsmSwitch/DataNodes_CsmSwitch_CH.csv create mode 100644 ifrs17-template/PracticalUseCases/SingleVsMultipleCsmSwitch/NominalCashflows_CsmSwitch_CH_2020_12.csv create mode 100644 ifrs17-template/PracticalUseCases/SingleVsMultipleCsmSwitch/NominalCashflows_CsmSwitch_CH_2021_3.csv create mode 100644 ifrs17-template/PracticalUseCases/SingleVsMultipleCsmSwitch/SimpleValue_CsmSwitch_CH_2021_3.csv diff --git a/ifrs17-template/PracticalUseCases/ActualsOutsideThePeriod/ActualsUseCaseDataImport.ipynb b/ifrs17-template/PracticalUseCases/ActualsOutsideThePeriod/ActualsUseCaseDataImport.ipynb index 2383597f..02a7537a 100644 --- a/ifrs17-template/PracticalUseCases/ActualsOutsideThePeriod/ActualsUseCaseDataImport.ipynb +++ b/ifrs17-template/PracticalUseCases/ActualsOutsideThePeriod/ActualsUseCaseDataImport.ipynb @@ -20,7 +20,7 @@ { "cell_type": "markdown", "source": [ - "

Actuals Outside the Period Case Data Import

" + "

Actuals Outside the Period Data Import

" ], "metadata": {}, "execution_count": 0, @@ -62,16 +62,6 @@ "execution_count": 0, "outputs": [] }, - { - "cell_type": "code", - "source": [ - "Workspace.Reset(x => x.ResetInitializationRules().ResetCurrentPartitions());", - "\nWorkspace.InitializeFrom(DataSource);" - ], - "metadata": {}, - "execution_count": 0, - "outputs": [] - }, { "cell_type": "markdown", "source": [ @@ -220,7 +210,7 @@ { "cell_type": "markdown", "source": [ - "## Reset Workspace" + "# Reset Workspace" ], "metadata": {}, "execution_count": 0, diff --git a/ifrs17-template/PracticalUseCases/ActualsOutsideThePeriod/ActualsUseCaseReports.ipynb b/ifrs17-template/PracticalUseCases/ActualsOutsideThePeriod/ActualsUseCaseReports.ipynb index 37ee43ec..3d269c2e 100644 --- a/ifrs17-template/PracticalUseCases/ActualsOutsideThePeriod/ActualsUseCaseReports.ipynb +++ b/ifrs17-template/PracticalUseCases/ActualsOutsideThePeriod/ActualsUseCaseReports.ipynb @@ -20,7 +20,7 @@ { "cell_type": "markdown", "source": [ - "

Actuals Outside the Period Case

", + "

Actuals Outside the Period

", "\n", "\n

Written vs Effective Cashflows (Gross business)

" ], diff --git a/ifrs17-template/PracticalUseCases/SingleVsMultipleCsmSwitch/Actuals_CsmSwitch_CH_2020_12.csv b/ifrs17-template/PracticalUseCases/SingleVsMultipleCsmSwitch/Actuals_CsmSwitch_CH_2020_12.csv new file mode 100644 index 00000000..76d11300 --- /dev/null +++ b/ifrs17-template/PracticalUseCases/SingleVsMultipleCsmSwitch/Actuals_CsmSwitch_CH_2020_12.csv @@ -0,0 +1,9 @@ +@@Main,,,, +ReportingNode,Year,Month,, +CH,2020,12,, +@@Actual,,,, +DataNode,AocType,ValueType,AccidentYear,Value +MZ1.1,CF,PR,,400 +MZ1.1,CF,NIC,,-280 +MZ1.1,CF,ACA,,-10 +MZ1.1,CF,AEA,,-5 diff --git a/ifrs17-template/PracticalUseCases/SingleVsMultipleCsmSwitch/Actuals_CsmSwitch_CH_2021_3.csv b/ifrs17-template/PracticalUseCases/SingleVsMultipleCsmSwitch/Actuals_CsmSwitch_CH_2021_3.csv new file mode 100644 index 00000000..f3cfcd11 --- /dev/null +++ b/ifrs17-template/PracticalUseCases/SingleVsMultipleCsmSwitch/Actuals_CsmSwitch_CH_2021_3.csv @@ -0,0 +1,10 @@ +@@Main,,,, +ReportingNode,Year,Month,, +CH,2021,3,, +@@Actual,,,, +DataNode,AocType,ValueType,AccidentYear,Value +MZ1.1,CF,PR,,90 +MZ1.1,CF,ICO,,-6 +MZ1.1,CF,NIC,,-70 +MZ1.1,CF,ACA,,-10 +MZ1.1,CF,AEA,,-5 diff --git a/ifrs17-template/PracticalUseCases/SingleVsMultipleCsmSwitch/CsmSwitchDataImport.ipynb b/ifrs17-template/PracticalUseCases/SingleVsMultipleCsmSwitch/CsmSwitchDataImport.ipynb new file mode 100644 index 00000000..ed01d98d --- /dev/null +++ b/ifrs17-template/PracticalUseCases/SingleVsMultipleCsmSwitch/CsmSwitchDataImport.ipynb @@ -0,0 +1,219 @@ +{ + "metadata": { + "authors": [], + "kernelspec": { + "display_name": "Formula Framework", + "language": "C#", + "name": "C#" + }, + "language_info": { + "file_extension": ".cs", + "mimetype": "text/plain", + "name": "C#" + } + }, + "nbformat": 4, + "nbformat_minor": 5, + "cells": [ + { + "cell_type": "markdown", + "source": [ + "

Contractual Service Margin and Loss Component Switch Data Import

" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "This is the Data Import notebook for the Contractual Service Margin and Loss Component Switch case.", + "\n" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "# Set up and data import" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "## Reference Data and Parameters" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "#!import \"../../Initialization/InitSystemorphRefDataToMemory\"" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "## Data Nodes" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "await Import.FromFile(\"DataNodes_CsmSwitch_CH.csv\").WithFormat(ImportFormats.DataNode).WithTarget(DataSource).ExecuteAsync()" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "await Import.FromFile(\"DataNodeStates_CsmSwitch_CH_2020_12.csv\").WithFormat(ImportFormats.DataNodeState).WithTarget(DataSource).ExecuteAsync()" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "await Import.FromFile(\"DataNodeParameters_CsmSwitch_CH_2020_12.csv\").WithFormat(ImportFormats.DataNodeParameter).WithTarget(DataSource).ExecuteAsync()" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "## Transactional Data" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "### importing first GIC: 2020 12 for fully retrospective calculation and 2021 3 for the current calculation and analysis" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "await Import.FromFile(\"../Files/TransactionalData/Openings_CH_2020_12.csv\").WithFormat(ImportFormats.Opening).WithTarget(DataSource).ExecuteAsync()" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "await Import.FromFile(\"../Files/TransactionalData/NominalCashflows_CH_2020_12.csv\").WithFormat(ImportFormats.Cashflow).WithTarget(DataSource).ExecuteAsync()" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "await Import.FromFile(\"../Files/TransactionalData/Actuals_CH_2020_12.csv\").WithFormat(ImportFormats.Actual).WithTarget(DataSource).ExecuteAsync()" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "await Import.FromFile(\"../Files/TransactionalData/NominalCashflows_CH_2021_3.csv\").WithFormat(ImportFormats.Cashflow).WithTarget(DataSource).ExecuteAsync()" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "await Import.FromFile(\"../Files/TransactionalData/Actuals_CH_2021_3.csv\").WithFormat(ImportFormats.Actual).WithTarget(DataSource).ExecuteAsync()" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "### importing second GIC: 2021 3 as pre-calculated values and analysis" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "await Import.FromFile(\"../Files/TransactionalData/SimpleValue_CH_2021_3.csv\").WithFormat(ImportFormats.SimpleValue).WithTarget(DataSource).ExecuteAsync()" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "# Reset Workspace" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "Workspace.Reset(x => x.ResetInitializationRules().ResetCurrentPartitions());" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "Workspace.InitializeFrom(DataSource);", + "\nifrs17.Reset(Workspace)" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + } + ] +} \ No newline at end of file diff --git a/ifrs17-template/PracticalUseCases/SingleVsMultipleCsmSwitch/CsmSwitchReports.ipynb b/ifrs17-template/PracticalUseCases/SingleVsMultipleCsmSwitch/CsmSwitchReports.ipynb new file mode 100644 index 00000000..38b56dea --- /dev/null +++ b/ifrs17-template/PracticalUseCases/SingleVsMultipleCsmSwitch/CsmSwitchReports.ipynb @@ -0,0 +1,338 @@ +{ + "metadata": { + "authors": [], + "kernelspec": { + "display_name": "Formula Framework", + "language": "C#", + "name": "C#" + }, + "language_info": { + "file_extension": ".cs", + "mimetype": "text/plain", + "name": "C#" + }, + "toc-autonumbering": "True", + "toc-showcode": "False" + }, + "nbformat": 4, + "nbformat_minor": 5, + "cells": [ + { + "cell_type": "markdown", + "source": [ + "

Contractual Service Margin and Loss Component Switch

", + "\n", + "\n

Impact of the switch logic to Financial Performance and Balance Sheet

" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "In this case study we look at allocation of Technical Margin to Contractual Service Margin (CSM) and Loss Component (LC) and its impact on the Financial Performance and Balance Sheet. ", + "\n
In particular, we are going to consider two possible implementation for the **switch logic** which controls how the allocation of technical margin swithces from CSM to LC and viceversa through out the analysis of change. ", + "\n", + "\n", + "\nIn practice, we consider two hypothetical Group of Insurance Contract with the same parameter, cashflow, actual inputs and we will look at the results obtained applying two different implementation of the **switch logic** and it's implication to Financial figures. " + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "# Data Import" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "#!eval-notebook \"../Import/CloseImportTemplate\"" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "Workspace.InitializeFrom(DataSource);", + "\nifrs17.Reset(Workspace)" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "//2020-12 - 2021-3", + "\nvar reportingYear = 2021; ", + "\nvar reportingMonth = 3;" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "# Best Estimate Present Value of Cashflows", + "\n", + "\n" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "var pv = ifrs17.PresentValues;", + "\npv.ReportingNode = \"CH\";", + "\npv.ReportingPeriod = (reportingYear, reportingMonth);", + "\npv.CurrencyType = CurrencyType.Contractual;", + "\npv.ColumnSlices = new string[]{\"GroupOfContract\", \"EconomicBasis\"};//\"GroupOfContract\", \"AmountType\"", + "\npv.DataFilter = null; //new [] {(\"GroupOfContract\", \"DT1.1\") };", + "\n(await pv.ToReportAsync) with {Height = 720}" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "# Risk Adjustment" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "var ra = ifrs17.RiskAdjustments;", + "\nra.ReportingNode = \"CH\";", + "\nra.ReportingPeriod = (reportingYear, reportingMonth);", + "\nra.ColumnSlices = new string[]{\"GroupOfContract\", \"EconomicBasis\"};//\"GroupOfContract\", \"EconomicBasis\"", + "\nra.DataFilter = null;//new [] {(\"GroupOfContract\", \"DT1.2\")};", + "\n(await ra.ToReportAsync) with {Height = 800}" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "# Written Actuals" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "var writtenActual = ifrs17.WrittenActuals;", + "\nwrittenActual.ReportingNode = \"CH\";", + "\nwrittenActual.ReportingPeriod = (reportingYear, reportingMonth);", + "\nwrittenActual.ColumnSlices = new string[]{};//\"GroupOfContract\"", + "\nwrittenActual.DataFilter = null; //new [] {(\"GroupOfContract\", \"DT1.1\")};", + "\n(await writtenActual.ToReportAsync) with {Height = 400}" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "# Actuarial Experience Adjustment", + "\n", + "\nA comparison between [Written Actual](#written-actual) and the Releases of the [Best Estimate](#present-value) is reported in the [Actuarial Experience Adjustment](https://portal.systemorph.cloud/project/ifrs17/env/v1.0.0/Report/ReportScopes#experience-adjustment)." + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "var experienceAdjustments = ifrs17.ExperienceAdjustments;", + "\nexperienceAdjustments.ReportingNode = \"CH\";", + "\nexperienceAdjustments.ReportingPeriod = (reportingYear, reportingMonth);", + "\nexperienceAdjustments.ColumnSlices = new string[]{};//\"GroupOfContract\", \"AmountType\"", + "\nexperienceAdjustments.DataFilter = null; //new [] {(\"GroupOfContract\", \"DT1.1\")};", + "\n(await experienceAdjustments.ToReportAsync) with {Height = 300}" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "# LRC Technical Margin (TM)", + "\n", + "\nIn the [Technical Margin](https://portal.systemorph.cloud/project/ifrs17/env/v1.0.0/Report/ReportScopes#technical-margin) report we present a unified view on the figures that are allocated to either Contractual Service Margin or to Loss Component. ", + "\n
The Analysis of Change is expanded with few more steps such as **Experience Adjustment** and **Amortization**.", + "\n", + "\n", + "\nA negative value for Technical Margin correspond to an Asset and it is thus allocated to the CSM. Conversely, a positive value of the Technical Margin represents a Liability which is then allocated to Loss Component. ", + "\n", + "\nAn analysis of change report allows one to explain how the closing figure is obtained from the opening value and from each and every change to it captured in an individual step (Model Correction, Release, ...). At each AoC step, the Technical Margin is recognized as Asset or Liability by looking at the sign of the aggregation of all the TM figures starting from the Opening to the considered step.", + "\n", + "\nThrough the Analysis of Change steps it it possible that such aggregation of TM oscillates from positive to negative and viceversa several time. How the TM figures are then allocated to CSM/LC is controlled by the implementation of the **switch logic**." + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "var technicalMargins = ifrs17.TechnicalMargins;", + "\ntechnicalMargins.ReportingNode = \"CH\";", + "\ntechnicalMargins.ReportingPeriod = (reportingYear, reportingMonth);", + "\ntechnicalMargins.ColumnSlices = new string[]{\"GroupOfContract\"};//\"GroupOfContract\", \"AmountType\"", + "\ntechnicalMargins.DataFilter = null; //new [] {(\"GroupOfContract\", \"DT1.1\")};", + "\n(await technicalMargins.ToReportAsync) with {Height = 600}" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "# Contractual Service Margin / Loss Component / Loss Recovery Component", + "\n", + "\nThe Contractual Service Margin (CSM) / Loss Component (LC) / Loss Recovery Component (LR) [report](https://portal.systemorph.cloud/project/ifrs17/env/v1.0.0/Report/ReportScopes#technical-margin) are here shown side by side as the allocation to profit or loss is done at each step of the Analysis of Change. ", + "\n", + "\nHere, we show the result of two different implementations of the **switch logic** for the two Group of Insurance contract we are considering. ", + "\n
Group of Insurance contract called \"DT1.1\" is calculated with our standard methodology (**Many switches**) which allows to switch at every AoC Step with no limitation of amount of switches. ", + "\n
Group of Insurance contract called \"DT5.1\" is calculated with a switch logic (**One switch**) that shows only one switch when the number of total switches is odd, none otherwise. ", + "\n", + "\nBecause only the New Business figures drive the technical margin to the Liability side, one can immediately realize the main difference between these two switch choices: ", + "\n
DT5.1 does not recognize any loss.", + "\n", + "\nIn this case the **One switch** logic does not show any switch as both opening and closing figures are assets. The New Business contributions are then forced on the CSM side of this report with a negative sign to reflect the fact that they are decreasing the asset. ", + "\n", + "\nContrarely, the **Many switches** approach allows the New Business to be recognized in the Loss component. This generates a discrepancy between the In Force (asset allocated to the CSM) and New Business (Liability allocated to the Loss Component). This is resolved in the Combined section of the report where both In Force and New Business figures are considered. The Combined Liability AoC Step takes care of adding the two contributions together cancelling the Liability contributions and allocating the equivalent amount to the CSM. " + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "var allocatedTechnicalMargins = ifrs17.AllocatedTechnicalMargins;", + "\nallocatedTechnicalMargins.ReportingNode = \"CH\";", + "\nallocatedTechnicalMargins.ReportingPeriod = (reportingYear, reportingMonth);", + "\nallocatedTechnicalMargins.ColumnSlices = new string[]{\"GroupOfContract\", \"EstimateType\"};//\"GroupOfContract\", \"EstimateType\"", + "\nallocatedTechnicalMargins.DataFilter = null;// new [] {(\"GroupOfContract\", \"DT1.1\")};//null; //", + "\n(await allocatedTechnicalMargins.ToReportAsync) with {Height = 700}" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "# LRC Actuarial", + "\n", + "\nThe [Actuarial Liability for Remaining Coverage](https://portal.systemorph.cloud/project/ifrs17/env/v1.0.0/Report/ReportScopes#lrc-actuarial-actuarial-liability-for-remaining-coverage) report shows figures from Fulfilment Cash flow discounted with current yield curve, and the allocated techinical margin. ", + "\n", + "\nIn the Balance Sheet view the two approaches can be distinguished only by slicing in the data by EstimateType and noticing that New Business section of the CSM for DT1.1 is completely missing (as it is allocated to the LC). Note that the same closing balance is reached in both cases as the Combined Liability AoC Step in the CSM for DT1.1 brings the New Business contribution to the CSM. " + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "var actuarialLrc = ifrs17.ActuarialLrc;", + "\nactuarialLrc.ReportingNode = \"CH\";", + "\nactuarialLrc.ReportingPeriod = (reportingYear, reportingMonth);", + "\nactuarialLrc.ColumnSlices = new string[]{\"GroupOfContract\", \"EstimateType\"};//\"GroupOfContract\"", + "\nactuarialLrc.DataFilter = null; //new [] {(\"GroupOfContract\", \"DT1.1\")};", + "\n(await actuarialLrc.ToReportAsync) with {Height = 750}" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "# Financial Performance", + "\n", + "\nThe [Financial Performance](https://portal.systemorph.cloud/project/ifrs17/env/v1.0.0/Report/ReportScopes#ifrs-17-financial-performance) report discloses the Change in Estimate of the IFRS 17 balance sheet items ([LRC](#lrc) and [LIC](#lic)) and the relevant incurred cash flows (Premiums, Claims, Expenses, etc...) for the given period.", + "\n", + "\nAs expected, the *Total comprehensive Income* is the same in both scenarios. ", + "\n
One observes differences in the *Insurance Sevice Result* (ISE) and *Insurance Finance income/Expense* (IFIE) sections of 0.0326 and -0.0326 respectively. These differences cancel out to produce the same value for *Profit and Loss*. The *Other Comprehensive Income* section reports the same figure in both scenarios. ", + "\n", + "\nDrilling down into the data granularity one can realize the source of the above mentioned differences. ", + "\n
Let's start from the IFIE contribution (Financial contributions): ", + "\n- DT1.1 esplicitly recognizes a contribution to loss: -0.0163 this is the interest accretion on the liability side of the techinical margin. Contrarily, DT5.1 does not recognizes any loss. ", + "\n- DT1.1 reports a bigger figure for CSM than DT5.1 this is because in DT5.1 the interest on the asset and on the liability are both allocated to CSM and reported here as summed up (they carry opposite sign - check [CSM report](#contractual-service-margin-loss-component-loss-recovery-component)).", + "\n", + "\nContinuing with the ISE contribution, one sees that both *Insurance Revenue* and *Insurance service Expense* carries a difference of 0.0163 between the two scenarios. ", + "\n- The difference in *Insurance service Expense* is due to having explicitly allocated the New Business of the TM to Loss Component. In this item the financial step (such as IA) is excluded. Thus, because overall the Loss amount to 0 the net effect of summing all the movements but IA result in $-$IA. This term cancels out the LC contribution reported in the Financial section. ", + "\n- The difference in *Insurance Revenue* is produced by the CSM contribution to the *Non Financial LRC changes*. The DT1.1 Group of Insurance Contract includes here the Combined Liability AoC Step which includes the contribution of the IA computed on the New Business (Liability).", + "\n", + "\n", + "\nWorth to mention is how the choice of splitting between financial and non-financial contribution all figures reported in the Financial Performance makes explicit many contributions which finally cancel out but contribute to a trasparent report. ", + "\n
We recognize that without this split on the Loss Component part the financial performance would not report any contribution to Loss. Just by splitting the CSM in financial and non-financial contributions would produce the same final figure without explicit reporting of the liability. " + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "var financialPerformance = ifrs17.FinancialPerformance;", + "\nfinancialPerformance.ReportingNode = \"CH\";", + "\nfinancialPerformance.ReportingPeriod = (reportingYear, reportingMonth);", + "\nfinancialPerformance.ColumnSlices = new string[]{\"GroupOfContract\"};//\"GroupOfContract\"", + "\nfinancialPerformance.DataFilter = null; //new [] {(\"GroupOfContract\", \"DT1.1\")};", + "\n(await financialPerformance.ToReportAsync) with { Height = 900, GroupDefaultExpanded = 3}" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "//126.8063 - 126.790 = 0.0163", + "\n//-85.484 + 85.5003 = 0.0163" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "//IFIE", + "\n//CSM : -0.0744 - -0.0581 = -0.0163" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + } + ] +} \ No newline at end of file diff --git a/ifrs17-template/PracticalUseCases/SingleVsMultipleCsmSwitch/DataNodeParameters_CsmSwitch_CH_2020_12.csv b/ifrs17-template/PracticalUseCases/SingleVsMultipleCsmSwitch/DataNodeParameters_CsmSwitch_CH_2020_12.csv new file mode 100644 index 00000000..50e7a14d --- /dev/null +++ b/ifrs17-template/PracticalUseCases/SingleVsMultipleCsmSwitch/DataNodeParameters_CsmSwitch_CH_2020_12.csv @@ -0,0 +1,8 @@ +@@Main,, +ReportingNode,Year,Month +CH,2020,12 +,, +@@SingleDataNodeParameter,, +DataNode,PremiumAllocation, +MZ1.1,0.8, +MZ1.2,0.8, diff --git a/ifrs17-template/PracticalUseCases/SingleVsMultipleCsmSwitch/DataNodeStates_CsmSwitch_CH_2020_12.csv b/ifrs17-template/PracticalUseCases/SingleVsMultipleCsmSwitch/DataNodeStates_CsmSwitch_CH_2020_12.csv new file mode 100644 index 00000000..9e05c37b --- /dev/null +++ b/ifrs17-template/PracticalUseCases/SingleVsMultipleCsmSwitch/DataNodeStates_CsmSwitch_CH_2020_12.csv @@ -0,0 +1,8 @@ +@@Main,, +ReportingNode,Year,Month +CH,2020,12 +,, +@@DataNodeState,, +DataNode,State, +MZ1.1,Active, +MZ1.2,Active, diff --git a/ifrs17-template/PracticalUseCases/SingleVsMultipleCsmSwitch/DataNodes_CsmSwitch_CH.csv b/ifrs17-template/PracticalUseCases/SingleVsMultipleCsmSwitch/DataNodes_CsmSwitch_CH.csv new file mode 100644 index 00000000..8993fec9 --- /dev/null +++ b/ifrs17-template/PracticalUseCases/SingleVsMultipleCsmSwitch/DataNodes_CsmSwitch_CH.csv @@ -0,0 +1,12 @@ +@@Main,,,,, +ReportingNode,,,,, +CH,,,,, +,,,,, +@@InsurancePortfolio,,,,, +SystemName,DisplayName,ContractualCurrency,LineOfBusiness,ValuationApproach,OciType +MZ1,CSM/LC Switch,CHF,ANN,BBA,Default +,,,,, +@@GroupOfInsuranceContract,,,,, +SystemName,DisplayName,InsurancePortfolio,AnnualCohort,LiabilityType,Profitability +MZ1.1,MZ 1.1 Multiple Switches,MZ1,2020,LRC,P +MZ1.2,MZ 1.2 Single Switch,MZ1,2020,LIC,P diff --git a/ifrs17-template/PracticalUseCases/SingleVsMultipleCsmSwitch/NominalCashflows_CsmSwitch_CH_2020_12.csv b/ifrs17-template/PracticalUseCases/SingleVsMultipleCsmSwitch/NominalCashflows_CsmSwitch_CH_2020_12.csv new file mode 100644 index 00000000..d7a707a5 --- /dev/null +++ b/ifrs17-template/PracticalUseCases/SingleVsMultipleCsmSwitch/NominalCashflows_CsmSwitch_CH_2020_12.csv @@ -0,0 +1,13 @@ +@@Main,,,,,,,,,,,,,,,,,,,,,,,,,,,, +ReportingNode,Year,Month,Scenario,,,,,,,,,,,,,,,,,,,,,,,,, +CH,2020,12,,,,,,,,,,,,,,,,,,,,,,,,,, +@@Cashflow,,,,,,,,,,,,,,,,,,,,,,,,,,,, +DataNode,AmountType,AocType,Novelty,AccidentYear,Values0,Values1,Values2,Values3,Values4,Values5,Values6,Values7,Values8,Values9,Values10,Values11,Values12,Values13,Values14,Values15,Values16,Values17,Values18,Values19,Values20,Values21,Values22,Values23 +MZ1.1,PR,BOP,N,,100,0,0,100,0,0,100,0,0,100,0,0,0,100,0,0,100,0,0,100,0,0,100,0 +MZ1.1,NIC,BOP,N,,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25 +MZ1.1,CU,BOP,N,,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3 +MZ1.1,RA,BOP,N,,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5 +MZ1.1,PR,CL,C,,100,0,0,100,0,0,100,0,0,100,0,0,0,100,0,0,100,0,0,100,0,0,100,0 +MZ1.1,NIC,CL,C,,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25 +MZ1.1,CU,CL,C,,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3 +MZ1.1,RA,CL,C,,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5 diff --git a/ifrs17-template/PracticalUseCases/SingleVsMultipleCsmSwitch/NominalCashflows_CsmSwitch_CH_2021_3.csv b/ifrs17-template/PracticalUseCases/SingleVsMultipleCsmSwitch/NominalCashflows_CsmSwitch_CH_2021_3.csv new file mode 100644 index 00000000..6bf0f7ee --- /dev/null +++ b/ifrs17-template/PracticalUseCases/SingleVsMultipleCsmSwitch/NominalCashflows_CsmSwitch_CH_2021_3.csv @@ -0,0 +1,22 @@ +@@Main,,,,,,,,,,,,,,,,,,,,,,,,, +ReportingNode,Year,Month,,,,,,,,,,,,,,,,,,,,,,, +CH,2021,3,,,,,,,,,,,,,,,,,,,,,,, +@@Cashflow,,,,,,,,,,,,,,,,,,,,,,,,, +DataNode,AmountType,AocType,Novelty,AccidentYear,Values0,Values1,Values2,Values3,Values4,Values5,Values6,Values7,Values8,Values9,Values10,Values11,Values12,Values13,Values14,Values15,Values16,Values17,Values18,Values19,Values20 +MZ1.1,PR,MC,I,,0,110,0,0,110,0,0,110,0,0,110,0,0,0,0,0,0,0,0,0,0 +MZ1.1,NIC,MC,I,,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,0,0,0,0,0,0,0,0,0 +MZ1.1,CU,MC,I,,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,0,0,0,0,0,0,0,0,0 +MZ1.1,RA,MC,I,,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,0,0,0,0,0,0,0,0,0 +MZ1.1,PR,BOP,N,,0,10,0,0,10,0,0,10,0,0,10,0,0,0,0,0,0,0,0,0,0 +MZ1.1,ICO,BOP,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,0,0 +MZ1.1,NIC,BOP,N,,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,0,0,0,0,0,0,0,0,0 +MZ1.1,RA,BOP,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,0,0 +MZ1.1,PR,EV,N,,0,5,0,0,5,0,0,5,0,0,5,0,0,0,0,0,0,0,0,0,0 +MZ1.1,ICO,EV,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,0,0 +MZ1.1,NIC,EV,N,,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,0,0,0,0,0,0,0,0,0 +MZ1.1,RA,EV,N,,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,0,0,0,0,0,0,0,0,0 +MZ1.1,PR,CL,C,,0,115,0,0,115,0,0,115,0,0,115,0,0,0,0,0,0,0,0,0,0 +MZ1.1,ICO,CL,C,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,0,0 +MZ1.1,NIC,CL,C,,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,0,0,0,0,0,0,0,0,0 +MZ1.1,CU,CL,C,,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,0,0,0,0,0,0,0,0,0 +MZ1.1,RA,CL,C,,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,0,0,0,0,0,0,0,0,0 diff --git a/ifrs17-template/PracticalUseCases/SingleVsMultipleCsmSwitch/SimpleValue_CsmSwitch_CH_2021_3.csv b/ifrs17-template/PracticalUseCases/SingleVsMultipleCsmSwitch/SimpleValue_CsmSwitch_CH_2021_3.csv new file mode 100644 index 00000000..6f0a65e5 --- /dev/null +++ b/ifrs17-template/PracticalUseCases/SingleVsMultipleCsmSwitch/SimpleValue_CsmSwitch_CH_2021_3.csv @@ -0,0 +1,92 @@ +@@Main,,,,,,, +Month,ReportingNode,Scenario,Year,,,, +3,CH,,2021,,,, +@@SimpleValue,,,,,,, +AccidentYear,AmountType,AocType,DataNode,EconomicBasis,EstimateType,Novelty,Value +,PR,CF,MZ1.2,,A,C,90 +,ICO,CF,MZ1.2,,A,C,-6 +,NIC,CF,MZ1.2,,A,C,-70 +,ACA,CF,MZ1.2,,A,C,-10 +,AEA,CF,MZ1.2,,A,C,-5 +,,AM,MZ1.2,L,F,C,0.32249 +,,BOP,MZ1.2,,C,N,-31.95874 +,,IA,MZ1.2,,C,N,-0.0163 +,,EV,MZ1.2,,C,N,-55.45632 +,,BOP,MZ1.2,,C,I,42.96811 +,,EA,MZ1.2,,C,C,-42 +,,AM,MZ1.2,,C,C,-6.28963 +,,EOP,MZ1.2,,C,C,13.21352 +,,MC,MZ1.2,,C,I,105.89201 +,,IA,MZ1.2,,C,I,0.07437 +,,CF,MZ1.2,,DA,C,-15 +,,BOP,MZ1.2,,DA,I,-5.15655 +,,AM,MZ1.2,,DA,C,6.50034 +,,EOP,MZ1.2,,DA,C,-13.65621 +,PR,MC,MZ1.2,L,BE,I,-39.96339 +,NIC,MC,MZ1.2,L,BE,I,-59.93511 +,PR,MC,MZ1.2,C,BE,I,-39.96339 +,NIC,MC,MZ1.2,C,BE,I,-59.93511 +,PR,BOP,MZ1.2,L,BE,N,-39.96339 +,NIC,BOP,MZ1.2,L,BE,N,47.94809 +,ICO,BOP,MZ1.2,L,BE,N,11.98702 +,PR,BOP,MZ1.2,C,BE,N,-39.9087 +,NIC,BOP,MZ1.2,C,BE,N,47.87055 +,ICO,BOP,MZ1.2,C,BE,N,11.96764 +,PR,EV,MZ1.2,L,BE,N,14.99001 +,NIC,EV,MZ1.2,L,BE,N,44.96256 +,PR,EV,MZ1.2,C,BE,N,14.97509 +,NIC,EV,MZ1.2,C,BE,N,44.90661 +,PR,BOP,MZ1.2,L,BE,I,-399.63393 +,NIC,BOP,MZ1.2,L,BE,I,299.67555 +,PR,BOP,MZ1.2,C,BE,I,-399.63393 +,NIC,BOP,MZ1.2,C,BE,I,299.67555 +,PR,EOP,MZ1.2,L,BE,C,-344.77033 +,NIC,EOP,MZ1.2,L,BE,C,260.78283 +,ICO,EOP,MZ1.2,L,BE,C,8.99251 +,PR,EOP,MZ1.2,C,BE,C,-344.42709 +,NIC,EOP,MZ1.2,C,BE,C,260.45832 +,ICO,EOP,MZ1.2,C,BE,C,8.98132 +,PR,IA,MZ1.2,L,BE,I,-0.183 +,NIC,IA,MZ1.2,L,BE,I,0.10979 +,PR,IA,MZ1.2,C,BE,I,-0.183 +,NIC,IA,MZ1.2,C,BE,I,0.10979 +,PR,CF,MZ1.2,L,BE,I,110 +,NIC,CF,MZ1.2,L,BE,I,-60 +,PR,CF,MZ1.2,C,BE,I,110 +,NIC,CF,MZ1.2,C,BE,I,-60 +,PR,YCU,MZ1.2,C,BE,I,0.32832 +,NIC,YCU,MZ1.2,C,BE,I,-0.2238 +,PR,IA,MZ1.2,L,BE,N,-0.01664 +,NIC,IA,MZ1.2,L,BE,N,0.02196 +,ICO,IA,MZ1.2,L,BE,N,0.00549 +,PR,IA,MZ1.2,C,BE,N,-0.04148 +,NIC,IA,MZ1.2,C,BE,N,0.05474 +,ICO,IA,MZ1.2,C,BE,N,0.01368 +,PR,CF,MZ1.2,L,BE,N,10 +,NIC,CF,MZ1.2,L,BE,N,-12 +,ICO,CF,MZ1.2,L,BE,N,-3 +,PR,CF,MZ1.2,C,BE,N,10 +,NIC,CF,MZ1.2,C,BE,N,-12 +,ICO,CF,MZ1.2,C,BE,N,-3 +,PR,CF,MZ1.2,,APA,C,72 +,,MC,MZ1.2,C,RA,I,-5.99351 +,,MC,MZ1.2,L,RA,I,-5.99351 +,,BOP,MZ1.2,C,RA,N,11.96764 +,,BOP,MZ1.2,L,RA,N,11.98702 +,,EV,MZ1.2,C,RA,N,-4.49066 +,,EV,MZ1.2,L,RA,N,-4.49626 +,,BOP,MZ1.2,C,RA,I,29.96755 +,,BOP,MZ1.2,L,RA,I,29.96755 +,,EOP,MZ1.2,C,RA,C,22.4533 +,,EOP,MZ1.2,L,RA,C,22.48128 +,,IA,MZ1.2,C,RA,I,0.01098 +,,IA,MZ1.2,L,RA,I,0.01098 +,,CF,MZ1.2,C,RA,I,-6 +,,CF,MZ1.2,L,RA,I,-6 +,,YCU,MZ1.2,C,RA,I,-0.02238 +,,IA,MZ1.2,C,RA,N,0.01368 +,,IA,MZ1.2,L,RA,N,0.00549 +,,CF,MZ1.2,C,RA,N,-3 +,,CF,MZ1.2,L,RA,N,-3 +,PR,CF,MZ1.2,L,BEPA,I,88 +,PR,CF,MZ1.2,L,BEPA,N,8 From d7b385ce9212ef49d7a21eb8b2feb154b2fffa91 Mon Sep 17 00:00:00 2001 From: Daniel Trzesniak Date: Mon, 19 Dec 2022 20:22:45 +0100 Subject: [PATCH 26/37] Getting the import --- .../CsmSwitchDataImport.ipynb | 16 ++--- .../CsmSwitchReports.ipynb | 59 ++++++------------- .../DataNodes_CsmSwitch_CH.csv | 2 +- 3 files changed, 27 insertions(+), 50 deletions(-) diff --git a/ifrs17-template/PracticalUseCases/SingleVsMultipleCsmSwitch/CsmSwitchDataImport.ipynb b/ifrs17-template/PracticalUseCases/SingleVsMultipleCsmSwitch/CsmSwitchDataImport.ipynb index ed01d98d..ad1533b3 100644 --- a/ifrs17-template/PracticalUseCases/SingleVsMultipleCsmSwitch/CsmSwitchDataImport.ipynb +++ b/ifrs17-template/PracticalUseCases/SingleVsMultipleCsmSwitch/CsmSwitchDataImport.ipynb @@ -109,7 +109,7 @@ { "cell_type": "markdown", "source": [ - "### importing first GIC: 2020 12 for fully retrospective calculation and 2021 3 for the current calculation and analysis" + "### importing first GIC: 2020 12 for fully retrospective calculation and 2021 3 for the current calculation" ], "metadata": {}, "execution_count": 0, @@ -118,7 +118,7 @@ { "cell_type": "code", "source": [ - "await Import.FromFile(\"../Files/TransactionalData/Openings_CH_2020_12.csv\").WithFormat(ImportFormats.Opening).WithTarget(DataSource).ExecuteAsync()" + "//await Import.FromFile(\"../Files/TransactionalData/Openings_CH_2020_12.csv\").WithFormat(ImportFormats.Opening).WithTarget(DataSource).ExecuteAsync()" ], "metadata": {}, "execution_count": 0, @@ -127,7 +127,7 @@ { "cell_type": "code", "source": [ - "await Import.FromFile(\"../Files/TransactionalData/NominalCashflows_CH_2020_12.csv\").WithFormat(ImportFormats.Cashflow).WithTarget(DataSource).ExecuteAsync()" + "await Import.FromFile(\"NominalCashflows_CsmSwitch_CH_2020_12.csv\").WithFormat(ImportFormats.Cashflow).WithTarget(DataSource).ExecuteAsync()" ], "metadata": {}, "execution_count": 0, @@ -136,7 +136,7 @@ { "cell_type": "code", "source": [ - "await Import.FromFile(\"../Files/TransactionalData/Actuals_CH_2020_12.csv\").WithFormat(ImportFormats.Actual).WithTarget(DataSource).ExecuteAsync()" + "await Import.FromFile(\"Actuals_CsmSwitch_CH_2020_12.csv\").WithFormat(ImportFormats.Actual).WithTarget(DataSource).ExecuteAsync()" ], "metadata": {}, "execution_count": 0, @@ -145,7 +145,7 @@ { "cell_type": "code", "source": [ - "await Import.FromFile(\"../Files/TransactionalData/NominalCashflows_CH_2021_3.csv\").WithFormat(ImportFormats.Cashflow).WithTarget(DataSource).ExecuteAsync()" + "await Import.FromFile(\"NominalCashflows_CsmSwitch_CH_2021_3.csv\").WithFormat(ImportFormats.Cashflow).WithTarget(DataSource).ExecuteAsync()" ], "metadata": {}, "execution_count": 0, @@ -154,7 +154,7 @@ { "cell_type": "code", "source": [ - "await Import.FromFile(\"../Files/TransactionalData/Actuals_CH_2021_3.csv\").WithFormat(ImportFormats.Actual).WithTarget(DataSource).ExecuteAsync()" + "await Import.FromFile(\"Actuals_CsmSwitch_CH_2021_3.csv\").WithFormat(ImportFormats.Actual).WithTarget(DataSource).ExecuteAsync()" ], "metadata": {}, "execution_count": 0, @@ -163,7 +163,7 @@ { "cell_type": "markdown", "source": [ - "### importing second GIC: 2021 3 as pre-calculated values and analysis" + "### importing second GIC: 2021 3 as pre-calculated values" ], "metadata": {}, "execution_count": 0, @@ -172,7 +172,7 @@ { "cell_type": "code", "source": [ - "await Import.FromFile(\"../Files/TransactionalData/SimpleValue_CH_2021_3.csv\").WithFormat(ImportFormats.SimpleValue).WithTarget(DataSource).ExecuteAsync()" + "await Import.FromFile(\"SimpleValue_CsmSwitch_CH_2021_3.csv\").WithFormat(ImportFormats.SimpleValue).WithTarget(DataSource).ExecuteAsync()" ], "metadata": {}, "execution_count": 0, diff --git a/ifrs17-template/PracticalUseCases/SingleVsMultipleCsmSwitch/CsmSwitchReports.ipynb b/ifrs17-template/PracticalUseCases/SingleVsMultipleCsmSwitch/CsmSwitchReports.ipynb index 38b56dea..8d68b81d 100644 --- a/ifrs17-template/PracticalUseCases/SingleVsMultipleCsmSwitch/CsmSwitchReports.ipynb +++ b/ifrs17-template/PracticalUseCases/SingleVsMultipleCsmSwitch/CsmSwitchReports.ipynb @@ -53,17 +53,7 @@ { "cell_type": "code", "source": [ - "#!eval-notebook \"../Import/CloseImportTemplate\"" - ], - "metadata": {}, - "execution_count": 0, - "outputs": [] - }, - { - "cell_type": "code", - "source": [ - "Workspace.InitializeFrom(DataSource);", - "\nifrs17.Reset(Workspace)" + "#!import \"CsmSwitchDataImport\"" ], "metadata": {}, "execution_count": 0, @@ -83,9 +73,7 @@ { "cell_type": "markdown", "source": [ - "# Best Estimate Present Value of Cashflows", - "\n", - "\n" + "# Best Estimate Present Value of Cashflows" ], "metadata": {}, "execution_count": 0, @@ -98,8 +86,8 @@ "\npv.ReportingNode = \"CH\";", "\npv.ReportingPeriod = (reportingYear, reportingMonth);", "\npv.CurrencyType = CurrencyType.Contractual;", - "\npv.ColumnSlices = new string[]{\"GroupOfContract\", \"EconomicBasis\"};//\"GroupOfContract\", \"AmountType\"", - "\npv.DataFilter = null; //new [] {(\"GroupOfContract\", \"DT1.1\") };", + "\npv.ColumnSlices = new string[]{\"GroupOfContract\", \"EconomicBasis\"};", + "\npv.DataFilter = null;", "\n(await pv.ToReportAsync) with {Height = 720}" ], "metadata": {}, @@ -121,8 +109,8 @@ "var ra = ifrs17.RiskAdjustments;", "\nra.ReportingNode = \"CH\";", "\nra.ReportingPeriod = (reportingYear, reportingMonth);", - "\nra.ColumnSlices = new string[]{\"GroupOfContract\", \"EconomicBasis\"};//\"GroupOfContract\", \"EconomicBasis\"", - "\nra.DataFilter = null;//new [] {(\"GroupOfContract\", \"DT1.2\")};", + "\nra.ColumnSlices = new string[]{\"GroupOfContract\", \"EconomicBasis\"};", + "\nra.DataFilter = null;", "\n(await ra.ToReportAsync) with {Height = 800}" ], "metadata": {}, @@ -144,8 +132,8 @@ "var writtenActual = ifrs17.WrittenActuals;", "\nwrittenActual.ReportingNode = \"CH\";", "\nwrittenActual.ReportingPeriod = (reportingYear, reportingMonth);", - "\nwrittenActual.ColumnSlices = new string[]{};//\"GroupOfContract\"", - "\nwrittenActual.DataFilter = null; //new [] {(\"GroupOfContract\", \"DT1.1\")};", + "\nwrittenActual.ColumnSlices = new string[]{};", + "\nwrittenActual.DataFilter = null;", "\n(await writtenActual.ToReportAsync) with {Height = 400}" ], "metadata": {}, @@ -169,8 +157,8 @@ "var experienceAdjustments = ifrs17.ExperienceAdjustments;", "\nexperienceAdjustments.ReportingNode = \"CH\";", "\nexperienceAdjustments.ReportingPeriod = (reportingYear, reportingMonth);", - "\nexperienceAdjustments.ColumnSlices = new string[]{};//\"GroupOfContract\", \"AmountType\"", - "\nexperienceAdjustments.DataFilter = null; //new [] {(\"GroupOfContract\", \"DT1.1\")};", + "\nexperienceAdjustments.ColumnSlices = new string[]{};", + "\nexperienceAdjustments.DataFilter = null;", "\n(await experienceAdjustments.ToReportAsync) with {Height = 300}" ], "metadata": {}, @@ -202,8 +190,8 @@ "var technicalMargins = ifrs17.TechnicalMargins;", "\ntechnicalMargins.ReportingNode = \"CH\";", "\ntechnicalMargins.ReportingPeriod = (reportingYear, reportingMonth);", - "\ntechnicalMargins.ColumnSlices = new string[]{\"GroupOfContract\"};//\"GroupOfContract\", \"AmountType\"", - "\ntechnicalMargins.DataFilter = null; //new [] {(\"GroupOfContract\", \"DT1.1\")};", + "\ntechnicalMargins.ColumnSlices = new string[]{\"GroupOfContract\"};", + "\ntechnicalMargins.DataFilter = null;", "\n(await technicalMargins.ToReportAsync) with {Height = 600}" ], "metadata": {}, @@ -238,8 +226,8 @@ "var allocatedTechnicalMargins = ifrs17.AllocatedTechnicalMargins;", "\nallocatedTechnicalMargins.ReportingNode = \"CH\";", "\nallocatedTechnicalMargins.ReportingPeriod = (reportingYear, reportingMonth);", - "\nallocatedTechnicalMargins.ColumnSlices = new string[]{\"GroupOfContract\", \"EstimateType\"};//\"GroupOfContract\", \"EstimateType\"", - "\nallocatedTechnicalMargins.DataFilter = null;// new [] {(\"GroupOfContract\", \"DT1.1\")};//null; //", + "\nallocatedTechnicalMargins.ColumnSlices = new string[]{\"GroupOfContract\", \"EstimateType\"};", + "\nallocatedTechnicalMargins.DataFilter = null;", "\n(await allocatedTechnicalMargins.ToReportAsync) with {Height = 700}" ], "metadata": {}, @@ -265,8 +253,8 @@ "var actuarialLrc = ifrs17.ActuarialLrc;", "\nactuarialLrc.ReportingNode = \"CH\";", "\nactuarialLrc.ReportingPeriod = (reportingYear, reportingMonth);", - "\nactuarialLrc.ColumnSlices = new string[]{\"GroupOfContract\", \"EstimateType\"};//\"GroupOfContract\"", - "\nactuarialLrc.DataFilter = null; //new [] {(\"GroupOfContract\", \"DT1.1\")};", + "\nactuarialLrc.ColumnSlices = new string[]{\"GroupOfContract\", \"EstimateType\"};", + "\nactuarialLrc.DataFilter = null;", "\n(await actuarialLrc.ToReportAsync) with {Height = 750}" ], "metadata": {}, @@ -307,7 +295,7 @@ "\nfinancialPerformance.ReportingNode = \"CH\";", "\nfinancialPerformance.ReportingPeriod = (reportingYear, reportingMonth);", "\nfinancialPerformance.ColumnSlices = new string[]{\"GroupOfContract\"};//\"GroupOfContract\"", - "\nfinancialPerformance.DataFilter = null; //new [] {(\"GroupOfContract\", \"DT1.1\")};", + "\nfinancialPerformance.DataFilter = null;", "\n(await financialPerformance.ToReportAsync) with { Height = 900, GroupDefaultExpanded = 3}" ], "metadata": {}, @@ -317,18 +305,7 @@ { "cell_type": "code", "source": [ - "//126.8063 - 126.790 = 0.0163", - "\n//-85.484 + 85.5003 = 0.0163" - ], - "metadata": {}, - "execution_count": 0, - "outputs": [] - }, - { - "cell_type": "code", - "source": [ - "//IFIE", - "\n//CSM : -0.0744 - -0.0581 = -0.0163" + "" ], "metadata": {}, "execution_count": 0, diff --git a/ifrs17-template/PracticalUseCases/SingleVsMultipleCsmSwitch/DataNodes_CsmSwitch_CH.csv b/ifrs17-template/PracticalUseCases/SingleVsMultipleCsmSwitch/DataNodes_CsmSwitch_CH.csv index 8993fec9..2ecc480e 100644 --- a/ifrs17-template/PracticalUseCases/SingleVsMultipleCsmSwitch/DataNodes_CsmSwitch_CH.csv +++ b/ifrs17-template/PracticalUseCases/SingleVsMultipleCsmSwitch/DataNodes_CsmSwitch_CH.csv @@ -9,4 +9,4 @@ MZ1,CSM/LC Switch,CHF,ANN,BBA,Default @@GroupOfInsuranceContract,,,,, SystemName,DisplayName,InsurancePortfolio,AnnualCohort,LiabilityType,Profitability MZ1.1,MZ 1.1 Multiple Switches,MZ1,2020,LRC,P -MZ1.2,MZ 1.2 Single Switch,MZ1,2020,LIC,P +MZ1.2,MZ 1.2 Single Switch,MZ1,2020,LRC,P From 265514261877005e239a24897e81c1039a2f2bbb Mon Sep 17 00:00:00 2001 From: Daniel Trzesniak Date: Mon, 19 Dec 2022 20:37:46 +0100 Subject: [PATCH 27/37] data update --- .../CsmSwitchDataImport.ipynb | 11 ++++- .../CsmSwitchReports.ipynb | 12 ++--- .../SimpleValue_CsmSwitch_CH_2020_12.csv | 44 +++++++++++++++++++ 3 files changed, 60 insertions(+), 7 deletions(-) create mode 100644 ifrs17-template/PracticalUseCases/SingleVsMultipleCsmSwitch/SimpleValue_CsmSwitch_CH_2020_12.csv diff --git a/ifrs17-template/PracticalUseCases/SingleVsMultipleCsmSwitch/CsmSwitchDataImport.ipynb b/ifrs17-template/PracticalUseCases/SingleVsMultipleCsmSwitch/CsmSwitchDataImport.ipynb index ad1533b3..9e270f66 100644 --- a/ifrs17-template/PracticalUseCases/SingleVsMultipleCsmSwitch/CsmSwitchDataImport.ipynb +++ b/ifrs17-template/PracticalUseCases/SingleVsMultipleCsmSwitch/CsmSwitchDataImport.ipynb @@ -163,7 +163,16 @@ { "cell_type": "markdown", "source": [ - "### importing second GIC: 2021 3 as pre-calculated values" + "### importing second GIC: 2020 12 and 2021 3 as pre-calculated values" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "await Import.FromFile(\"SimpleValue_CsmSwitch_CH_2020_12.csv\").WithFormat(ImportFormats.SimpleValue).WithTarget(DataSource).ExecuteAsync()" ], "metadata": {}, "execution_count": 0, diff --git a/ifrs17-template/PracticalUseCases/SingleVsMultipleCsmSwitch/CsmSwitchReports.ipynb b/ifrs17-template/PracticalUseCases/SingleVsMultipleCsmSwitch/CsmSwitchReports.ipynb index 8d68b81d..fe2e5369 100644 --- a/ifrs17-template/PracticalUseCases/SingleVsMultipleCsmSwitch/CsmSwitchReports.ipynb +++ b/ifrs17-template/PracticalUseCases/SingleVsMultipleCsmSwitch/CsmSwitchReports.ipynb @@ -35,7 +35,7 @@ "\n
In particular, we are going to consider two possible implementation for the **switch logic** which controls how the allocation of technical margin swithces from CSM to LC and viceversa through out the analysis of change. ", "\n", "\n", - "\nIn practice, we consider two hypothetical Group of Insurance Contract with the same parameter, cashflow, actual inputs and we will look at the results obtained applying two different implementation of the **switch logic** and it's implication to Financial figures. " + "\nIn practice, we consider two hypothetical Group of Insurance Contract with the same parameters, modelled cash flows, actuals and we will look at the results obtained applying two different implementation of the **switch logic** and it's implication to Financial figures. " ], "metadata": {}, "execution_count": 0, @@ -63,8 +63,8 @@ "cell_type": "code", "source": [ "//2020-12 - 2021-3", - "\nvar reportingYear = 2021; ", - "\nvar reportingMonth = 3;" + "\nvar reportingYear = 2020; ", + "\nvar reportingMonth = 12;" ], "metadata": {}, "execution_count": 0, @@ -132,7 +132,7 @@ "var writtenActual = ifrs17.WrittenActuals;", "\nwrittenActual.ReportingNode = \"CH\";", "\nwrittenActual.ReportingPeriod = (reportingYear, reportingMonth);", - "\nwrittenActual.ColumnSlices = new string[]{};", + "\nwrittenActual.ColumnSlices = new string[]{\"GroupOfContract\"};", "\nwrittenActual.DataFilter = null;", "\n(await writtenActual.ToReportAsync) with {Height = 400}" ], @@ -157,7 +157,7 @@ "var experienceAdjustments = ifrs17.ExperienceAdjustments;", "\nexperienceAdjustments.ReportingNode = \"CH\";", "\nexperienceAdjustments.ReportingPeriod = (reportingYear, reportingMonth);", - "\nexperienceAdjustments.ColumnSlices = new string[]{};", + "\nexperienceAdjustments.ColumnSlices = new string[]{\"GroupOfContract\", \"AmountType\"};", "\nexperienceAdjustments.DataFilter = null;", "\n(await experienceAdjustments.ToReportAsync) with {Height = 300}" ], @@ -294,7 +294,7 @@ "var financialPerformance = ifrs17.FinancialPerformance;", "\nfinancialPerformance.ReportingNode = \"CH\";", "\nfinancialPerformance.ReportingPeriod = (reportingYear, reportingMonth);", - "\nfinancialPerformance.ColumnSlices = new string[]{\"GroupOfContract\"};//\"GroupOfContract\"", + "\nfinancialPerformance.ColumnSlices = new string[]{\"GroupOfContract\"};", "\nfinancialPerformance.DataFilter = null;", "\n(await financialPerformance.ToReportAsync) with { Height = 900, GroupDefaultExpanded = 3}" ], diff --git a/ifrs17-template/PracticalUseCases/SingleVsMultipleCsmSwitch/SimpleValue_CsmSwitch_CH_2020_12.csv b/ifrs17-template/PracticalUseCases/SingleVsMultipleCsmSwitch/SimpleValue_CsmSwitch_CH_2020_12.csv new file mode 100644 index 00000000..043d2f37 --- /dev/null +++ b/ifrs17-template/PracticalUseCases/SingleVsMultipleCsmSwitch/SimpleValue_CsmSwitch_CH_2020_12.csv @@ -0,0 +1,44 @@ +@@Main,,,,,,, +Month,ReportingNode,Scenario,Year,,,, +12,CH,,2020,,,, +@@SimpleValue,,,,,,, +AccidentYear,AmountType,AocType,DataNode,EconomicBasis,EstimateType,Novelty,Value +,PR,BOP,MZ1.2,L,BE,N,-798.5367312 +,NIC,BOP,MZ1.2,L,BE,N,598.7529446 +,PR,BOP,MZ1.2,C,BE,N,-798.5367312 +,NIC,BOP,MZ1.2,C,BE,N,598.7529446 +,,BOP,MZ1.2,C,RA,N,59.87529446 +,,BOP,MZ1.2,L,RA,N,59.87529446 +,,AM,MZ1.2,L,F,C,0.656229858 +,PR,EOP,MZ1.2,L,BE,C,-399.6339295 +,NIC,EOP,MZ1.2,L,BE,C,299.6755497 +,PR,EOP,MZ1.2,C,BE,C,-399.6339295 +,NIC,EOP,MZ1.2,C,BE,C,299.6755497 +,,EOP,MZ1.2,C,RA,C,29.96755497 +,,EOP,MZ1.2,L,RA,C,29.96755497 +,PR,IA,MZ1.2,L,BE,N,-1.097198337 +,NIC,IA,MZ1.2,L,BE,N,0.922605096 +,PR,IA,MZ1.2,C,BE,N,-1.097198337 +,NIC,IA,MZ1.2,C,BE,N,0.922605096 +,,IA,MZ1.2,C,RA,N,0.09226051 +,,IA,MZ1.2,L,RA,N,0.09226051 +,PR,CF,MZ1.2,L,BE,N,400 +,NIC,CF,MZ1.2,L,BE,N,-300 +,PR,CF,MZ1.2,C,BE,N,400 +,NIC,CF,MZ1.2,C,BE,N,-300 +,,CF,MZ1.2,C,RA,N,-30 +,,CF,MZ1.2,L,RA,N,-30 +,PR,CF,MZ1.2,L,BEPA,N,320 +,PR,CF,MZ1.2,,A,C,400 +,NIC,CF,MZ1.2,,A,C,-280 +,ACA,CF,MZ1.2,,A,C,-10 +,AEA,CF,MZ1.2,,A,C,-5 +,PR,CF,MZ1.2,,APA,C,320 +,,CF,MZ1.2,,DA,C,-15 +,,EA,MZ1.2,,C,C,-15 +,,AM,MZ1.2,,DA,C,9.843447869 +,,AM,MZ1.2,,C,C,-82.02271122 +,,EOP,MZ1.2,,DA,C,-5.156552131 +,,EOP,MZ1.2,,C,C,42.96811361 +,,BOP,MZ1.2,,C,N,139.9084921 +,,IA,MZ1.2,,C,N,0.082332732 From 09d9740771ee879dd4a672df20c165d6ccdfcc28 Mon Sep 17 00:00:00 2001 From: Daniel Trzesniak Date: Tue, 20 Dec 2022 10:51:10 +0100 Subject: [PATCH 28/37] text --- .../ActualsUseCaseReports.ipynb | 2 +- .../CsmSwitchReports.ipynb | 58 ++++++------------- 2 files changed, 18 insertions(+), 42 deletions(-) diff --git a/ifrs17-template/PracticalUseCases/ActualsOutsideThePeriod/ActualsUseCaseReports.ipynb b/ifrs17-template/PracticalUseCases/ActualsOutsideThePeriod/ActualsUseCaseReports.ipynb index 3d269c2e..133580d4 100644 --- a/ifrs17-template/PracticalUseCases/ActualsOutsideThePeriod/ActualsUseCaseReports.ipynb +++ b/ifrs17-template/PracticalUseCases/ActualsOutsideThePeriod/ActualsUseCaseReports.ipynb @@ -279,7 +279,7 @@ { "cell_type": "markdown", "source": [ - "# Fulfilment Cash Flow" + "# Fulfilment Cash Flows" ], "metadata": {}, "execution_count": 0, diff --git a/ifrs17-template/PracticalUseCases/SingleVsMultipleCsmSwitch/CsmSwitchReports.ipynb b/ifrs17-template/PracticalUseCases/SingleVsMultipleCsmSwitch/CsmSwitchReports.ipynb index fe2e5369..0e2c69de 100644 --- a/ifrs17-template/PracticalUseCases/SingleVsMultipleCsmSwitch/CsmSwitchReports.ipynb +++ b/ifrs17-template/PracticalUseCases/SingleVsMultipleCsmSwitch/CsmSwitchReports.ipynb @@ -63,8 +63,8 @@ "cell_type": "code", "source": [ "//2020-12 - 2021-3", - "\nvar reportingYear = 2020; ", - "\nvar reportingMonth = 12;" + "\nvar reportingYear = 2021; ", + "\nvar reportingMonth = 3;" ], "metadata": {}, "execution_count": 0, @@ -73,7 +73,7 @@ { "cell_type": "markdown", "source": [ - "# Best Estimate Present Value of Cashflows" + "# Fulfilment Cash Flow" ], "metadata": {}, "execution_count": 0, @@ -82,36 +82,12 @@ { "cell_type": "code", "source": [ - "var pv = ifrs17.PresentValues;", - "\npv.ReportingNode = \"CH\";", - "\npv.ReportingPeriod = (reportingYear, reportingMonth);", - "\npv.CurrencyType = CurrencyType.Contractual;", - "\npv.ColumnSlices = new string[]{\"GroupOfContract\", \"EconomicBasis\"};", - "\npv.DataFilter = null;", - "\n(await pv.ToReportAsync) with {Height = 720}" - ], - "metadata": {}, - "execution_count": 0, - "outputs": [] - }, - { - "cell_type": "markdown", - "source": [ - "# Risk Adjustment" - ], - "metadata": {}, - "execution_count": 0, - "outputs": [] - }, - { - "cell_type": "code", - "source": [ - "var ra = ifrs17.RiskAdjustments;", - "\nra.ReportingNode = \"CH\";", - "\nra.ReportingPeriod = (reportingYear, reportingMonth);", - "\nra.ColumnSlices = new string[]{\"GroupOfContract\", \"EconomicBasis\"};", - "\nra.DataFilter = null;", - "\n(await ra.ToReportAsync) with {Height = 800}" + "var fulfillmentCashflows = ifrs17.FulfillmentCashflows;", + "\nfulfillmentCashflows.ReportingNode = \"CH\";", + "\nfulfillmentCashflows.ReportingPeriod = (reportingYear, reportingMonth);", + "\nfulfillmentCashflows.ColumnSlices = new string[]{\"GroupOfContract\",\"EstimateType\"};", + "\nfulfillmentCashflows.DataFilter = null;", + "\n(await fulfillmentCashflows.ToReportAsync) with {Height = 750}" ], "metadata": {}, "execution_count": 0, @@ -206,15 +182,15 @@ "\nThe Contractual Service Margin (CSM) / Loss Component (LC) / Loss Recovery Component (LR) [report](https://portal.systemorph.cloud/project/ifrs17/env/v1.0.0/Report/ReportScopes#technical-margin) are here shown side by side as the allocation to profit or loss is done at each step of the Analysis of Change. ", "\n", "\nHere, we show the result of two different implementations of the **switch logic** for the two Group of Insurance contract we are considering. ", - "\n
Group of Insurance contract called \"DT1.1\" is calculated with our standard methodology (**Many switches**) which allows to switch at every AoC Step with no limitation of amount of switches. ", - "\n
Group of Insurance contract called \"DT5.1\" is calculated with a switch logic (**One switch**) that shows only one switch when the number of total switches is odd, none otherwise. ", + "\n
Group of Insurance contract called \"MZ1.1\" is calculated with our standard methodology (**Many switches**) which allows to switch at every AoC Step with no limitation of amount of switches. ", + "\n
Group of Insurance contract called \"MZ1.2\" is calculated with a switch logic (**One switch**) that shows only one switch when the number of total switches is odd, none otherwise. ", "\n", "\nBecause only the New Business figures drive the technical margin to the Liability side, one can immediately realize the main difference between these two switch choices: ", - "\n
DT5.1 does not recognize any loss.", + "\n
MZ1.2 does not recognize any loss.", "\n", "\nIn this case the **One switch** logic does not show any switch as both opening and closing figures are assets. The New Business contributions are then forced on the CSM side of this report with a negative sign to reflect the fact that they are decreasing the asset. ", "\n", - "\nContrarely, the **Many switches** approach allows the New Business to be recognized in the Loss component. This generates a discrepancy between the In Force (asset allocated to the CSM) and New Business (Liability allocated to the Loss Component). This is resolved in the Combined section of the report where both In Force and New Business figures are considered. The Combined Liability AoC Step takes care of adding the two contributions together cancelling the Liability contributions and allocating the equivalent amount to the CSM. " + "\nContrarily, the **Many switches** approach allows the New Business to be recognized in the Loss component. This generates a discrepancy between the In Force (asset allocated to the CSM) and New Business (Liability allocated to the Loss Component). This is resolved in the Combined section of the report where both In Force and New Business figures are considered. The Combined Liability AoC Step takes care of adding the two contributions together cancelling the Liability contributions and allocating the equivalent amount to the CSM. " ], "metadata": {}, "execution_count": 0, @@ -241,7 +217,7 @@ "\n", "\nThe [Actuarial Liability for Remaining Coverage](https://portal.systemorph.cloud/project/ifrs17/env/v1.0.0/Report/ReportScopes#lrc-actuarial-actuarial-liability-for-remaining-coverage) report shows figures from Fulfilment Cash flow discounted with current yield curve, and the allocated techinical margin. ", "\n", - "\nIn the Balance Sheet view the two approaches can be distinguished only by slicing in the data by EstimateType and noticing that New Business section of the CSM for DT1.1 is completely missing (as it is allocated to the LC). Note that the same closing balance is reached in both cases as the Combined Liability AoC Step in the CSM for DT1.1 brings the New Business contribution to the CSM. " + "\nIn the Balance Sheet view the two approaches can be distinguished only by slicing in the data by EstimateType and noticing that New Business section of the CSM for MZ1.1 is completely missing (as it is allocated to the LC). Note that the same closing balance is reached in both cases as the Combined Liability AoC Step in the CSM for MZ1.1 brings the New Business contribution to the CSM. " ], "metadata": {}, "execution_count": 0, @@ -273,12 +249,12 @@ "\n", "\nDrilling down into the data granularity one can realize the source of the above mentioned differences. ", "\n
Let's start from the IFIE contribution (Financial contributions): ", - "\n- DT1.1 esplicitly recognizes a contribution to loss: -0.0163 this is the interest accretion on the liability side of the techinical margin. Contrarily, DT5.1 does not recognizes any loss. ", - "\n- DT1.1 reports a bigger figure for CSM than DT5.1 this is because in DT5.1 the interest on the asset and on the liability are both allocated to CSM and reported here as summed up (they carry opposite sign - check [CSM report](#contractual-service-margin-loss-component-loss-recovery-component)).", + "\n- MZ1.1 esplicitly recognizes a contribution to loss: -0.0163 this is the interest accretion on the liability side of the techinical margin. Contrarily, MZ1.2 does not recognizes any loss. ", + "\n- MZ1.1 reports a bigger figure for CSM than MZ1.2 this is because in MZ1.2 the interest on the asset and on the liability are both allocated to CSM and reported here as summed up (they carry opposite sign - check [CSM report](#contractual-service-margin-loss-component-loss-recovery-component)).", "\n", "\nContinuing with the ISE contribution, one sees that both *Insurance Revenue* and *Insurance service Expense* carries a difference of 0.0163 between the two scenarios. ", "\n- The difference in *Insurance service Expense* is due to having explicitly allocated the New Business of the TM to Loss Component. In this item the financial step (such as IA) is excluded. Thus, because overall the Loss amount to 0 the net effect of summing all the movements but IA result in $-$IA. This term cancels out the LC contribution reported in the Financial section. ", - "\n- The difference in *Insurance Revenue* is produced by the CSM contribution to the *Non Financial LRC changes*. The DT1.1 Group of Insurance Contract includes here the Combined Liability AoC Step which includes the contribution of the IA computed on the New Business (Liability).", + "\n- The difference in *Insurance Revenue* is produced by the CSM contribution to the *Non Financial LRC changes*. The MZ1.1 Group of Insurance Contract includes here the Combined Liability AoC Step which includes the contribution of the IA computed on the New Business (Liability).", "\n", "\n", "\nWorth to mention is how the choice of splitting between financial and non-financial contribution all figures reported in the Financial Performance makes explicit many contributions which finally cancel out but contribute to a trasparent report. ", From 89a1ab25879ff8e1b1d44ec7f139c4a2d33b64cd Mon Sep 17 00:00:00 2001 From: Daniel Trzesniak Date: Tue, 20 Dec 2022 16:50:57 +0100 Subject: [PATCH 29/37] New Curve --- ifrs17-template/Files/Dimensions.csv | 3 ++- ifrs17-template/Files/Parameters/YieldCurve.csv | 1 + .../SingleVsMultipleCsmSwitch/DataNodes_CsmSwitch_CH.csv | 2 +- 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/ifrs17-template/Files/Dimensions.csv b/ifrs17-template/Files/Dimensions.csv index 95c57d81..4aa38d5b 100644 --- a/ifrs17-template/Files/Dimensions.csv +++ b/ifrs17-template/Files/Dimensions.csv @@ -100,8 +100,9 @@ EUR,Euro,,,,,,,,,, GBP,British Pound,,,,,,,,,, HKD,Hong Kong Dollar,,,,,,,,,, ITL,Italian Lira,,,,,,,,,, -PLN,Polish Zloty (since 01.01.95),,,,,,,,,, +PLN,Polish Zloty,,,,,,,,,, SKK,Slovakian Krona,,,,,,,,,, +XTSHY,Testing High Yields,,,,,,,,,, ,,,,,,,,,,, @@EconomicBasis,,,,,,,,,,, SystemName,DisplayName,Order,,,,,,,,, diff --git a/ifrs17-template/Files/Parameters/YieldCurve.csv b/ifrs17-template/Files/Parameters/YieldCurve.csv index 31a97cd0..54460671 100644 --- a/ifrs17-template/Files/Parameters/YieldCurve.csv +++ b/ifrs17-template/Files/Parameters/YieldCurve.csv @@ -11,3 +11,4 @@ USD,2020,3,0.002,0.002,0.002,0.002 USD,2020,1,0.002,0.002,0.002,0.002 GBP,2020,3,0.01,0.015,0.02,0.02 GBP,2021,3,0.015,0.02,0.02,0.025 +XTSHY,2019,12,0.85,0.85,0.85,0.85 diff --git a/ifrs17-template/PracticalUseCases/SingleVsMultipleCsmSwitch/DataNodes_CsmSwitch_CH.csv b/ifrs17-template/PracticalUseCases/SingleVsMultipleCsmSwitch/DataNodes_CsmSwitch_CH.csv index 2ecc480e..a728d0d1 100644 --- a/ifrs17-template/PracticalUseCases/SingleVsMultipleCsmSwitch/DataNodes_CsmSwitch_CH.csv +++ b/ifrs17-template/PracticalUseCases/SingleVsMultipleCsmSwitch/DataNodes_CsmSwitch_CH.csv @@ -4,7 +4,7 @@ CH,,,,, ,,,,, @@InsurancePortfolio,,,,, SystemName,DisplayName,ContractualCurrency,LineOfBusiness,ValuationApproach,OciType -MZ1,CSM/LC Switch,CHF,ANN,BBA,Default +MZ1,CSM/LC Switch,XTSHY,ANN,BBA,Default ,,,,, @@GroupOfInsuranceContract,,,,, SystemName,DisplayName,InsurancePortfolio,AnnualCohort,LiabilityType,Profitability From 5f0f515606c2cbf0503f410f37cbfdf209165f94 Mon Sep 17 00:00:00 2001 From: Daniel Trzesniak Date: Wed, 21 Dec 2022 11:19:20 +0100 Subject: [PATCH 30/37] fix inputs and code --- .../Actuals_ActualsCase_CH_2020_12.csv | 34 +++--- .../Actuals_ActualsCase_CH_2021_12.csv | 38 +++--- .../Actuals_ActualsCase_CH_2021_6.csv | 32 ++--- ...ominalCashflows_ActualsCase_CH_2020_12.csv | 90 +++++++------- ...ominalCashflows_ActualsCase_CH_2021_12.csv | 114 +++++++++--------- ...NominalCashflows_ActualsCase_CH_2021_6.csv | 114 +++++++++--------- ifrs17/Import/Importers.ipynb | 7 +- 7 files changed, 215 insertions(+), 214 deletions(-) diff --git a/ifrs17-template/PracticalUseCases/ActualsOutsideThePeriod/Actuals_ActualsCase_CH_2020_12.csv b/ifrs17-template/PracticalUseCases/ActualsOutsideThePeriod/Actuals_ActualsCase_CH_2020_12.csv index cb80b103..45616c23 100644 --- a/ifrs17-template/PracticalUseCases/ActualsOutsideThePeriod/Actuals_ActualsCase_CH_2020_12.csv +++ b/ifrs17-template/PracticalUseCases/ActualsOutsideThePeriod/Actuals_ActualsCase_CH_2020_12.csv @@ -1,17 +1,17 @@ -@@Main,,,, -ReportingNode,Year,Month,, -CH,2020,12,, -@@Actual,,,, -DataNode,AocType,ValueType,AccidentYear,Value -MZ2.1,CF,PR,,413 -MZ2.1,CF,NIC,,-311 -MZ2.2,CF,PR,,413 -MZ2.2,CF,NIC,,-311 -MZ2.2,CF,ReceivablePR,,-200 -MZ2.3,CF,PR,,413 -MZ2.3,CF,NIC,,-311 -MZ2.3,CF,ReceivableNIC,,-150 -MZ2.4,CF,PR,,413 -MZ2.4,CF,NIC,,-311 -MZ2.4,CF,PayablePR,,200 -MZ2.4,CF,PayableNIC,,150 +@@Main,,,,, +ReportingNode,Year,Month,,, +CH,2020,12,,, +@@Actual,,,,, +DataNode,AocType,AmountType,EstimateType,AccidentYear,Value +MZ2.1,CF,PR,A,,413 +MZ2.1,CF,NIC,A,,-311 +MZ2.2,CF,PR,A,,413 +MZ2.2,CF,NIC,A,,-311 +MZ2.2,CF,PR,OA,,-200 +MZ2.3,CF,PR,A,,413 +MZ2.3,CF,NIC,A,,-311 +MZ2.3,CF,NIC,AA,,-150 +MZ2.4,CF,PR,A,,413 +MZ2.4,CF,NIC,A,,-311 +MZ2.4,CF,PR,AA,,200 +MZ2.4,CF,NIC,OA,,150 diff --git a/ifrs17-template/PracticalUseCases/ActualsOutsideThePeriod/Actuals_ActualsCase_CH_2021_12.csv b/ifrs17-template/PracticalUseCases/ActualsOutsideThePeriod/Actuals_ActualsCase_CH_2021_12.csv index aafbb172..8f4a7ee5 100644 --- a/ifrs17-template/PracticalUseCases/ActualsOutsideThePeriod/Actuals_ActualsCase_CH_2021_12.csv +++ b/ifrs17-template/PracticalUseCases/ActualsOutsideThePeriod/Actuals_ActualsCase_CH_2021_12.csv @@ -1,19 +1,19 @@ -@@Main,,,, -ReportingNode,Year,Month,, -CH,2021,12,, -@@Actual,,,, -DataNode,AocType,ValueType,AccidentYear,Value -MZ2.1,CF,PR,,551 -MZ2.1,CF,NIC,,-455 -MZ2.2,CF,PR,,551 -MZ2.2,CF,NIC,,-455 -MZ2.2,WO,ReceivablePR,,150 -MZ2.2,CF,ReceivablePR,,50 -MZ2.3,CF,PR,,551 -MZ2.3,CF,NIC,,-455 -MZ2.3,WO,ReceivableNIC,,125 -MZ2.3,CF,ReceivableNIC,,25 -MZ2.4,CF,PR,,551 -MZ2.4,CF,NIC,,-455 -MZ2.4,CF,PayablePR,,-200 -MZ2.4,CF,PayableNIC,,-150 +@@Main,,,,, +ReportingNode,Year,Month,,, +CH,2021,12,,, +@@Actual,,,,, +DataNode,AocType,AmountType,EstimateType,AccidentYear,Value +MZ2.1,CF,PR,A,,551 +MZ2.1,CF,NIC,A,,-455 +MZ2.2,CF,PR,A,,551 +MZ2.2,CF,NIC,A,,-455 +MZ2.2,WO,PR,OA,,150 +MZ2.2,CF,PR,OA,,50 +MZ2.3,CF,PR,A,,551 +MZ2.3,CF,NIC,A,,-455 +MZ2.3,WO,NIC,AA,,125 +MZ2.3,CF,NIC,AA,,25 +MZ2.4,CF,PR,A,,551 +MZ2.4,CF,NIC,A,,-455 +MZ2.4,CF,PR,AA,,-200 +MZ2.4,CF,NIC,OA,,-150 diff --git a/ifrs17-template/PracticalUseCases/ActualsOutsideThePeriod/Actuals_ActualsCase_CH_2021_6.csv b/ifrs17-template/PracticalUseCases/ActualsOutsideThePeriod/Actuals_ActualsCase_CH_2021_6.csv index 2714e041..4e8662cd 100644 --- a/ifrs17-template/PracticalUseCases/ActualsOutsideThePeriod/Actuals_ActualsCase_CH_2021_6.csv +++ b/ifrs17-template/PracticalUseCases/ActualsOutsideThePeriod/Actuals_ActualsCase_CH_2021_6.csv @@ -1,16 +1,16 @@ -@@Main,,,, -ReportingNode,Year,Month,, -CH,2021,6,, -@@Actual,,,, -DataNode,AocType,ValueType,AccidentYear,Value -MZ2.1,CF,PR,,296 -MZ2.1,CF,NIC,,-221 -MZ2.2,CF,PR,,296 -MZ2.2,CF,NIC,,-221 -MZ2.2,WO,ReceivablePR,,100 -MZ2.3,CF,PR,,296 -MZ2.3,CF,NIC,,-221 -MZ2.3,WO,ReceivableNIC,,75 -MZ2.4,CF,PR,,296 -MZ2.4,CF,NIC,,-221 -MZ2.4,CF,PayablePR,,100 +@@Main,,,,, +ReportingNode,Year,Month,,, +CH,2021,6,,, +@@Actual,,,,, +DataNode,AocType,AmountType,EstimateType,AccidentYear,Value +MZ2.1,CF,PR,A,,296 +MZ2.1,CF,NIC,A,,-221 +MZ2.2,CF,PR,A,,296 +MZ2.2,CF,NIC,A,,-221 +MZ2.2,WO,PR,OA,,100 +MZ2.3,CF,PR,A,,296 +MZ2.3,CF,NIC,A,,-221 +MZ2.3,WO,NIC,AA,,75 +MZ2.4,CF,PR,A,,296 +MZ2.4,CF,NIC,A,,-221 +MZ2.4,CF,PR,AA,,100 diff --git a/ifrs17-template/PracticalUseCases/ActualsOutsideThePeriod/NominalCashflows_ActualsCase_CH_2020_12.csv b/ifrs17-template/PracticalUseCases/ActualsOutsideThePeriod/NominalCashflows_ActualsCase_CH_2020_12.csv index 6a3c474c..3209b86f 100644 --- a/ifrs17-template/PracticalUseCases/ActualsOutsideThePeriod/NominalCashflows_ActualsCase_CH_2020_12.csv +++ b/ifrs17-template/PracticalUseCases/ActualsOutsideThePeriod/NominalCashflows_ActualsCase_CH_2020_12.csv @@ -1,45 +1,45 @@ -@@Main,,,,,,,,,,,,,,,,,,,,,,,,,,,, -ReportingNode,Year,Month,Scenario,,,,,,,,,,,,,,,,,,,,,,,,, -CH,2020,12,,,,,,,,,,,,,,,,,,,,,,,,,, -@@Cashflow,,,,,,,,,,,,,,,,,,,,,,,,,,,, -DataNode,AmountType,AocType,Novelty,AccidentYear,Values0,Values1,Values2,Values3,Values4,Values5,Values6,Values7,Values8,Values9,Values10,Values11,Values12,Values13,Values14,Values15,Values16,Values17,Values18,Values19,Values20,Values21,Values22,Values23 -MZ2.1,PR,BOP,N,,100,0,0,100,0,0,100,0,0,100,0,0,100,0,0,100,0,0,100,0,0,100,0,0 -MZ2.1,NIC,BOP,N,,-15,-15,-15,-30,-30,-45,-45,-30,-30,-15,-15,-15,-15,-15,-15,-30,-30,-45,-45,-30,-30,-15,-15,-15 -MZ2.1,RA,BOP,N,,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5 -MZ2.1,PR,EV,N,,0,0,0,0,0,0,0,0,0,0,0,0,105,0,0,105,0,0,105,0,0,105,0,0 -MZ2.1,NIC,EV,N,,0,0,0,0,0,0,0,0,0,0,0,0,-15,-15,-15,-35,-35,-45,-45,-35,-35,-15,-15,-15 -MZ2.1,RA,EV,N,,0,0,0,0,0,0,0,0,0,0,0,0,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5 -MZ2.1,PR,CL,C,,0,0,0,0,0,0,0,0,0,0,0,0,105,0,0,105,0,0,105,0,0,105,0,0 -MZ2.1,NIC,CL,C,,0,0,0,0,0,0,0,0,0,0,0,0,-15,-15,-15,-35,-35,-45,-45,-35,-35,-15,-15,-15 -MZ2.1,CU,CL,C,,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5 -MZ2.1,RA,CL,C,,0,0,0,0,0,0,0,0,0,0,0,0,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5 -MZ2.2,PR,BOP,N,,100,0,0,100,0,0,100,0,0,100,0,0,100,0,0,100,0,0,100,0,0,100,0,0 -MZ2.2,NIC,BOP,N,,-15,-15,-15,-30,-30,-45,-45,-30,-30,-15,-15,-15,-15,-15,-15,-30,-30,-45,-45,-30,-30,-15,-15,-15 -MZ2.2,RA,BOP,N,,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5 -MZ2.2,PR,EV,N,,0,0,0,0,0,0,0,0,0,0,0,0,105,0,0,105,0,0,105,0,0,105,0,0 -MZ2.2,NIC,EV,N,,0,0,0,0,0,0,0,0,0,0,0,0,-15,-15,-15,-35,-35,-45,-45,-35,-35,-15,-15,-15 -MZ2.2,RA,EV,N,,0,0,0,0,0,0,0,0,0,0,0,0,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5 -MZ2.2,PR,CL,C,,0,0,0,0,0,0,0,0,0,0,0,0,105,0,0,105,0,0,105,0,0,105,0,0 -MZ2.2,NIC,CL,C,,0,0,0,0,0,0,0,0,0,0,0,0,-15,-15,-15,-35,-35,-45,-45,-35,-35,-15,-15,-15 -MZ2.2,CU,CL,C,,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5 -MZ2.2,RA,CL,C,,0,0,0,0,0,0,0,0,0,0,0,0,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5 -MZ2.3,PR,BOP,N,,100,0,0,100,0,0,100,0,0,100,0,0,100,0,0,100,0,0,100,0,0,100,0,0 -MZ2.3,NIC,BOP,N,,-15,-15,-15,-30,-30,-45,-45,-30,-30,-15,-15,-15,-15,-15,-15,-30,-30,-45,-45,-30,-30,-15,-15,-15 -MZ2.3,RA,BOP,N,,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5 -MZ2.3,PR,EV,N,,0,0,0,0,0,0,0,0,0,0,0,0,105,0,0,105,0,0,105,0,0,105,0,0 -MZ2.3,NIC,EV,N,,0,0,0,0,0,0,0,0,0,0,0,0,-15,-15,-15,-35,-35,-45,-45,-35,-35,-15,-15,-15 -MZ2.3,RA,EV,N,,0,0,0,0,0,0,0,0,0,0,0,0,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5 -MZ2.3,PR,CL,C,,0,0,0,0,0,0,0,0,0,0,0,0,105,0,0,105,0,0,105,0,0,105,0,0 -MZ2.3,NIC,CL,C,,0,0,0,0,0,0,0,0,0,0,0,0,-15,-15,-15,-35,-35,-45,-45,-35,-35,-15,-15,-15 -MZ2.3,CU,CL,C,,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5 -MZ2.3,RA,CL,C,,0,0,0,0,0,0,0,0,0,0,0,0,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5 -MZ2.4,PR,BOP,N,,100,0,0,100,0,0,100,0,0,100,0,0,100,0,0,100,0,0,100,0,0,100,0,0 -MZ2.4,NIC,BOP,N,,-15,-15,-15,-30,-30,-45,-45,-30,-30,-15,-15,-15,-15,-15,-15,-30,-30,-45,-45,-30,-30,-15,-15,-15 -MZ2.4,RA,BOP,N,,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5 -MZ2.4,PR,EV,N,,0,0,0,0,0,0,0,0,0,0,0,0,105,0,0,105,0,0,105,0,0,105,0,0 -MZ2.4,NIC,EV,N,,0,0,0,0,0,0,0,0,0,0,0,0,-15,-15,-15,-35,-35,-45,-45,-35,-35,-15,-15,-15 -MZ2.4,RA,EV,N,,0,0,0,0,0,0,0,0,0,0,0,0,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5 -MZ2.4,PR,CL,C,,0,0,0,0,0,0,0,0,0,0,0,0,105,0,0,105,0,0,105,0,0,105,0,0 -MZ2.4,NIC,CL,C,,0,0,0,0,0,0,0,0,0,0,0,0,-15,-15,-15,-35,-35,-45,-45,-35,-35,-15,-15,-15 -MZ2.4,CU,CL,C,,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5 -MZ2.4,RA,CL,C,,0,0,0,0,0,0,0,0,0,0,0,0,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5 +@@Main,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +ReportingNode,Year,Month,,,,,,,,,,,,,,,,,,,,,,,,,,, +CH,2020,12,,,,,,,,,,,,,,,,,,,,,,,,,,, +@@Cashflow,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +DataNode,AmountType,EstimateType,AocType,Novelty,AccidentYear,Values0,Values1,Values2,Values3,Values4,Values5,Values6,Values7,Values8,Values9,Values10,Values11,Values12,Values13,Values14,Values15,Values16,Values17,Values18,Values19,Values20,Values21,Values22,Values23 +MZ2.1,PR,BE,BOP,N,,100,0,0,100,0,0,100,0,0,100,0,0,100,0,0,100,0,0,100,0,0,100,0,0 +MZ2.1,NIC,BE,BOP,N,,-15,-15,-15,-30,-30,-45,-45,-30,-30,-15,-15,-15,-15,-15,-15,-30,-30,-45,-45,-30,-30,-15,-15,-15 +MZ2.1,,RA,BOP,N,,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5 +MZ2.1,PR,BE,EV,N,,0,0,0,0,0,0,0,0,0,0,0,0,105,0,0,105,0,0,105,0,0,105,0,0 +MZ2.1,NIC,BE,EV,N,,0,0,0,0,0,0,0,0,0,0,0,0,-15,-15,-15,-35,-35,-45,-45,-35,-35,-15,-15,-15 +MZ2.1,,RA,EV,N,,0,0,0,0,0,0,0,0,0,0,0,0,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5 +MZ2.1,PR,BE,CL,C,,0,0,0,0,0,0,0,0,0,0,0,0,105,0,0,105,0,0,105,0,0,105,0,0 +MZ2.1,NIC,BE,CL,C,,0,0,0,0,0,0,0,0,0,0,0,0,-15,-15,-15,-35,-35,-45,-45,-35,-35,-15,-15,-15 +MZ2.1,,CU,CL,C,,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5 +MZ2.1,,RA,CL,C,,0,0,0,0,0,0,0,0,0,0,0,0,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5 +MZ2.2,PR,BE,BOP,N,,100,0,0,100,0,0,100,0,0,100,0,0,100,0,0,100,0,0,100,0,0,100,0,0 +MZ2.2,NIC,BE,BOP,N,,-15,-15,-15,-30,-30,-45,-45,-30,-30,-15,-15,-15,-15,-15,-15,-30,-30,-45,-45,-30,-30,-15,-15,-15 +MZ2.2,,RA,BOP,N,,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5 +MZ2.2,PR,BE,EV,N,,0,0,0,0,0,0,0,0,0,0,0,0,105,0,0,105,0,0,105,0,0,105,0,0 +MZ2.2,NIC,BE,EV,N,,0,0,0,0,0,0,0,0,0,0,0,0,-15,-15,-15,-35,-35,-45,-45,-35,-35,-15,-15,-15 +MZ2.2,,RA,EV,N,,0,0,0,0,0,0,0,0,0,0,0,0,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5 +MZ2.2,PR,BE,CL,C,,0,0,0,0,0,0,0,0,0,0,0,0,105,0,0,105,0,0,105,0,0,105,0,0 +MZ2.2,NIC,BE,CL,C,,0,0,0,0,0,0,0,0,0,0,0,0,-15,-15,-15,-35,-35,-45,-45,-35,-35,-15,-15,-15 +MZ2.2,,CU,CL,C,,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5 +MZ2.2,,RA,CL,C,,0,0,0,0,0,0,0,0,0,0,0,0,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5 +MZ2.3,PR,BE,BOP,N,,100,0,0,100,0,0,100,0,0,100,0,0,100,0,0,100,0,0,100,0,0,100,0,0 +MZ2.3,NIC,BE,BOP,N,,-15,-15,-15,-30,-30,-45,-45,-30,-30,-15,-15,-15,-15,-15,-15,-30,-30,-45,-45,-30,-30,-15,-15,-15 +MZ2.3,,RA,BOP,N,,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5 +MZ2.3,PR,BE,EV,N,,0,0,0,0,0,0,0,0,0,0,0,0,105,0,0,105,0,0,105,0,0,105,0,0 +MZ2.3,NIC,BE,EV,N,,0,0,0,0,0,0,0,0,0,0,0,0,-15,-15,-15,-35,-35,-45,-45,-35,-35,-15,-15,-15 +MZ2.3,,RA,EV,N,,0,0,0,0,0,0,0,0,0,0,0,0,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5 +MZ2.3,PR,BE,CL,C,,0,0,0,0,0,0,0,0,0,0,0,0,105,0,0,105,0,0,105,0,0,105,0,0 +MZ2.3,NIC,BE,CL,C,,0,0,0,0,0,0,0,0,0,0,0,0,-15,-15,-15,-35,-35,-45,-45,-35,-35,-15,-15,-15 +MZ2.3,,CU,CL,C,,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5 +MZ2.3,,RA,CL,C,,0,0,0,0,0,0,0,0,0,0,0,0,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5 +MZ2.4,PR,BE,BOP,N,,100,0,0,100,0,0,100,0,0,100,0,0,100,0,0,100,0,0,100,0,0,100,0,0 +MZ2.4,NIC,BE,BOP,N,,-15,-15,-15,-30,-30,-45,-45,-30,-30,-15,-15,-15,-15,-15,-15,-30,-30,-45,-45,-30,-30,-15,-15,-15 +MZ2.4,,RA,BOP,N,,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5 +MZ2.4,PR,BE,EV,N,,0,0,0,0,0,0,0,0,0,0,0,0,105,0,0,105,0,0,105,0,0,105,0,0 +MZ2.4,NIC,BE,EV,N,,0,0,0,0,0,0,0,0,0,0,0,0,-15,-15,-15,-35,-35,-45,-45,-35,-35,-15,-15,-15 +MZ2.4,,RA,EV,N,,0,0,0,0,0,0,0,0,0,0,0,0,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5 +MZ2.4,PR,BE,CL,C,,0,0,0,0,0,0,0,0,0,0,0,0,105,0,0,105,0,0,105,0,0,105,0,0 +MZ2.4,NIC,BE,CL,C,,0,0,0,0,0,0,0,0,0,0,0,0,-15,-15,-15,-35,-35,-45,-45,-35,-35,-15,-15,-15 +MZ2.4,,CU,CL,C,,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5 +MZ2.4,,RA,CL,C,,0,0,0,0,0,0,0,0,0,0,0,0,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5 diff --git a/ifrs17-template/PracticalUseCases/ActualsOutsideThePeriod/NominalCashflows_ActualsCase_CH_2021_12.csv b/ifrs17-template/PracticalUseCases/ActualsOutsideThePeriod/NominalCashflows_ActualsCase_CH_2021_12.csv index 4dcc563e..208149c0 100644 --- a/ifrs17-template/PracticalUseCases/ActualsOutsideThePeriod/NominalCashflows_ActualsCase_CH_2021_12.csv +++ b/ifrs17-template/PracticalUseCases/ActualsOutsideThePeriod/NominalCashflows_ActualsCase_CH_2021_12.csv @@ -1,57 +1,57 @@ -@@Main,,,,,,,,,,,,,,,, -ReportingNode,Year,Month,,,,,,,,,,,,,, -CH,2021,12,,,,,,,,,,,,,, -@@Cashflow,,,,,,,,,,,,,,,, -DataNode,AmountType,AocType,Novelty,AccidentYear,Values0,Values1,Values2,Values3,Values4,Values5,Values6,Values7,Values8,Values9,Values10,Values11 -MZ2.1,PR,MC,I,,102,0,0,102,0,0,102,0,0,102,0,0 -MZ2.1,NIC,MC,I,,-15,-15,-15,-45,-45,-40,-40,-40,-40,-15,-15,-15 -MZ2.1,RA,MC,I,,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2 -MZ2.1,PR,BOP,N,,52.5,0,0,52.5,0,0,0,0,0,0,0,0 -MZ2.1,NIC,BOP,N,,-3.75,-3.75,-3.75,-11.25,-11.25,-8.75,-8.75,-8.75,-8.75,-3.75,-3.75,-3.75 -MZ2.1,RA,BOP,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 -MZ2.1,PR,MC,N,,51,0,0,51,0,0,0,0,0,0,0,0 -MZ2.1,NIC,MC,N,,-5,-5,-5,-20,-20,-10,-10,-10,-10,-5,-5,-5 -MZ2.1,RA,MC,N,,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25 -MZ2.1,PR,CL,C,,0,0,0,0,0,0,0,0,0,0,0,0 -MZ2.1,NIC,CL,C,,0,0,0,0,0,0,0,0,0,0,0,0 -MZ2.1,CU,CL,C,,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25 -MZ2.1,RA,CL,C,,0,0,0,0,0,0,0,0,0,0,0,0 -MZ2.2,PR,MC,I,,102,0,0,102,0,0,102,0,0,102,0,0 -MZ2.2,NIC,MC,I,,-15,-15,-15,-45,-45,-40,-40,-40,-40,-15,-15,-15 -MZ2.2,RA,MC,I,,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2 -MZ2.2,PR,BOP,N,,52.5,0,0,52.5,0,0,0,0,0,0,0,0 -MZ2.2,NIC,BOP,N,,-3.75,-3.75,-3.75,-11.25,-11.25,-8.75,-8.75,-8.75,-8.75,-3.75,-3.75,-3.75 -MZ2.2,RA,BOP,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 -MZ2.2,PR,MC,N,,51,0,0,51,0,0,0,0,0,0,0,0 -MZ2.2,NIC,MC,N,,-5,-5,-5,-20,-20,-10,-10,-10,-10,-5,-5,-5 -MZ2.2,RA,MC,N,,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25 -MZ2.2,PR,CL,C,,0,0,0,0,0,0,0,0,0,0,0,0 -MZ2.2,NIC,CL,C,,0,0,0,0,0,0,0,0,0,0,0,0 -MZ2.2,CU,CL,C,,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25 -MZ2.2,RA,CL,C,,0,0,0,0,0,0,0,0,0,0,0,0 -MZ2.3,PR,MC,I,,102,0,0,102,0,0,102,0,0,102,0,0 -MZ2.3,NIC,MC,I,,-15,-15,-15,-45,-45,-40,-40,-40,-40,-15,-15,-15 -MZ2.3,RA,MC,I,,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2 -MZ2.3,PR,BOP,N,,52.5,0,0,52.5,0,0,0,0,0,0,0,0 -MZ2.3,NIC,BOP,N,,-3.75,-3.75,-3.75,-11.25,-11.25,-8.75,-8.75,-8.75,-8.75,-3.75,-3.75,-3.75 -MZ2.3,RA,BOP,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 -MZ2.3,PR,MC,N,,51,0,0,51,0,0,0,0,0,0,0,0 -MZ2.3,NIC,MC,N,,-5,-5,-5,-20,-20,-10,-10,-10,-10,-5,-5,-5 -MZ2.3,RA,MC,N,,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25 -MZ2.3,PR,CL,C,,0,0,0,0,0,0,0,0,0,0,0,0 -MZ2.3,NIC,CL,C,,0,0,0,0,0,0,0,0,0,0,0,0 -MZ2.3,CU,CL,C,,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25 -MZ2.3,RA,CL,C,,0,0,0,0,0,0,0,0,0,0,0,0 -MZ2.4,PR,MC,I,,102,0,0,102,0,0,102,0,0,102,0,0 -MZ2.4,NIC,MC,I,,-15,-15,-15,-45,-45,-40,-40,-40,-40,-15,-15,-15 -MZ2.4,RA,MC,I,,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2 -MZ2.4,PR,BOP,N,,52.5,0,0,52.5,0,0,0,0,0,0,0,0 -MZ2.4,NIC,BOP,N,,-3.75,-3.75,-3.75,-11.25,-11.25,-8.75,-8.75,-8.75,-8.75,-3.75,-3.75,-3.75 -MZ2.4,RA,BOP,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 -MZ2.4,PR,MC,N,,51,0,0,51,0,0,0,0,0,0,0,0 -MZ2.4,NIC,MC,N,,-5,-5,-5,-20,-20,-10,-10,-10,-10,-5,-5,-5 -MZ2.4,RA,MC,N,,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25 -MZ2.4,PR,CL,C,,0,0,0,0,0,0,0,0,0,0,0,0 -MZ2.4,NIC,CL,C,,0,0,0,0,0,0,0,0,0,0,0,0 -MZ2.4,CU,CL,C,,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25 -MZ2.4,RA,CL,C,,0,0,0,0,0,0,0,0,0,0,0,0 +@@Main,,,,,,,,,,,,,,,,, +ReportingNode,Year,Month,,,,,,,,,,,,,,, +CH,2021,12,,,,,,,,,,,,,,, +@@Cashflow,,,,,,,,,,,,,,,,, +DataNode,AmountType,EstimateType,AocType,Novelty,AccidentYear,Values0,Values1,Values2,Values3,Values4,Values5,Values6,Values7,Values8,Values9,Values10,Values11 +MZ2.1,PR,BE,MC,I,,102,0,0,102,0,0,102,0,0,102,0,0 +MZ2.1,NIC,BE,MC,I,,-15,-15,-15,-45,-45,-40,-40,-40,-40,-15,-15,-15 +MZ2.1,,RA,MC,I,,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2 +MZ2.1,PR,BE,BOP,N,,52.5,0,0,52.5,0,0,0,0,0,0,0,0 +MZ2.1,NIC,BE,BOP,N,,-3.75,-3.75,-3.75,-11.25,-11.25,-8.75,-8.75,-8.75,-8.75,-3.75,-3.75,-3.75 +MZ2.1,,RA,BOP,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +MZ2.1,PR,BE,MC,N,,51,0,0,51,0,0,0,0,0,0,0,0 +MZ2.1,NIC,BE,MC,N,,-5,-5,-5,-20,-20,-10,-10,-10,-10,-5,-5,-5 +MZ2.1,,RA,MC,N,,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25 +MZ2.1,PR,BE,CL,C,,0,0,0,0,0,0,0,0,0,0,0,0 +MZ2.1,NIC,BE,CL,C,,0,0,0,0,0,0,0,0,0,0,0,0 +MZ2.1,,CU,CL,C,,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25 +MZ2.1,,RA,CL,C,,0,0,0,0,0,0,0,0,0,0,0,0 +MZ2.2,PR,BE,MC,I,,102,0,0,102,0,0,102,0,0,102,0,0 +MZ2.2,NIC,BE,MC,I,,-15,-15,-15,-45,-45,-40,-40,-40,-40,-15,-15,-15 +MZ2.2,,RA,MC,I,,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2 +MZ2.2,PR,BE,BOP,N,,52.5,0,0,52.5,0,0,0,0,0,0,0,0 +MZ2.2,NIC,BE,BOP,N,,-3.75,-3.75,-3.75,-11.25,-11.25,-8.75,-8.75,-8.75,-8.75,-3.75,-3.75,-3.75 +MZ2.2,,RA,BOP,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +MZ2.2,PR,BE,MC,N,,51,0,0,51,0,0,0,0,0,0,0,0 +MZ2.2,NIC,BE,MC,N,,-5,-5,-5,-20,-20,-10,-10,-10,-10,-5,-5,-5 +MZ2.2,,RA,MC,N,,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25 +MZ2.2,PR,BE,CL,C,,0,0,0,0,0,0,0,0,0,0,0,0 +MZ2.2,NIC,BE,CL,C,,0,0,0,0,0,0,0,0,0,0,0,0 +MZ2.2,,CU,CL,C,,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25 +MZ2.2,,RA,CL,C,,0,0,0,0,0,0,0,0,0,0,0,0 +MZ2.3,PR,BE,MC,I,,102,0,0,102,0,0,102,0,0,102,0,0 +MZ2.3,NIC,BE,MC,I,,-15,-15,-15,-45,-45,-40,-40,-40,-40,-15,-15,-15 +MZ2.3,,RA,MC,I,,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2 +MZ2.3,PR,BE,BOP,N,,52.5,0,0,52.5,0,0,0,0,0,0,0,0 +MZ2.3,NIC,BE,BOP,N,,-3.75,-3.75,-3.75,-11.25,-11.25,-8.75,-8.75,-8.75,-8.75,-3.75,-3.75,-3.75 +MZ2.3,,RA,BOP,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +MZ2.3,PR,BE,MC,N,,51,0,0,51,0,0,0,0,0,0,0,0 +MZ2.3,NIC,BE,MC,N,,-5,-5,-5,-20,-20,-10,-10,-10,-10,-5,-5,-5 +MZ2.3,,RA,MC,N,,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25 +MZ2.3,PR,BE,CL,C,,0,0,0,0,0,0,0,0,0,0,0,0 +MZ2.3,NIC,BE,CL,C,,0,0,0,0,0,0,0,0,0,0,0,0 +MZ2.3,,CU,CL,C,,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25 +MZ2.3,,RA,CL,C,,0,0,0,0,0,0,0,0,0,0,0,0 +MZ2.4,PR,BE,MC,I,,102,0,0,102,0,0,102,0,0,102,0,0 +MZ2.4,NIC,BE,MC,I,,-15,-15,-15,-45,-45,-40,-40,-40,-40,-15,-15,-15 +MZ2.4,,RA,MC,I,,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2 +MZ2.4,PR,BE,BOP,N,,52.5,0,0,52.5,0,0,0,0,0,0,0,0 +MZ2.4,NIC,BE,BOP,N,,-3.75,-3.75,-3.75,-11.25,-11.25,-8.75,-8.75,-8.75,-8.75,-3.75,-3.75,-3.75 +MZ2.4,,RA,BOP,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +MZ2.4,PR,BE,MC,N,,51,0,0,51,0,0,0,0,0,0,0,0 +MZ2.4,NIC,BE,MC,N,,-5,-5,-5,-20,-20,-10,-10,-10,-10,-5,-5,-5 +MZ2.4,,RA,MC,N,,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25 +MZ2.4,PR,BE,CL,C,,0,0,0,0,0,0,0,0,0,0,0,0 +MZ2.4,NIC,BE,CL,C,,0,0,0,0,0,0,0,0,0,0,0,0 +MZ2.4,,CU,CL,C,,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25 +MZ2.4,,RA,CL,C,,0,0,0,0,0,0,0,0,0,0,0,0 diff --git a/ifrs17-template/PracticalUseCases/ActualsOutsideThePeriod/NominalCashflows_ActualsCase_CH_2021_6.csv b/ifrs17-template/PracticalUseCases/ActualsOutsideThePeriod/NominalCashflows_ActualsCase_CH_2021_6.csv index bcd876a5..53260d5c 100644 --- a/ifrs17-template/PracticalUseCases/ActualsOutsideThePeriod/NominalCashflows_ActualsCase_CH_2021_6.csv +++ b/ifrs17-template/PracticalUseCases/ActualsOutsideThePeriod/NominalCashflows_ActualsCase_CH_2021_6.csv @@ -1,57 +1,57 @@ -@@Main,,,,,,,,,,,,,,,, -ReportingNode,Year,Month,,,,,,,,,,,,,, -CH,2021,6,,,,,,,,,,,,,, -@@Cashflow,,,,,,,,,,,,,,,, -DataNode,AmountType,AocType,Novelty,AccidentYear,Values0,Values1,Values2,Values3,Values4,Values5,Values6,Values7,Values8,Values9,Values10,Values11 -MZ2.1,PR,MC,I,,100,0,0,100,0,0,100,0,0,100,0,0 -MZ2.1,NIC,MC,I,,-15,-15,-15,-40,-40,-45,-45,-40,-40,-15,-15,-15 -MZ2.1,RA,MC,I,,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2 -MZ2.1,PR,BOP,N,,52.5,0,0,52.5,0,0,0,0,0,0,0,0 -MZ2.1,NIC,BOP,N,,-3.75,-3.75,-3.75,-8.75,-8.75,-11.25,-11.25,-8.75,-8.75,-3.75,-3.75,-3.75 -MZ2.1,RA,BOP,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 -MZ2.1,PR,MC,N,,50,0,0,50,0,0,0,0,0,0,0,0 -MZ2.1,NIC,MC,N,,-5,-5,-5,-10,-10,-20,-20,-10,-10,-5,-5,-5 -MZ2.1,RA,MC,N,,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25 -MZ2.1,PR,CL,C,,0,0,0,0,0,0,100,0,0,100,0,0 -MZ2.1,NIC,CL,C,,0,0,0,0,0,0,-65,-50,-50,-20,-20,-20 -MZ2.1,CU,CL,C,,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25 -MZ2.1,RA,CL,C,,0,0,0,0,0,0,-3.25,-3.25,-3.25,-3.25,-3.25,-3.25 -MZ2.2,PR,MC,I,,100,0,0,100,0,0,100,0,0,100,0,0 -MZ2.2,NIC,MC,I,,-15,-15,-15,-40,-40,-45,-45,-40,-40,-15,-15,-15 -MZ2.2,RA,MC,I,,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2 -MZ2.2,PR,BOP,N,,52.5,0,0,52.5,0,0,0,0,0,0,0,0 -MZ2.2,NIC,BOP,N,,-3.75,-3.75,-3.75,-8.75,-8.75,-11.25,-11.25,-8.75,-8.75,-3.75,-3.75,-3.75 -MZ2.2,RA,BOP,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 -MZ2.2,PR,MC,N,,50,0,0,50,0,0,0,0,0,0,0,0 -MZ2.2,NIC,MC,N,,-5,-5,-5,-10,-10,-20,-20,-10,-10,-5,-5,-5 -MZ2.2,RA,MC,N,,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25 -MZ2.2,PR,CL,C,,0,0,0,0,0,0,100,0,0,100,0,0 -MZ2.2,NIC,CL,C,,0,0,0,0,0,0,-65,-50,-50,-20,-20,-20 -MZ2.2,CU,CL,C,,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25 -MZ2.2,RA,CL,C,,0,0,0,0,0,0,-3.25,-3.25,-3.25,-3.25,-3.25,-3.25 -MZ2.3,PR,MC,I,,100,0,0,100,0,0,100,0,0,100,0,0 -MZ2.3,NIC,MC,I,,-15,-15,-15,-40,-40,-45,-45,-40,-40,-15,-15,-15 -MZ2.3,RA,MC,I,,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2 -MZ2.3,PR,BOP,N,,52.5,0,0,52.5,0,0,0,0,0,0,0,0 -MZ2.3,NIC,BOP,N,,-3.75,-3.75,-3.75,-8.75,-8.75,-11.25,-11.25,-8.75,-8.75,-3.75,-3.75,-3.75 -MZ2.3,RA,BOP,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 -MZ2.3,PR,MC,N,,50,0,0,50,0,0,0,0,0,0,0,0 -MZ2.3,NIC,MC,N,,-5,-5,-5,-10,-10,-20,-20,-10,-10,-5,-5,-5 -MZ2.3,RA,MC,N,,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25 -MZ2.3,PR,CL,C,,0,0,0,0,0,0,100,0,0,100,0,0 -MZ2.3,NIC,CL,C,,0,0,0,0,0,0,-65,-50,-50,-20,-20,-20 -MZ2.3,CU,CL,C,,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25 -MZ2.3,RA,CL,C,,0,0,0,0,0,0,-3.25,-3.25,-3.25,-3.25,-3.25,-3.25 -MZ2.4,PR,MC,I,,100,0,0,100,0,0,100,0,0,100,0,0 -MZ2.4,NIC,MC,I,,-15,-15,-15,-40,-40,-45,-45,-40,-40,-15,-15,-15 -MZ2.4,RA,MC,I,,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2 -MZ2.4,PR,BOP,N,,52.5,0,0,52.5,0,0,0,0,0,0,0,0 -MZ2.4,NIC,BOP,N,,-3.75,-3.75,-3.75,-8.75,-8.75,-11.25,-11.25,-8.75,-8.75,-3.75,-3.75,-3.75 -MZ2.4,RA,BOP,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 -MZ2.4,PR,MC,N,,50,0,0,50,0,0,0,0,0,0,0,0 -MZ2.4,NIC,MC,N,,-5,-5,-5,-10,-10,-20,-20,-10,-10,-5,-5,-5 -MZ2.4,RA,MC,N,,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25 -MZ2.4,PR,CL,C,,0,0,0,0,0,0,100,0,0,100,0,0 -MZ2.4,NIC,CL,C,,0,0,0,0,0,0,-65,-50,-50,-20,-20,-20 -MZ2.4,CU,CL,C,,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25 -MZ2.4,RA,CL,C,,0,0,0,0,0,0,-3.25,-3.25,-3.25,-3.25,-3.25,-3.25 +@@Main,,,,,,,,,,,,,,,,, +ReportingNode,Year,Month,,,,,,,,,,,,,,, +CH,2021,6,,,,,,,,,,,,,,, +@@Cashflow,,,,,,,,,,,,,,,,, +DataNode,AmountType,EstimateType,AocType,Novelty,AccidentYear,Values0,Values1,Values2,Values3,Values4,Values5,Values6,Values7,Values8,Values9,Values10,Values11 +MZ2.1,PR,BE,MC,I,,100,0,0,100,0,0,100,0,0,100,0,0 +MZ2.1,NIC,BE,MC,I,,-15,-15,-15,-40,-40,-45,-45,-40,-40,-15,-15,-15 +MZ2.1,,RA,MC,I,,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2 +MZ2.1,PR,BE,BOP,N,,52.5,0,0,52.5,0,0,0,0,0,0,0,0 +MZ2.1,NIC,BE,BOP,N,,-3.75,-3.75,-3.75,-8.75,-8.75,-11.25,-11.25,-8.75,-8.75,-3.75,-3.75,-3.75 +MZ2.1,,RA,BOP,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +MZ2.1,PR,BE,MC,N,,50,0,0,50,0,0,0,0,0,0,0,0 +MZ2.1,NIC,BE,MC,N,,-5,-5,-5,-10,-10,-20,-20,-10,-10,-5,-5,-5 +MZ2.1,,RA,MC,N,,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25 +MZ2.1,PR,BE,CL,C,,0,0,0,0,0,0,100,0,0,100,0,0 +MZ2.1,NIC,BE,CL,C,,0,0,0,0,0,0,-65,-50,-50,-20,-20,-20 +MZ2.1,,CU,CL,C,,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25 +MZ2.1,,RA,CL,C,,0,0,0,0,0,0,-3.25,-3.25,-3.25,-3.25,-3.25,-3.25 +MZ2.2,PR,BE,MC,I,,100,0,0,100,0,0,100,0,0,100,0,0 +MZ2.2,NIC,BE,MC,I,,-15,-15,-15,-40,-40,-45,-45,-40,-40,-15,-15,-15 +MZ2.2,,RA,MC,I,,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2 +MZ2.2,PR,BE,BOP,N,,52.5,0,0,52.5,0,0,0,0,0,0,0,0 +MZ2.2,NIC,BE,BOP,N,,-3.75,-3.75,-3.75,-8.75,-8.75,-11.25,-11.25,-8.75,-8.75,-3.75,-3.75,-3.75 +MZ2.2,,RA,BOP,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +MZ2.2,PR,BE,MC,N,,50,0,0,50,0,0,0,0,0,0,0,0 +MZ2.2,NIC,BE,MC,N,,-5,-5,-5,-10,-10,-20,-20,-10,-10,-5,-5,-5 +MZ2.2,,RA,MC,N,,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25 +MZ2.2,PR,BE,CL,C,,0,0,0,0,0,0,100,0,0,100,0,0 +MZ2.2,NIC,BE,CL,C,,0,0,0,0,0,0,-65,-50,-50,-20,-20,-20 +MZ2.2,,CU,CL,C,,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25 +MZ2.2,,RA,CL,C,,0,0,0,0,0,0,-3.25,-3.25,-3.25,-3.25,-3.25,-3.25 +MZ2.3,PR,BE,MC,I,,100,0,0,100,0,0,100,0,0,100,0,0 +MZ2.3,NIC,BE,MC,I,,-15,-15,-15,-40,-40,-45,-45,-40,-40,-15,-15,-15 +MZ2.3,,RA,MC,I,,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2 +MZ2.3,PR,BE,BOP,N,,52.5,0,0,52.5,0,0,0,0,0,0,0,0 +MZ2.3,NIC,BE,BOP,N,,-3.75,-3.75,-3.75,-8.75,-8.75,-11.25,-11.25,-8.75,-8.75,-3.75,-3.75,-3.75 +MZ2.3,,RA,BOP,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +MZ2.3,PR,BE,MC,N,,50,0,0,50,0,0,0,0,0,0,0,0 +MZ2.3,NIC,BE,MC,N,,-5,-5,-5,-10,-10,-20,-20,-10,-10,-5,-5,-5 +MZ2.3,,RA,MC,N,,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25 +MZ2.3,PR,BE,CL,C,,0,0,0,0,0,0,100,0,0,100,0,0 +MZ2.3,NIC,BE,CL,C,,0,0,0,0,0,0,-65,-50,-50,-20,-20,-20 +MZ2.3,,CU,CL,C,,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25 +MZ2.3,,RA,CL,C,,0,0,0,0,0,0,-3.25,-3.25,-3.25,-3.25,-3.25,-3.25 +MZ2.4,PR,BE,MC,I,,100,0,0,100,0,0,100,0,0,100,0,0 +MZ2.4,NIC,BE,MC,I,,-15,-15,-15,-40,-40,-45,-45,-40,-40,-15,-15,-15 +MZ2.4,,RA,MC,I,,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2 +MZ2.4,PR,BE,BOP,N,,52.5,0,0,52.5,0,0,0,0,0,0,0,0 +MZ2.4,NIC,BE,BOP,N,,-3.75,-3.75,-3.75,-8.75,-8.75,-11.25,-11.25,-8.75,-8.75,-3.75,-3.75,-3.75 +MZ2.4,,RA,BOP,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +MZ2.4,PR,BE,MC,N,,50,0,0,50,0,0,0,0,0,0,0,0 +MZ2.4,NIC,BE,MC,N,,-5,-5,-5,-10,-10,-20,-20,-10,-10,-5,-5,-5 +MZ2.4,,RA,MC,N,,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25,-1.25 +MZ2.4,PR,BE,CL,C,,0,0,0,0,0,0,100,0,0,100,0,0 +MZ2.4,NIC,BE,CL,C,,0,0,0,0,0,0,-65,-50,-50,-20,-20,-20 +MZ2.4,,CU,CL,C,,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25,-6.25 +MZ2.4,,RA,CL,C,,0,0,0,0,0,0,-3.25,-3.25,-3.25,-3.25,-3.25,-3.25 diff --git a/ifrs17/Import/Importers.ipynb b/ifrs17/Import/Importers.ipynb index f9015f90..01482d48 100644 --- a/ifrs17/Import/Importers.ipynb +++ b/ifrs17/Import/Importers.ipynb @@ -685,8 +685,9 @@ "\n .ExecuteAsync();", "\n ", "\n var portfolios = await workspace.Query().ToDictionaryAsync(x => x.SystemName);", - "\n var yieldCurveColumnGroupOfInsuranceContract = dataSet.Tables[nameof(GroupOfInsuranceContract)].Columns.Any(x => x.ColumnName == nameof(GroupOfInsuranceContract.YieldCurveName));", - "\n var yieldCurveColumnGroupOfReinsuranceContract = dataSet.Tables[nameof(GroupOfReinsuranceContract)].Columns.Any(x => x.ColumnName == nameof(GroupOfReinsuranceContract.YieldCurveName));", + "\n", + "\n var yieldCurveColumnGroupOfInsuranceContract = dataSet.Tables.Contains(nameof(GroupOfInsuranceContract)) && dataSet.Tables[nameof(GroupOfInsuranceContract)].Columns.Any(x => x.ColumnName == nameof(GroupOfInsuranceContract.YieldCurveName));", + "\n var yieldCurveColumnGroupOfReinsuranceContract = dataSet.Tables.Contains(nameof(GroupOfReinsuranceContract)) && dataSet.Tables[nameof(GroupOfReinsuranceContract)].Columns.Any(x => x.ColumnName == nameof(GroupOfReinsuranceContract.YieldCurveName));", "\n", "\n var importLogGroupOfContracts = await Import.FromDataSet(dataSet)", "\n .WithType((dataset, datarow) => {", @@ -1316,4 +1317,4 @@ "outputs": [] } ] -} +} \ No newline at end of file From 239c3107b71878e37801f40a6b93b773b5d385d5 Mon Sep 17 00:00:00 2001 From: Daniel Trzesniak Date: Wed, 21 Dec 2022 12:13:14 +0100 Subject: [PATCH 31/37] inputs --- .../Actuals_CsmSwitch_CH_2020_12.csv | 18 ++++---- .../Actuals_CsmSwitch_CH_2021_3.csv | 20 ++++----- .../NominalCashflows_CsmSwitch_CH_2020_12.csv | 25 ++++++----- .../NominalCashflows_CsmSwitch_CH_2021_3.csv | 43 +++++++++---------- 4 files changed, 52 insertions(+), 54 deletions(-) diff --git a/ifrs17-template/PracticalUseCases/SingleVsMultipleCsmSwitch/Actuals_CsmSwitch_CH_2020_12.csv b/ifrs17-template/PracticalUseCases/SingleVsMultipleCsmSwitch/Actuals_CsmSwitch_CH_2020_12.csv index 76d11300..46d3b413 100644 --- a/ifrs17-template/PracticalUseCases/SingleVsMultipleCsmSwitch/Actuals_CsmSwitch_CH_2020_12.csv +++ b/ifrs17-template/PracticalUseCases/SingleVsMultipleCsmSwitch/Actuals_CsmSwitch_CH_2020_12.csv @@ -1,9 +1,9 @@ -@@Main,,,, -ReportingNode,Year,Month,, -CH,2020,12,, -@@Actual,,,, -DataNode,AocType,ValueType,AccidentYear,Value -MZ1.1,CF,PR,,400 -MZ1.1,CF,NIC,,-280 -MZ1.1,CF,ACA,,-10 -MZ1.1,CF,AEA,,-5 +@@Main,,,,, +ReportingNode,Year,Month,,, +CH,2020,12,,, +@@Actual,,,,, +DataNode,AocType,AmountType,EstimateType,AccidentYear,Value +MZ1.1,CF,PR,A,,400 +MZ1.1,CF,NIC,A,,-280 +MZ1.1,CF,ACA,A,,-10 +MZ1.1,CF,AEA,A,,-5 diff --git a/ifrs17-template/PracticalUseCases/SingleVsMultipleCsmSwitch/Actuals_CsmSwitch_CH_2021_3.csv b/ifrs17-template/PracticalUseCases/SingleVsMultipleCsmSwitch/Actuals_CsmSwitch_CH_2021_3.csv index f3cfcd11..bd5e138f 100644 --- a/ifrs17-template/PracticalUseCases/SingleVsMultipleCsmSwitch/Actuals_CsmSwitch_CH_2021_3.csv +++ b/ifrs17-template/PracticalUseCases/SingleVsMultipleCsmSwitch/Actuals_CsmSwitch_CH_2021_3.csv @@ -1,10 +1,10 @@ -@@Main,,,, -ReportingNode,Year,Month,, -CH,2021,3,, -@@Actual,,,, -DataNode,AocType,ValueType,AccidentYear,Value -MZ1.1,CF,PR,,90 -MZ1.1,CF,ICO,,-6 -MZ1.1,CF,NIC,,-70 -MZ1.1,CF,ACA,,-10 -MZ1.1,CF,AEA,,-5 +@@Main,,,,, +ReportingNode,Year,Month,,, +CH,2021,3,,, +@@Actual,,,,, +DataNode,AocType,AmountType,EstimateType,AccidentYear,Value +MZ1.1,CF,PR,A,,90 +MZ1.1,CF,ICO,A,,-6 +MZ1.1,CF,NIC,A,,-70 +MZ1.1,CF,ACA,A,,-10 +MZ1.1,CF,AEA,A,,-5 diff --git a/ifrs17-template/PracticalUseCases/SingleVsMultipleCsmSwitch/NominalCashflows_CsmSwitch_CH_2020_12.csv b/ifrs17-template/PracticalUseCases/SingleVsMultipleCsmSwitch/NominalCashflows_CsmSwitch_CH_2020_12.csv index d7a707a5..473ce967 100644 --- a/ifrs17-template/PracticalUseCases/SingleVsMultipleCsmSwitch/NominalCashflows_CsmSwitch_CH_2020_12.csv +++ b/ifrs17-template/PracticalUseCases/SingleVsMultipleCsmSwitch/NominalCashflows_CsmSwitch_CH_2020_12.csv @@ -1,13 +1,12 @@ -@@Main,,,,,,,,,,,,,,,,,,,,,,,,,,,, -ReportingNode,Year,Month,Scenario,,,,,,,,,,,,,,,,,,,,,,,,, -CH,2020,12,,,,,,,,,,,,,,,,,,,,,,,,,, -@@Cashflow,,,,,,,,,,,,,,,,,,,,,,,,,,,, -DataNode,AmountType,AocType,Novelty,AccidentYear,Values0,Values1,Values2,Values3,Values4,Values5,Values6,Values7,Values8,Values9,Values10,Values11,Values12,Values13,Values14,Values15,Values16,Values17,Values18,Values19,Values20,Values21,Values22,Values23 -MZ1.1,PR,BOP,N,,100,0,0,100,0,0,100,0,0,100,0,0,0,100,0,0,100,0,0,100,0,0,100,0 -MZ1.1,NIC,BOP,N,,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25 -MZ1.1,CU,BOP,N,,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3 -MZ1.1,RA,BOP,N,,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5 -MZ1.1,PR,CL,C,,100,0,0,100,0,0,100,0,0,100,0,0,0,100,0,0,100,0,0,100,0,0,100,0 -MZ1.1,NIC,CL,C,,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25 -MZ1.1,CU,CL,C,,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3 -MZ1.1,RA,CL,C,,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5 +@@Main,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +ReportingNode,Year,Month,Scenario,,,,,,,,,,,,,,,,,,,,,,,,,, +CH,2020,12,,,,,,,,,,,,,,,,,,,,,,,,,,, +@@Cashflow,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +DataNode,AmountType,EstimateType,AocType,Novelty,AccidentYear,Values0,Values1,Values2,Values3,Values4,Values5,Values6,Values7,Values8,Values9,Values10,Values11,Values12,Values13,Values14,Values15,Values16,Values17,Values18,Values19,Values20,Values21,Values22,Values23 +MZ1.1,PR,BE,BOP,N,,100,0,0,100,0,0,100,0,0,100,0,0,0,100,0,0,100,0,0,100,0,0,100,0 +MZ1.1,NIC,BE,BOP,N,,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25 +MZ1.1,,RA,BOP,N,,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5 +MZ1.1,PR,BE,CL,C,,100,0,0,100,0,0,100,0,0,100,0,0,0,100,0,0,100,0,0,100,0,0,100,0 +MZ1.1,NIC,BE,CL,C,,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25 +MZ1.1,,CU,CL,C,,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3 +MZ1.1,,RA,CL,C,,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5 diff --git a/ifrs17-template/PracticalUseCases/SingleVsMultipleCsmSwitch/NominalCashflows_CsmSwitch_CH_2021_3.csv b/ifrs17-template/PracticalUseCases/SingleVsMultipleCsmSwitch/NominalCashflows_CsmSwitch_CH_2021_3.csv index 6bf0f7ee..f9e9d6b3 100644 --- a/ifrs17-template/PracticalUseCases/SingleVsMultipleCsmSwitch/NominalCashflows_CsmSwitch_CH_2021_3.csv +++ b/ifrs17-template/PracticalUseCases/SingleVsMultipleCsmSwitch/NominalCashflows_CsmSwitch_CH_2021_3.csv @@ -1,22 +1,21 @@ -@@Main,,,,,,,,,,,,,,,,,,,,,,,,, -ReportingNode,Year,Month,,,,,,,,,,,,,,,,,,,,,,, -CH,2021,3,,,,,,,,,,,,,,,,,,,,,,, -@@Cashflow,,,,,,,,,,,,,,,,,,,,,,,,, -DataNode,AmountType,AocType,Novelty,AccidentYear,Values0,Values1,Values2,Values3,Values4,Values5,Values6,Values7,Values8,Values9,Values10,Values11,Values12,Values13,Values14,Values15,Values16,Values17,Values18,Values19,Values20 -MZ1.1,PR,MC,I,,0,110,0,0,110,0,0,110,0,0,110,0,0,0,0,0,0,0,0,0,0 -MZ1.1,NIC,MC,I,,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,0,0,0,0,0,0,0,0,0 -MZ1.1,CU,MC,I,,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,0,0,0,0,0,0,0,0,0 -MZ1.1,RA,MC,I,,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,0,0,0,0,0,0,0,0,0 -MZ1.1,PR,BOP,N,,0,10,0,0,10,0,0,10,0,0,10,0,0,0,0,0,0,0,0,0,0 -MZ1.1,ICO,BOP,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,0,0 -MZ1.1,NIC,BOP,N,,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,0,0,0,0,0,0,0,0,0 -MZ1.1,RA,BOP,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,0,0 -MZ1.1,PR,EV,N,,0,5,0,0,5,0,0,5,0,0,5,0,0,0,0,0,0,0,0,0,0 -MZ1.1,ICO,EV,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,0,0 -MZ1.1,NIC,EV,N,,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,0,0,0,0,0,0,0,0,0 -MZ1.1,RA,EV,N,,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,0,0,0,0,0,0,0,0,0 -MZ1.1,PR,CL,C,,0,115,0,0,115,0,0,115,0,0,115,0,0,0,0,0,0,0,0,0,0 -MZ1.1,ICO,CL,C,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,0,0 -MZ1.1,NIC,CL,C,,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,0,0,0,0,0,0,0,0,0 -MZ1.1,CU,CL,C,,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,0,0,0,0,0,0,0,0,0 -MZ1.1,RA,CL,C,,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,0,0,0,0,0,0,0,0,0 +@@Main,,,,,,,,,,,,,,,,, +ReportingNode,Year,Month,,,,,,,,,,,,,,, +CH,2021,3,,,,,,,,,,,,,,, +@@Cashflow,,,,,,,,,,,,,,,,, +DataNode,AmountType,EstimateType,AocType,Novelty,AccidentYear,Values0,Values1,Values2,Values3,Values4,Values5,Values6,Values7,Values8,Values9,Values10,Values11 +MZ1.1,PR,BE,MC,I,,0,110,0,0,110,0,0,110,0,0,110,0 +MZ1.1,NIC,BE,MC,I,,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20 +MZ1.1,,RA,MC,I,,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2 +MZ1.1,PR,BE,BOP,N,,0,10,0,0,10,0,0,10,0,0,10,0 +MZ1.1,ICO,BE,BOP,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +MZ1.1,NIC,BE,BOP,N,,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4 +MZ1.1,,RA,BOP,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +MZ1.1,PR,BE,EV,N,,0,5,0,0,5,0,0,5,0,0,5,0 +MZ1.1,ICO,BE,EV,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +MZ1.1,NIC,BE,EV,N,,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9 +MZ1.1,,RA,EV,N,,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5 +MZ1.1,PR,BE,CL,C,,0,115,0,0,115,0,0,115,0,0,115,0 +MZ1.1,ICO,BE,CL,C,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +MZ1.1,NIC,BE,CL,C,,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29 +MZ1.1,,CU,CL,C,,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5 +MZ1.1,,RA,CL,C,,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5 From 473606271df700df6d295587dea3aa61ccc32ee3 Mon Sep 17 00:00:00 2001 From: Daniel Trzesniak Date: Wed, 21 Dec 2022 13:35:33 +0100 Subject: [PATCH 32/37] data --- .../ActualsUseCaseDataImport.ipynb | 19 --- .../CsmSwitchDataImport.ipynb | 9 - .../CsmSwitchReports.ipynb | 4 +- .../SimpleValue_CsmSwitch_CH_2020_12.csv | 70 ++++---- .../SimpleValue_CsmSwitch_CH_2021_3.csv | 159 +++++++++--------- .../Test/Data/ExportIfrsVariable.ipynb | 145 ++++++++++++++-- .../Test/Data/ExportReportVariables.ipynb | 17 +- 7 files changed, 260 insertions(+), 163 deletions(-) diff --git a/ifrs17-template/PracticalUseCases/ActualsOutsideThePeriod/ActualsUseCaseDataImport.ipynb b/ifrs17-template/PracticalUseCases/ActualsOutsideThePeriod/ActualsUseCaseDataImport.ipynb index 02a7537a..04c02bc4 100644 --- a/ifrs17-template/PracticalUseCases/ActualsOutsideThePeriod/ActualsUseCaseDataImport.ipynb +++ b/ifrs17-template/PracticalUseCases/ActualsOutsideThePeriod/ActualsUseCaseDataImport.ipynb @@ -98,25 +98,6 @@ "execution_count": 0, "outputs": [] }, - { - "cell_type": "code", - "source": [ - "Workspace.Reset(x => x.ResetInitializationRules().ResetCurrentPartitions());", - "\nWorkspace.InitializeFrom(DataSource);" - ], - "metadata": {}, - "execution_count": 0, - "outputs": [] - }, - { - "cell_type": "code", - "source": [ - "Workspace.Reset(x => x.ResetCurrentPartitions().ResetType().ResetType().ResetType())" - ], - "metadata": {}, - "execution_count": 0, - "outputs": [] - }, { "cell_type": "markdown", "source": [ diff --git a/ifrs17-template/PracticalUseCases/SingleVsMultipleCsmSwitch/CsmSwitchDataImport.ipynb b/ifrs17-template/PracticalUseCases/SingleVsMultipleCsmSwitch/CsmSwitchDataImport.ipynb index 9e270f66..8e7be7b6 100644 --- a/ifrs17-template/PracticalUseCases/SingleVsMultipleCsmSwitch/CsmSwitchDataImport.ipynb +++ b/ifrs17-template/PracticalUseCases/SingleVsMultipleCsmSwitch/CsmSwitchDataImport.ipynb @@ -115,15 +115,6 @@ "execution_count": 0, "outputs": [] }, - { - "cell_type": "code", - "source": [ - "//await Import.FromFile(\"../Files/TransactionalData/Openings_CH_2020_12.csv\").WithFormat(ImportFormats.Opening).WithTarget(DataSource).ExecuteAsync()" - ], - "metadata": {}, - "execution_count": 0, - "outputs": [] - }, { "cell_type": "code", "source": [ diff --git a/ifrs17-template/PracticalUseCases/SingleVsMultipleCsmSwitch/CsmSwitchReports.ipynb b/ifrs17-template/PracticalUseCases/SingleVsMultipleCsmSwitch/CsmSwitchReports.ipynb index 0e2c69de..be885860 100644 --- a/ifrs17-template/PracticalUseCases/SingleVsMultipleCsmSwitch/CsmSwitchReports.ipynb +++ b/ifrs17-template/PracticalUseCases/SingleVsMultipleCsmSwitch/CsmSwitchReports.ipynb @@ -63,8 +63,8 @@ "cell_type": "code", "source": [ "//2020-12 - 2021-3", - "\nvar reportingYear = 2021; ", - "\nvar reportingMonth = 3;" + "\nvar reportingYear = 2020; ", + "\nvar reportingMonth = 12;" ], "metadata": {}, "execution_count": 0, diff --git a/ifrs17-template/PracticalUseCases/SingleVsMultipleCsmSwitch/SimpleValue_CsmSwitch_CH_2020_12.csv b/ifrs17-template/PracticalUseCases/SingleVsMultipleCsmSwitch/SimpleValue_CsmSwitch_CH_2020_12.csv index 043d2f37..c2a4d4f1 100644 --- a/ifrs17-template/PracticalUseCases/SingleVsMultipleCsmSwitch/SimpleValue_CsmSwitch_CH_2020_12.csv +++ b/ifrs17-template/PracticalUseCases/SingleVsMultipleCsmSwitch/SimpleValue_CsmSwitch_CH_2020_12.csv @@ -3,42 +3,42 @@ Month,ReportingNode,Scenario,Year,,,, 12,CH,,2020,,,, @@SimpleValue,,,,,,, AccidentYear,AmountType,AocType,DataNode,EconomicBasis,EstimateType,Novelty,Value -,PR,BOP,MZ1.2,L,BE,N,-798.5367312 -,NIC,BOP,MZ1.2,L,BE,N,598.7529446 -,PR,BOP,MZ1.2,C,BE,N,-798.5367312 -,NIC,BOP,MZ1.2,C,BE,N,598.7529446 -,,BOP,MZ1.2,C,RA,N,59.87529446 -,,BOP,MZ1.2,L,RA,N,59.87529446 -,,AM,MZ1.2,L,F,C,0.656229858 -,PR,EOP,MZ1.2,L,BE,C,-399.6339295 -,NIC,EOP,MZ1.2,L,BE,C,299.6755497 -,PR,EOP,MZ1.2,C,BE,C,-399.6339295 -,NIC,EOP,MZ1.2,C,BE,C,299.6755497 -,,EOP,MZ1.2,C,RA,C,29.96755497 -,,EOP,MZ1.2,L,RA,C,29.96755497 -,PR,IA,MZ1.2,L,BE,N,-1.097198337 -,NIC,IA,MZ1.2,L,BE,N,0.922605096 -,PR,IA,MZ1.2,C,BE,N,-1.097198337 -,NIC,IA,MZ1.2,C,BE,N,0.922605096 -,,IA,MZ1.2,C,RA,N,0.09226051 -,,IA,MZ1.2,L,RA,N,0.09226051 -,PR,CF,MZ1.2,L,BE,N,400 -,NIC,CF,MZ1.2,L,BE,N,-300 -,PR,CF,MZ1.2,C,BE,N,400 -,NIC,CF,MZ1.2,C,BE,N,-300 -,,CF,MZ1.2,C,RA,N,-30 -,,CF,MZ1.2,L,RA,N,-30 -,PR,CF,MZ1.2,L,BEPA,N,320 -,PR,CF,MZ1.2,,A,C,400 -,NIC,CF,MZ1.2,,A,C,-280 ,ACA,CF,MZ1.2,,A,C,-10 ,AEA,CF,MZ1.2,,A,C,-5 +,NIC,CF,MZ1.2,,A,C,-280 +,PR,CF,MZ1.2,,A,C,400 ,PR,CF,MZ1.2,,APA,C,320 -,,CF,MZ1.2,,DA,C,-15 +,NIC,EOP,MZ1.2,C,BE,C,218.36476 +,NIC,BOP,MZ1.2,C,BE,N,336.39976 +,NIC,CF,MZ1.2,C,BE,N,-300 +,NIC,IA,MZ1.2,C,BE,N,181.965 +,PR,EOP,MZ1.2,C,BE,C,-306.20002 +,PR,BOP,MZ1.2,C,BE,N,-487.82037 +,PR,CF,MZ1.2,C,BE,N,400 +,PR,IA,MZ1.2,C,BE,N,-218.37965 +,NIC,EOP,MZ1.2,L,BE,C,218.36476 +,NIC,BOP,MZ1.2,L,BE,N,336.39976 +,NIC,CF,MZ1.2,L,BE,N,-300 +,NIC,IA,MZ1.2,L,BE,N,181.965 +,PR,EOP,MZ1.2,L,BE,C,-306.20002 +,PR,BOP,MZ1.2,L,BE,N,-487.82037 +,PR,CF,MZ1.2,L,BE,N,400 +,PR,IA,MZ1.2,L,BE,N,-218.37965 +,PR,CF,MZ1.2,L,BEPA,N,320 +,,AM,MZ1.2,,C,C,-95.78552 ,,EA,MZ1.2,,C,C,-15 -,,AM,MZ1.2,,DA,C,9.843447869 -,,AM,MZ1.2,,C,C,-82.02271122 -,,EOP,MZ1.2,,DA,C,-5.156552131 -,,EOP,MZ1.2,,C,C,42.96811361 -,,BOP,MZ1.2,,C,N,139.9084921 -,,IA,MZ1.2,,C,N,0.082332732 +,,EOP,MZ1.2,,C,C,25.21326 +,,BOP,MZ1.2,,C,N,117.78063 +,,IA,MZ1.2,,C,N,18.21816 +,,AM,MZ1.2,,DA,C,11.87436 +,,CF,MZ1.2,,DA,C,-15 +,,EOP,MZ1.2,,DA,C,-3.12564 +,,AM,MZ1.2,L,F,C,0.79162 +,,EOP,MZ1.2,C,RA,C,21.83648 +,,BOP,MZ1.2,C,RA,N,33.63998 +,,CF,MZ1.2,C,RA,N,-30 +,,IA,MZ1.2,C,RA,N,18.1965 +,,EOP,MZ1.2,L,RA,C,21.83648 +,,BOP,MZ1.2,L,RA,N,33.63998 +,,CF,MZ1.2,L,RA,N,-30 +,,IA,MZ1.2,L,RA,N,18.1965 diff --git a/ifrs17-template/PracticalUseCases/SingleVsMultipleCsmSwitch/SimpleValue_CsmSwitch_CH_2021_3.csv b/ifrs17-template/PracticalUseCases/SingleVsMultipleCsmSwitch/SimpleValue_CsmSwitch_CH_2021_3.csv index 6f0a65e5..e2faebd2 100644 --- a/ifrs17-template/PracticalUseCases/SingleVsMultipleCsmSwitch/SimpleValue_CsmSwitch_CH_2021_3.csv +++ b/ifrs17-template/PracticalUseCases/SingleVsMultipleCsmSwitch/SimpleValue_CsmSwitch_CH_2021_3.csv @@ -3,90 +3,89 @@ Month,ReportingNode,Scenario,Year,,,, 3,CH,,2021,,,, @@SimpleValue,,,,,,, AccidentYear,AmountType,AocType,DataNode,EconomicBasis,EstimateType,Novelty,Value -,PR,CF,MZ1.2,,A,C,90 -,ICO,CF,MZ1.2,,A,C,-6 -,NIC,CF,MZ1.2,,A,C,-70 ,ACA,CF,MZ1.2,,A,C,-10 ,AEA,CF,MZ1.2,,A,C,-5 -,,AM,MZ1.2,L,F,C,0.32249 -,,BOP,MZ1.2,,C,N,-31.95874 -,,IA,MZ1.2,,C,N,-0.0163 -,,EV,MZ1.2,,C,N,-55.45632 -,,BOP,MZ1.2,,C,I,42.96811 -,,EA,MZ1.2,,C,C,-42 -,,AM,MZ1.2,,C,C,-6.28963 -,,EOP,MZ1.2,,C,C,13.21352 -,,MC,MZ1.2,,C,I,105.89201 -,,IA,MZ1.2,,C,I,0.07437 -,,CF,MZ1.2,,DA,C,-15 -,,BOP,MZ1.2,,DA,I,-5.15655 -,,AM,MZ1.2,,DA,C,6.50034 -,,EOP,MZ1.2,,DA,C,-13.65621 -,PR,MC,MZ1.2,L,BE,I,-39.96339 -,NIC,MC,MZ1.2,L,BE,I,-59.93511 -,PR,MC,MZ1.2,C,BE,I,-39.96339 -,NIC,MC,MZ1.2,C,BE,I,-59.93511 -,PR,BOP,MZ1.2,L,BE,N,-39.96339 -,NIC,BOP,MZ1.2,L,BE,N,47.94809 -,ICO,BOP,MZ1.2,L,BE,N,11.98702 -,PR,BOP,MZ1.2,C,BE,N,-39.9087 -,NIC,BOP,MZ1.2,C,BE,N,47.87055 -,ICO,BOP,MZ1.2,C,BE,N,11.96764 -,PR,EV,MZ1.2,L,BE,N,14.99001 -,NIC,EV,MZ1.2,L,BE,N,44.96256 -,PR,EV,MZ1.2,C,BE,N,14.97509 -,NIC,EV,MZ1.2,C,BE,N,44.90661 -,PR,BOP,MZ1.2,L,BE,I,-399.63393 -,NIC,BOP,MZ1.2,L,BE,I,299.67555 -,PR,BOP,MZ1.2,C,BE,I,-399.63393 -,NIC,BOP,MZ1.2,C,BE,I,299.67555 -,PR,EOP,MZ1.2,L,BE,C,-344.77033 -,NIC,EOP,MZ1.2,L,BE,C,260.78283 -,ICO,EOP,MZ1.2,L,BE,C,8.99251 -,PR,EOP,MZ1.2,C,BE,C,-344.42709 -,NIC,EOP,MZ1.2,C,BE,C,260.45832 -,ICO,EOP,MZ1.2,C,BE,C,8.98132 -,PR,IA,MZ1.2,L,BE,I,-0.183 -,NIC,IA,MZ1.2,L,BE,I,0.10979 -,PR,IA,MZ1.2,C,BE,I,-0.183 -,NIC,IA,MZ1.2,C,BE,I,0.10979 -,PR,CF,MZ1.2,L,BE,I,110 -,NIC,CF,MZ1.2,L,BE,I,-60 -,PR,CF,MZ1.2,C,BE,I,110 +,ICO,CF,MZ1.2,,A,C,-6 +,NIC,CF,MZ1.2,,A,C,-70 +,PR,CF,MZ1.2,,A,C,90 +,PR,CF,MZ1.2,,APA,C,72 +,ICO,EOP,MZ1.2,C,BE,C,7.02617 +,ICO,BOP,MZ1.2,C,BE,N,8.73459 +,ICO,CF,MZ1.2,C,BE,N,-3 +,ICO,IA,MZ1.2,C,BE,N,1.29158 +,NIC,EOP,MZ1.2,C,BE,C,203.75899 +,NIC,BOP,MZ1.2,C,BE,I,218.36476 ,NIC,CF,MZ1.2,C,BE,I,-60 -,PR,YCU,MZ1.2,C,BE,I,0.32832 -,NIC,YCU,MZ1.2,C,BE,I,-0.2238 -,PR,IA,MZ1.2,L,BE,N,-0.01664 -,NIC,IA,MZ1.2,L,BE,N,0.02196 -,ICO,IA,MZ1.2,L,BE,N,0.00549 -,PR,IA,MZ1.2,C,BE,N,-0.04148 -,NIC,IA,MZ1.2,C,BE,N,0.05474 -,ICO,IA,MZ1.2,C,BE,N,0.01368 -,PR,CF,MZ1.2,L,BE,N,10 -,NIC,CF,MZ1.2,L,BE,N,-12 -,ICO,CF,MZ1.2,L,BE,N,-3 -,PR,CF,MZ1.2,C,BE,N,10 +,NIC,IA,MZ1.2,C,BE,I,25.83163 +,NIC,MC,MZ1.2,C,BE,I,-43.67295 +,NIC,BOP,MZ1.2,C,BE,N,34.93836 ,NIC,CF,MZ1.2,C,BE,N,-12 -,ICO,CF,MZ1.2,C,BE,N,-3 -,PR,CF,MZ1.2,,APA,C,72 -,,MC,MZ1.2,C,RA,I,-5.99351 -,,MC,MZ1.2,L,RA,I,-5.99351 -,,BOP,MZ1.2,C,RA,N,11.96764 -,,BOP,MZ1.2,L,RA,N,11.98702 -,,EV,MZ1.2,C,RA,N,-4.49066 -,,EV,MZ1.2,L,RA,N,-4.49626 -,,BOP,MZ1.2,C,RA,I,29.96755 -,,BOP,MZ1.2,L,RA,I,29.96755 -,,EOP,MZ1.2,C,RA,C,22.4533 -,,EOP,MZ1.2,L,RA,C,22.48128 -,,IA,MZ1.2,C,RA,I,0.01098 -,,IA,MZ1.2,L,RA,I,0.01098 +,NIC,EV,MZ1.2,C,BE,N,35.13086 +,NIC,IA,MZ1.2,C,BE,N,5.16633 +,PR,EOP,MZ1.2,C,BE,C,-283.25612 +,PR,BOP,MZ1.2,C,BE,I,-306.20002 +,PR,CF,MZ1.2,C,BE,I,110 +,PR,IA,MZ1.2,C,BE,I,-44.12061 +,PR,MC,MZ1.2,C,BE,I,-30.62 +,PR,BOP,MZ1.2,C,BE,N,-30.62 +,PR,CF,MZ1.2,C,BE,N,10 +,PR,EV,MZ1.2,C,BE,N,12.31548 +,PR,IA,MZ1.2,C,BE,N,-4.01096 +,ICO,EOP,MZ1.2,L,BE,C,7.02617 +,ICO,BOP,MZ1.2,L,BE,N,8.73459 +,ICO,CF,MZ1.2,L,BE,N,-3 +,ICO,IA,MZ1.2,L,BE,N,1.29158 +,NIC,EOP,MZ1.2,L,BE,C,203.75899 +,NIC,BOP,MZ1.2,L,BE,I,218.36476 +,NIC,CF,MZ1.2,L,BE,I,-60 +,NIC,IA,MZ1.2,L,BE,I,25.83163 +,NIC,MC,MZ1.2,L,BE,I,-43.67295 +,NIC,BOP,MZ1.2,L,BE,N,34.93836 +,NIC,CF,MZ1.2,L,BE,N,-12 +,NIC,EV,MZ1.2,L,BE,N,35.13086 +,NIC,IA,MZ1.2,L,BE,N,5.16633 +,PR,EOP,MZ1.2,L,BE,C,-283.25612 +,PR,BOP,MZ1.2,L,BE,I,-306.20002 +,PR,CF,MZ1.2,L,BE,I,110 +,PR,IA,MZ1.2,L,BE,I,-44.12061 +,PR,MC,MZ1.2,L,BE,I,-30.62 +,PR,BOP,MZ1.2,L,BE,N,-30.62 +,PR,CF,MZ1.2,L,BE,N,10 +,PR,EV,MZ1.2,L,BE,N,12.31548 +,PR,IA,MZ1.2,L,BE,N,-4.01096 +,PR,CF,MZ1.2,L,BEPA,I,88 +,PR,CF,MZ1.2,L,BEPA,N,8 +,,AM,MZ1.2,,C,C,-3.97038 +,,CL,MZ1.2,,C,C,-69.45932 +,,EA,MZ1.2,,C,C,-42 +,,EOP,MZ1.2,,C,C,5.71314 +,,BOP,MZ1.2,,C,I,25.21326 +,,IA,MZ1.2,,C,I,17.26933 +,,MC,MZ1.2,,C,I,78.66025 +,,AM,MZ1.2,,DA,C,7.43177 +,,CF,MZ1.2,,DA,C,-15 +,,EOP,MZ1.2,,DA,C,-10.69387 +,,BOP,MZ1.2,,DA,I,-3.12564 +,,AM,MZ1.2,L,F,C,0.41001 +,,CL,MZ1.2,,L,C,-69.45932 +,,BOP,MZ1.2,,L,N,21.78754 +,,EV,MZ1.2,,L,N,43.93326 +,,IA,MZ1.2,,L,N,3.73853 +,,EOP,MZ1.2,C,RA,C,17.56543 +,,BOP,MZ1.2,C,RA,I,21.83648 ,,CF,MZ1.2,C,RA,I,-6 -,,CF,MZ1.2,L,RA,I,-6 -,,YCU,MZ1.2,C,RA,I,-0.02238 -,,IA,MZ1.2,C,RA,N,0.01368 -,,IA,MZ1.2,L,RA,N,0.00549 +,,IA,MZ1.2,C,RA,I,2.58316 +,,MC,MZ1.2,C,RA,I,-4.3673 +,,BOP,MZ1.2,C,RA,N,8.73459 ,,CF,MZ1.2,C,RA,N,-3 +,,EV,MZ1.2,C,RA,N,-3.51309 +,,IA,MZ1.2,C,RA,N,1.29158 +,,EOP,MZ1.2,L,RA,C,17.56543 +,,BOP,MZ1.2,L,RA,I,21.83648 +,,CF,MZ1.2,L,RA,I,-6 +,,IA,MZ1.2,L,RA,I,2.58316 +,,MC,MZ1.2,L,RA,I,-4.3673 +,,BOP,MZ1.2,L,RA,N,8.73459 ,,CF,MZ1.2,L,RA,N,-3 -,PR,CF,MZ1.2,L,BEPA,I,88 -,PR,CF,MZ1.2,L,BEPA,N,8 +,,EV,MZ1.2,L,RA,N,-3.51309 +,,IA,MZ1.2,L,RA,N,1.29158 diff --git a/ifrs17-template/Test/Data/ExportIfrsVariable.ipynb b/ifrs17-template/Test/Data/ExportIfrsVariable.ipynb index 2b320b8d..1c1845ce 100644 --- a/ifrs17-template/Test/Data/ExportIfrsVariable.ipynb +++ b/ifrs17-template/Test/Data/ExportIfrsVariable.ipynb @@ -20,7 +20,25 @@ { "cell_type": "markdown", "source": [ - "

Test Reports

" + "

Ifrs Variable Exporter

" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "# Infrastructure and Configuration" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "## Initialize Workspace" ], "metadata": {}, "execution_count": 0, @@ -38,7 +56,7 @@ { "cell_type": "markdown", "source": [ - "# BenchMarks" + "## Configurations" ], "metadata": {}, "execution_count": 0, @@ -47,7 +65,7 @@ { "cell_type": "code", "source": [ - "var pathToBm = \"./Data/ReportBenchmarks/\";" + "//var pathToBm = \"./Data/ReportBenchmarks/\";" ], "metadata": {}, "execution_count": 0, @@ -62,22 +80,124 @@ "execution_count": 0, "outputs": [] }, + { + "cell_type": "markdown", + "source": [ + "# Defining Scope for the IfrsVariables" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "## Defining the Import Args" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, { "cell_type": "code", "source": [ - "var argsArray = new ImportArgs[]{", - "\n new ImportArgs (\"CH\", 2020, 12, Periodicity.Quarterly, null, null),", - "\n new ImportArgs (\"CH\", 2021, 3, Periodicity.Quarterly, null, null)", + "var exportScope = new ImportArgs[]{", + "\n new ImportArgs (\"CH\", 2020, 12, (Periodicity)default, null, null),", + "\n new ImportArgs (\"CH\", 2021, 3, (Periodicity)default, null, null)", "\n };" ], "metadata": {}, "execution_count": 0, "outputs": [] }, + { + "cell_type": "markdown", + "source": [ + "# Gathering Data" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "var args = exportScope[0];", + "\nargs" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "await DataSource.Partition.SetAsync(new {ReportingNode = args.ReportingNode, Year = args.Year, Month = args.Month, Scenario = args.Scenario});", + "\nvar ifrsVariables = (await DataSource.Query().ToArrayAsync())", + "\n .Select(v => v with { Value = Math.Round(v.Value, roundingDigits)})", + "\n .OrderBy(v => v.DataNode).ThenBy(v => v.AccidentYear).ThenBy(v => v.EstimateType).ThenBy(v => v.EconomicBasis).ThenBy(v => v.AmountType).ThenBy(v => v.Novelty)", + "\n .ThenBy(v => v.AocType)", + "\n .ToArray();" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "# Export" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "## Export SimpleValue" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "const string fileNamePrefix = \"SimpleValue\";" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, { "cell_type": "code", "source": [ - "var scenario = \"MTUP10pct\";" + "await Export.ToCsv(fileNamePrefix + \"_\" + args.ReportingNode + \"_\" + args.Year.ToString() + \"_\" + args.Month.ToString() + \"_\" + args.Scenario)", + "\n .WithTable(tableConfig => tableConfig", + "\n .AtBeginning()", + "\n .WithName(Main)", + "\n .WithSource(source => args.RepeatOnce().AsQueryable())", + "\n .WithColumn(x => x.Periodicity, x => x.Delete())", + "\n .WithColumn(x => x.ImportFormat, x => x.Delete())", + "\n )", + "\n .WithTable(tableConfig => tableConfig", + "\n .WithSource(source => ifrsVariables.AsQueryable())", + "\n .WithName(fileNamePrefix)", + "\n .WithColumn(x => x.Partition, x => x.Delete())", + "\n .WithColumn(x => x.Id, x => x.Delete())", + "\n )", + "\n .WithSource(DataSource)", + "\n .ExecuteAsync() " + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "## Export by Estimate Type" ], "metadata": {}, "execution_count": 0, @@ -86,9 +206,7 @@ { "cell_type": "code", "source": [ - "var args = new ImportArgs (\"CH\", 2020, 12, Periodicity.Quarterly, scenario, null);", - "\nawait DataSource.Partition.SetAsync(new {ReportingNode = args.ReportingNode, Year= args.Year, Month = args.Month, Scenario = args.Scenario});", - "\nvar computedVariables = (await DataSource.Query().ToArrayAsync()).ToDictionaryGrouped(x => x.EstimateType, x => x.ToArray());" + "const string benchmarkFileNamePrefix = \"BM\";" ], "metadata": {}, "execution_count": 0, @@ -97,7 +215,7 @@ { "cell_type": "code", "source": [ - "(0, computedVariables.Keys)" + "var estimateType = \"BE\";" ], "metadata": {}, "execution_count": 0, @@ -106,8 +224,7 @@ { "cell_type": "code", "source": [ - "var estimateType = \"APA\";", - "\nawait Export.ToCsv(\"BM_\"+args.ReportingNode+\"_\"+args.Year.ToString()+\"_\"+args.Month.ToString()+\"_\"+scenario+\"_\"+estimateType)", + "await Export.ToCsv(benchmarkFileNamePrefix + \"_\" + args.ReportingNode +\"_\" + args.Year.ToString() + \"_\" + args.Month.ToString() + \"_\" + scenario + \"_\" + estimateType)", "\n .WithTable(tableConfig => tableConfig", "\n .AtBeginning()", "\n .WithName(Main)", @@ -116,7 +233,7 @@ "\n .WithColumn(x => x.ImportFormat, x => x.Delete())", "\n )", "\n .WithTable(tableConfig => tableConfig", - "\n .WithSource(source => computedVariables[estimateType].Select(x => x with {Value = Math.Round(x.Value, roundingDigits)}).AsQueryable())", + "\n .WithSource(source => ifrsVariables.Where(x => x.EstimateType == estimateType).AsQueryable())", "\n .WithName(estimateType)", "\n .WithColumn(x => x.Partition, x => x.Delete())", "\n .WithColumn(x => x.Id, x => x.Delete())", diff --git a/ifrs17-template/Test/Data/ExportReportVariables.ipynb b/ifrs17-template/Test/Data/ExportReportVariables.ipynb index 781c0299..bf06f205 100644 --- a/ifrs17-template/Test/Data/ExportReportVariables.ipynb +++ b/ifrs17-template/Test/Data/ExportReportVariables.ipynb @@ -56,7 +56,7 @@ { "cell_type": "markdown", "source": [ - "## Imports and Configurations" + "## Imports" ], "metadata": {}, "execution_count": 0, @@ -129,7 +129,7 @@ { "cell_type": "markdown", "source": [ - "### Defining the Period and Reporting Node (...) for the Reports" + "## Defining the Period and Reporting Node (...) for the Reports" ], "metadata": {}, "execution_count": 0, @@ -155,7 +155,7 @@ { "cell_type": "markdown", "source": [ - "# Export" + "# Gathering Data" ], "metadata": {}, "execution_count": 0, @@ -164,7 +164,7 @@ { "cell_type": "code", "source": [ - "var args = exportScope[6];", + "var args = exportScope[0];", "\nargs" ], "metadata": {}, @@ -181,6 +181,15 @@ "execution_count": 0, "outputs": [] }, + { + "cell_type": "markdown", + "source": [ + "# Export" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, { "cell_type": "code", "source": [ From 3ddeb657aada7be5af86463cf0fde3cbb2f58253 Mon Sep 17 00:00:00 2001 From: Daniel Trzesniak Date: Wed, 21 Dec 2022 13:36:58 +0100 Subject: [PATCH 33/37] Fix --- ifrs17-template/Test/Data/ExportIfrsVariable.ipynb | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/ifrs17-template/Test/Data/ExportIfrsVariable.ipynb b/ifrs17-template/Test/Data/ExportIfrsVariable.ipynb index 1c1845ce..f855a567 100644 --- a/ifrs17-template/Test/Data/ExportIfrsVariable.ipynb +++ b/ifrs17-template/Test/Data/ExportIfrsVariable.ipynb @@ -47,7 +47,8 @@ { "cell_type": "code", "source": [ - "#!eval-notebook \"InitSystemorphToMemoryForTesting\"" + "//#!eval-notebook \"InitSystemorphToMemoryForTesting\"", + "\n#!eval-notebook \"../../PracticalUseCases/SingleVsMultipleCsmSwitch/CsmSwitchDataImport\"" ], "metadata": {}, "execution_count": 0, @@ -224,7 +225,7 @@ { "cell_type": "code", "source": [ - "await Export.ToCsv(benchmarkFileNamePrefix + \"_\" + args.ReportingNode +\"_\" + args.Year.ToString() + \"_\" + args.Month.ToString() + \"_\" + scenario + \"_\" + estimateType)", + "await Export.ToCsv(benchmarkFileNamePrefix + \"_\" + args.ReportingNode +\"_\" + args.Year.ToString() + \"_\" + args.Month.ToString() + \"_\" + args.Scenario + \"_\" + estimateType)", "\n .WithTable(tableConfig => tableConfig", "\n .AtBeginning()", "\n .WithName(Main)", From 2363e6839a78de1f1744dde28035fc46dd22a651 Mon Sep 17 00:00:00 2001 From: Daniel Trzesniak Date: Wed, 21 Dec 2022 17:23:44 +0100 Subject: [PATCH 34/37] Switch Logic --- .../CsmSwitchReports.ipynb | 62 +++++++++---------- .../SimpleValue_CsmSwitch_CH_2021_3.csv | 8 +-- 2 files changed, 33 insertions(+), 37 deletions(-) diff --git a/ifrs17-template/PracticalUseCases/SingleVsMultipleCsmSwitch/CsmSwitchReports.ipynb b/ifrs17-template/PracticalUseCases/SingleVsMultipleCsmSwitch/CsmSwitchReports.ipynb index be885860..f28a6abe 100644 --- a/ifrs17-template/PracticalUseCases/SingleVsMultipleCsmSwitch/CsmSwitchReports.ipynb +++ b/ifrs17-template/PracticalUseCases/SingleVsMultipleCsmSwitch/CsmSwitchReports.ipynb @@ -32,10 +32,14 @@ "cell_type": "markdown", "source": [ "In this case study we look at allocation of Technical Margin to Contractual Service Margin (CSM) and Loss Component (LC) and its impact on the Financial Performance and Balance Sheet. ", - "\n
In particular, we are going to consider two possible implementation for the **switch logic** which controls how the allocation of technical margin swithces from CSM to LC and viceversa through out the analysis of change. ", + "\n
In particular, we are going to consider two possible implementation for the **switch logic** which controls how the allocation of technical margin swithces from CSM to LC and viceversa throughout the Analysis of Change (AoC). ", "\n", + "\nIn practice, we consider two hypothetical GICs with the same parameters, modelled cash flows, actuals and we will look at the results obtained applying two different implementation of the **switch logic** and its implication to Financial figures.", "\n", - "\nIn practice, we consider two hypothetical Group of Insurance Contract with the same parameters, modelled cash flows, actuals and we will look at the results obtained applying two different implementation of the **switch logic** and it's implication to Financial figures. " + "\n - **MZ 1.1 Multiple Switches**: the allocation of the Technical Margin to either CSM or LC can happen at any AoC Step. This means multiple switches can be observed, whenever the Technical Margin changes sign.", + "\n - **MZ 1.2 Single Switch**: the allocation of the Technical Margin to either CSM or LC can happen only once. This means only if there is an effective switch (i.e. the technical margin changes sign between the Beginning of Period (BoP) and End of Period (EoP)), a switch is observed.", + "\n", + "\nWe will look at the reports for the first quarter of year 2021 (2021 3)." ], "metadata": {}, "execution_count": 0, @@ -62,9 +66,8 @@ { "cell_type": "code", "source": [ - "//2020-12 - 2021-3", - "\nvar reportingYear = 2020; ", - "\nvar reportingMonth = 12;" + "var reportingYear = 2021; ", + "\nvar reportingMonth = 3;" ], "metadata": {}, "execution_count": 0, @@ -79,6 +82,15 @@ "execution_count": 0, "outputs": [] }, + { + "cell_type": "markdown", + "source": [ + "We start by looking at the Fulfilment Cash Flows. Data for both cases are exactly the same." + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, { "cell_type": "code", "source": [ @@ -102,26 +114,10 @@ "execution_count": 0, "outputs": [] }, - { - "cell_type": "code", - "source": [ - "var writtenActual = ifrs17.WrittenActuals;", - "\nwrittenActual.ReportingNode = \"CH\";", - "\nwrittenActual.ReportingPeriod = (reportingYear, reportingMonth);", - "\nwrittenActual.ColumnSlices = new string[]{\"GroupOfContract\"};", - "\nwrittenActual.DataFilter = null;", - "\n(await writtenActual.ToReportAsync) with {Height = 400}" - ], - "metadata": {}, - "execution_count": 0, - "outputs": [] - }, { "cell_type": "markdown", "source": [ - "# Actuarial Experience Adjustment", - "\n", - "\nA comparison between [Written Actual](#written-actual) and the Releases of the [Best Estimate](#present-value) is reported in the [Actuarial Experience Adjustment](https://portal.systemorph.cloud/project/ifrs17/env/v1.0.0/Report/ReportScopes#experience-adjustment)." + "Aslo the Actuals for both cases are exactly the same." ], "metadata": {}, "execution_count": 0, @@ -130,12 +126,12 @@ { "cell_type": "code", "source": [ - "var experienceAdjustments = ifrs17.ExperienceAdjustments;", - "\nexperienceAdjustments.ReportingNode = \"CH\";", - "\nexperienceAdjustments.ReportingPeriod = (reportingYear, reportingMonth);", - "\nexperienceAdjustments.ColumnSlices = new string[]{\"GroupOfContract\", \"AmountType\"};", - "\nexperienceAdjustments.DataFilter = null;", - "\n(await experienceAdjustments.ToReportAsync) with {Height = 300}" + "var writtenActual = ifrs17.WrittenActuals;", + "\nwrittenActual.ReportingNode = \"CH\";", + "\nwrittenActual.ReportingPeriod = (reportingYear, reportingMonth);", + "\nwrittenActual.ColumnSlices = new string[]{\"GroupOfContract\"};", + "\nwrittenActual.DataFilter = null;", + "\n(await writtenActual.ToReportAsync) with {Height = 400}" ], "metadata": {}, "execution_count": 0, @@ -146,15 +142,15 @@ "source": [ "# LRC Technical Margin (TM)", "\n", - "\nIn the [Technical Margin](https://portal.systemorph.cloud/project/ifrs17/env/v1.0.0/Report/ReportScopes#technical-margin) report we present a unified view on the figures that are allocated to either Contractual Service Margin or to Loss Component. ", + "\nIn the Technical Margin report we present a unified view on the figures that are allocated to either Contractual Service Margin or to Loss Component. ", "\n
The Analysis of Change is expanded with few more steps such as **Experience Adjustment** and **Amortization**.", "\n", "\n", - "\nA negative value for Technical Margin correspond to an Asset and it is thus allocated to the CSM. Conversely, a positive value of the Technical Margin represents a Liability which is then allocated to Loss Component. ", + "\nA negative value for Technical Margin correspond to an Asset and thus allocated to the CSM. Conversely, a positive value of the Technical Margin represents a Liability, which is then allocated to Loss Component. ", "\n", - "\nAn analysis of change report allows one to explain how the closing figure is obtained from the opening value and from each and every change to it captured in an individual step (Model Correction, Release, ...). At each AoC step, the Technical Margin is recognized as Asset or Liability by looking at the sign of the aggregation of all the TM figures starting from the Opening to the considered step.", + "\nAn Analysis of Change report allows one to explain how the closing figure is obtained from the opening value and from each and every change to it captured in an individual step (Model Correction, Release, ...). At each AoC step, the Technical Margin is recognized as Asset or Liability by looking at the sign of the aggregation of all the figures of the Technical Margin starting from the Opening to a given AoC step.", "\n", - "\nThrough the Analysis of Change steps it it possible that such aggregation of TM oscillates from positive to negative and viceversa several time. How the TM figures are then allocated to CSM/LC is controlled by the implementation of the **switch logic**." + "\nThrough the Analysis of Change steps it is possible that such aggregation of the Technical Margin oscillates from positive to negative and viceversa several times. How the Technical Margin figures are then allocated to CSM/LC is controlled by the implementation of the **switch logic**." ], "metadata": {}, "execution_count": 0, @@ -186,7 +182,7 @@ "\n
Group of Insurance contract called \"MZ1.2\" is calculated with a switch logic (**One switch**) that shows only one switch when the number of total switches is odd, none otherwise. ", "\n", "\nBecause only the New Business figures drive the technical margin to the Liability side, one can immediately realize the main difference between these two switch choices: ", - "\n
MZ1.2 does not recognize any loss.", + "\n
MZ1.2 does not recognize any Loss Component.", "\n", "\nIn this case the **One switch** logic does not show any switch as both opening and closing figures are assets. The New Business contributions are then forced on the CSM side of this report with a negative sign to reflect the fact that they are decreasing the asset. ", "\n", diff --git a/ifrs17-template/PracticalUseCases/SingleVsMultipleCsmSwitch/SimpleValue_CsmSwitch_CH_2021_3.csv b/ifrs17-template/PracticalUseCases/SingleVsMultipleCsmSwitch/SimpleValue_CsmSwitch_CH_2021_3.csv index e2faebd2..5396e3aa 100644 --- a/ifrs17-template/PracticalUseCases/SingleVsMultipleCsmSwitch/SimpleValue_CsmSwitch_CH_2021_3.csv +++ b/ifrs17-template/PracticalUseCases/SingleVsMultipleCsmSwitch/SimpleValue_CsmSwitch_CH_2021_3.csv @@ -67,10 +67,10 @@ AccidentYear,AmountType,AocType,DataNode,EconomicBasis,EstimateType,Novelty,Valu ,,EOP,MZ1.2,,DA,C,-10.69387 ,,BOP,MZ1.2,,DA,I,-3.12564 ,,AM,MZ1.2,L,F,C,0.41001 -,,CL,MZ1.2,,L,C,-69.45932 -,,BOP,MZ1.2,,L,N,21.78754 -,,EV,MZ1.2,,L,N,43.93326 -,,IA,MZ1.2,,L,N,3.73853 +,,CL,MZ1.2,,C,C,69.45932 +,,BOP,MZ1.2,,C,N,-21.78754 +,,EV,MZ1.2,,C,N,-43.93326 +,,IA,MZ1.2,,C,N,-3.73853 ,,EOP,MZ1.2,C,RA,C,17.56543 ,,BOP,MZ1.2,C,RA,I,21.83648 ,,CF,MZ1.2,C,RA,I,-6 From 216ec9b574c93359b21b3fa41cd1da1dda33bc61 Mon Sep 17 00:00:00 2001 From: Daniel Trzesniak Date: Wed, 21 Dec 2022 22:18:09 +0100 Subject: [PATCH 35/37] Some text --- .../CsmSwitchReports.ipynb | 77 +++++++++++-------- 1 file changed, 44 insertions(+), 33 deletions(-) diff --git a/ifrs17-template/PracticalUseCases/SingleVsMultipleCsmSwitch/CsmSwitchReports.ipynb b/ifrs17-template/PracticalUseCases/SingleVsMultipleCsmSwitch/CsmSwitchReports.ipynb index f28a6abe..48f424ed 100644 --- a/ifrs17-template/PracticalUseCases/SingleVsMultipleCsmSwitch/CsmSwitchReports.ipynb +++ b/ifrs17-template/PracticalUseCases/SingleVsMultipleCsmSwitch/CsmSwitchReports.ipynb @@ -31,15 +31,16 @@ { "cell_type": "markdown", "source": [ - "In this case study we look at allocation of Technical Margin to Contractual Service Margin (CSM) and Loss Component (LC) and its impact on the Financial Performance and Balance Sheet. ", - "\n
In particular, we are going to consider two possible implementation for the **switch logic** which controls how the allocation of technical margin swithces from CSM to LC and viceversa throughout the Analysis of Change (AoC). ", + "In this case study we look at the allocation of the Technical Margin into Contractual Service Margin (CSM) or Loss Component (LC) and its impact on the Financial Performance and Balance Sheet. ", + "\n
In particular, we are going to consider two possible approaches for the **switch logic**, which determines how the Technical Margin turns from CSM to LC and vice versa throughout the Analysis of Change (AoC). ", "\n", - "\nIn practice, we consider two hypothetical GICs with the same parameters, modelled cash flows, actuals and we will look at the results obtained applying two different implementation of the **switch logic** and its implication to Financial figures.", + "\nFor this exercise, we consider two hypothetical GICs with identical inputs: the same parameters, modelled cash flows, actuals, etc... We will then analyze the results obtained by applying two different implementations of the **switch logic** and its implications to financial figures.", "\n", - "\n - **MZ 1.1 Multiple Switches**: the allocation of the Technical Margin to either CSM or LC can happen at any AoC Step. This means multiple switches can be observed, whenever the Technical Margin changes sign.", - "\n - **MZ 1.2 Single Switch**: the allocation of the Technical Margin to either CSM or LC can happen only once. This means only if there is an effective switch (i.e. the technical margin changes sign between the Beginning of Period (BoP) and End of Period (EoP)), a switch is observed.", + "\nWe have defined the following GICs:", + "\n - **MZ 1.1 Multiple Switches**: in this case the allocation of the Technical Margin to either CSM or LC can happen multiple times between the Beginning of Period (BoP) and End of Period (EoP). This means whenever the cumulative Technical Margin changes its sign due to the corresponding AoC contributions, a switch from CSM to LC (and vice versa) is observed.", + "\n - **MZ 1.2 Single Switch**: in this case the allocation of the Technical Margin to either CSM or LC can happen only once between the Beginning of Period (BoP) and End of Period (EoP). This means only if there is an effective switch (i.e. the cumulative Technical Margin at the Beginning of Period (BoP) and at the End of Period (EoP) have different signs), a single switch is observed. Otherwise there is no switch.", "\n", - "\nWe will look at the reports for the first quarter of year 2021 (2021 3)." + "\nWe will look at the relevant reports for the first quarter of year 2021 (2021 3)." ], "metadata": {}, "execution_count": 0, @@ -76,7 +77,7 @@ { "cell_type": "markdown", "source": [ - "# Fulfilment Cash Flow" + "# Fulfilment Cash Flow (FCF)" ], "metadata": {}, "execution_count": 0, @@ -85,7 +86,7 @@ { "cell_type": "markdown", "source": [ - "We start by looking at the Fulfilment Cash Flows. Data for both cases are exactly the same." + "We start by looking at the Fulfilment Cash Flows (FCF). Data and results for both cases are exactly the same." ], "metadata": {}, "execution_count": 0, @@ -143,14 +144,22 @@ "# LRC Technical Margin (TM)", "\n", "\nIn the Technical Margin report we present a unified view on the figures that are allocated to either Contractual Service Margin or to Loss Component. ", - "\n
The Analysis of Change is expanded with few more steps such as **Experience Adjustment** and **Amortization**.", "\n", + "\nA negative value for Technical Margin correspond to an Asset character and thus allocated to the CSM. Conversely, a positive value of the Technical Margin represents a Liability character, which is then allocated to Loss Component. ", "\n", - "\nA negative value for Technical Margin correspond to an Asset and thus allocated to the CSM. Conversely, a positive value of the Technical Margin represents a Liability, which is then allocated to Loss Component. ", + "\nAn Analysis of Change (AoC) report allows one to explain how the closing value (EoP) is obtained from the opening value (BoP). Each change to the previous value (i.e. a delta) is captured in its dedicated AoC Step (Model Correction, Experience Variance, ...).", + "\nAt each AoC step, the Technical Margin is recognized as Asset-like or Liability-like according to the sign of the accumulation (aggregation) of all figures of the Technical Margin starting from the opening (BoP) to a given AoC step in the chain.", "\n", - "\nAn Analysis of Change report allows one to explain how the closing figure is obtained from the opening value and from each and every change to it captured in an individual step (Model Correction, Release, ...). At each AoC step, the Technical Margin is recognized as Asset or Liability by looking at the sign of the aggregation of all the figures of the Technical Margin starting from the Opening to a given AoC step.", + "\nThrough the AoC steps it is possible that such aggregation of the Technical Margin oscillates from positive to negative and vice versa several times. How the Technical Margin figures are then allocated to CSM or LC is controlled by the implementation of the **switch logic**.", "\n", - "\nThrough the Analysis of Change steps it is possible that such aggregation of the Technical Margin oscillates from positive to negative and viceversa several times. How the Technical Margin figures are then allocated to CSM/LC is controlled by the implementation of the **switch logic**." + "\nAs we can see below, at this point, the Technical Margin is still the same for both cases considered, as no allocation to either CSM or LC is performed (i.e. the switch logic).", + "\n", + "\nWe also notice that the opening balance (BoP) has the same sign as the closing balance (EoP), thus one would not expect any switch intuitively.", + "\n", + "\nHowever, in this calculation approach the Technical Margin is calculated independently for each novelty (In Force and New Business) and the expected closing balance by novelty have opposite signs. While the In Force is always negative, the New Business is always positive.", + "\n", + "\nOnce the novelties are combined, we must look at the result of all contributions together. In our example, the In Force contribution is larger in magnitude than the New Business, thus the combined effect should be negative.", + "\nSince the AoC Steps for combined novelties are still not large enough to change the sign (in this case the Experience Adjustment), the closing balance remains negative. " ], "metadata": {}, "execution_count": 0, @@ -173,20 +182,21 @@ { "cell_type": "markdown", "source": [ - "# Contractual Service Margin / Loss Component / Loss Recovery Component", + "# Contractual Service Margin / Loss Component", "\n", - "\nThe Contractual Service Margin (CSM) / Loss Component (LC) / Loss Recovery Component (LR) [report](https://portal.systemorph.cloud/project/ifrs17/env/v1.0.0/Report/ReportScopes#technical-margin) are here shown side by side as the allocation to profit or loss is done at each step of the Analysis of Change. ", + "\nHere, we show the result of two different implementations of the **switch logic** for the two GICs we are considering.", "\n", - "\nHere, we show the result of two different implementations of the **switch logic** for the two Group of Insurance contract we are considering. ", - "\n
Group of Insurance contract called \"MZ1.1\" is calculated with our standard methodology (**Many switches**) which allows to switch at every AoC Step with no limitation of amount of switches. ", - "\n
Group of Insurance contract called \"MZ1.2\" is calculated with a switch logic (**One switch**) that shows only one switch when the number of total switches is odd, none otherwise. ", + "\n- **MZ 1.1 Multiple Switches**: it is calculated with our standard methodology (**multiple switches**) which allows to switch at every AoC Step with no limitation of amount of switches. ", + "\n- **MZ 1.2 Single Switch**: it is calculated with a switch logic (**single switch**) that shows only one switch when the number of total switches is odd (last relevant switch), none otherwise. ", "\n", - "\nBecause only the New Business figures drive the technical margin to the Liability side, one can immediately realize the main difference between these two switch choices: ", - "\n
MZ1.2 does not recognize any Loss Component.", + "\nBecause only the New Business figures drive the Technical Margin to the Liability side, one can immediately realize the main difference between these two switch choices.", + "\nMZ1.2 does not recognize any Loss Component, as in practice the Technical Margin at the Beginning of Period has the same sign as at the End of Period (both negative).", "\n", - "\nIn this case the **One switch** logic does not show any switch as both opening and closing figures are assets. The New Business contributions are then forced on the CSM side of this report with a negative sign to reflect the fact that they are decreasing the asset. ", + "\nIn this case the **single switch** (MZ 1.2) logic does not show any switch as both opening and closing figures are negative. The New Business contributions are then forced on the CSM side of this report with a negative sign to reflect the fact that they are decreasing the value. ", "\n", - "\nContrarily, the **Many switches** approach allows the New Business to be recognized in the Loss component. This generates a discrepancy between the In Force (asset allocated to the CSM) and New Business (Liability allocated to the Loss Component). This is resolved in the Combined section of the report where both In Force and New Business figures are considered. The Combined Liability AoC Step takes care of adding the two contributions together cancelling the Liability contributions and allocating the equivalent amount to the CSM. " + "\nContrarily, the **multiple switches** (MZ 1.1) approach allows the New Business to be recognized in the Loss Component (as mentioned above, because we consider the novelties independently). This generates a discrepancy between the In Force (Asset-like allocated to the CSM) and New Business (Liability-like allocated to the Loss Component).", + "\nThis is resolved in the Combined section of the report where both In Force and New Business figures are considered together.", + "\nThe Combined Liability AoC Step takes care of adding the two contributions, releasing the Liability-like contributions and allocating the equivalent amount to the CSM. " ], "metadata": {}, "execution_count": 0, @@ -210,10 +220,12 @@ "cell_type": "markdown", "source": [ "# LRC Actuarial", + "\nIn the LRC Balance Sheet view, the two approaches show the same Beginning of Period and End of Period (as expected) and can only be distinguished by looking at the AoC chains in detail, where indeed they behave differently.", "\n", - "\nThe [Actuarial Liability for Remaining Coverage](https://portal.systemorph.cloud/project/ifrs17/env/v1.0.0/Report/ReportScopes#lrc-actuarial-actuarial-liability-for-remaining-coverage) report shows figures from Fulfilment Cash flow discounted with current yield curve, and the allocated techinical margin. ", + "\nBy slicing in the data by EstimateType (i.e. the individual contributions to the LRC), we notice that the New Business section of the CSM of MZ1.1 is completely missing (as it is allocated to the LC).", + "\nHowever, the Combined Liability AoC Step (effectively a balancing item) in the CSM of MZ1.1 brings the New Business contribution back to the CSM, netting the effect and restoring the overall closing balance.", "\n", - "\nIn the Balance Sheet view the two approaches can be distinguished only by slicing in the data by EstimateType and noticing that New Business section of the CSM for MZ1.1 is completely missing (as it is allocated to the LC). Note that the same closing balance is reached in both cases as the Combined Liability AoC Step in the CSM for MZ1.1 brings the New Business contribution to the CSM. " + "\nIn MZ1.2, since we have never allocated any LC, the New Business contributions appear as negative CSM (as seen in the corresponding report above) and should cancel the FCF for equivalent AoC Steps. Moreover, the Combined Liability AoC Step should be zero, as there is nothing to balance." ], "metadata": {}, "execution_count": 0, @@ -238,23 +250,22 @@ "source": [ "# Financial Performance", "\n", - "\nThe [Financial Performance](https://portal.systemorph.cloud/project/ifrs17/env/v1.0.0/Report/ReportScopes#ifrs-17-financial-performance) report discloses the Change in Estimate of the IFRS 17 balance sheet items ([LRC](#lrc) and [LIC](#lic)) and the relevant incurred cash flows (Premiums, Claims, Expenses, etc...) for the given period.", - "\n", "\nAs expected, the *Total comprehensive Income* is the same in both scenarios. ", - "\n
One observes differences in the *Insurance Sevice Result* (ISE) and *Insurance Finance income/Expense* (IFIE) sections of 0.0326 and -0.0326 respectively. These differences cancel out to produce the same value for *Profit and Loss*. The *Other Comprehensive Income* section reports the same figure in both scenarios. ", + "\n
One observes differences in the *Insurance Sevice Result* (ISE) and *Insurance Finance income/Expense* (IFIE) sections. These differences cancel out to produce the same value for *Profit and Loss*. The *Other Comprehensive Income* section reports the same figure in both scenarios. ", "\n", "\nDrilling down into the data granularity one can realize the source of the above mentioned differences. ", "\n
Let's start from the IFIE contribution (Financial contributions): ", - "\n- MZ1.1 esplicitly recognizes a contribution to loss: -0.0163 this is the interest accretion on the liability side of the techinical margin. Contrarily, MZ1.2 does not recognizes any loss. ", - "\n- MZ1.1 reports a bigger figure for CSM than MZ1.2 this is because in MZ1.2 the interest on the asset and on the liability are both allocated to CSM and reported here as summed up (they carry opposite sign - check [CSM report](#contractual-service-margin-loss-component-loss-recovery-component)).", + "\n- MZ1.1 esplicitly recognizes a contribution to Loss Component: this is the interest accretion on the Liability side of the Techinical Margin. Contrarily, MZ1.2 does not recognizes any Loss Component. ", + "\n- MZ1.1 reports a bigger figure for CSM than MZ1.2: this is because in MZ1.2 the interest on the Asset and on the Liability are both allocated to CSM and reported here as summed up (they carry opposite sign - check the CSM/LC report above).", "\n", - "\nContinuing with the ISE contribution, one sees that both *Insurance Revenue* and *Insurance service Expense* carries a difference of 0.0163 between the two scenarios. ", - "\n- The difference in *Insurance service Expense* is due to having explicitly allocated the New Business of the TM to Loss Component. In this item the financial step (such as IA) is excluded. Thus, because overall the Loss amount to 0 the net effect of summing all the movements but IA result in $-$IA. This term cancels out the LC contribution reported in the Financial section. ", - "\n- The difference in *Insurance Revenue* is produced by the CSM contribution to the *Non Financial LRC changes*. The MZ1.1 Group of Insurance Contract includes here the Combined Liability AoC Step which includes the contribution of the IA computed on the New Business (Liability).", + "\nContinuing with the ISE contribution, one sees that both *Insurance Revenue* and *Insurance service Expense* carries a difference between the two scenarios. ", + "\n- The difference in *Insurance service Expense* is due to having explicitly allocated the New Business of the Techinical Margin to Loss Component. In this item the financial step (such as Interest Accretion (IA)) is excluded. Thus, because overall the Loss amounts to 0, the net effect of summing all the movements except IA result in $-$IA. This term cancels out the LC contribution reported in the Financial section. ", + "\n- The difference in *Insurance Revenue* is produced by the CSM contribution to the *Non Financial LRC changes*. The MZ1.1 GIC includes here the Combined Liability AoC Step which takes into account the contribution of the IA computed on the New Business (Liability-like).", "\n", + "\nIt is worth to mention that our choice of splitting between financial and non-financial contributions for all figures reported in the Financial Performance creates additional items (rows) that cancel out when aggregated. While for some it might be confusing and counter intuitive, for others this adds transparency. ", + "\nWe acknowledge that without this split for the Loss Component part, the Financial Performance would not report such items, producing the same final figures without explicit showing any Loss Component contribution.", "\n", - "\nWorth to mention is how the choice of splitting between financial and non-financial contribution all figures reported in the Financial Performance makes explicit many contributions which finally cancel out but contribute to a trasparent report. ", - "\n
We recognize that without this split on the Loss Component part the financial performance would not report any contribution to Loss. Just by splitting the CSM in financial and non-financial contributions would produce the same final figure without explicit reporting of the liability. " + "\nWe also point out that many KPIs can be defined based on some of these figures (CSM and/or LC), and although the Financial Performance in the end is the same, some of these KPIs might look significantly different." ], "metadata": {}, "execution_count": 0, From b2ad4da94160fb40df95ab0427ea7fb7bf016e4e Mon Sep 17 00:00:00 2001 From: Daniel Trzesniak Date: Thu, 22 Dec 2022 09:08:16 +0100 Subject: [PATCH 36/37] typo --- .../CsmSwitchReports.ipynb | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/ifrs17-template/PracticalUseCases/SingleVsMultipleCsmSwitch/CsmSwitchReports.ipynb b/ifrs17-template/PracticalUseCases/SingleVsMultipleCsmSwitch/CsmSwitchReports.ipynb index 48f424ed..d570764a 100644 --- a/ifrs17-template/PracticalUseCases/SingleVsMultipleCsmSwitch/CsmSwitchReports.ipynb +++ b/ifrs17-template/PracticalUseCases/SingleVsMultipleCsmSwitch/CsmSwitchReports.ipynb @@ -190,7 +190,7 @@ "\n- **MZ 1.2 Single Switch**: it is calculated with a switch logic (**single switch**) that shows only one switch when the number of total switches is odd (last relevant switch), none otherwise. ", "\n", "\nBecause only the New Business figures drive the Technical Margin to the Liability side, one can immediately realize the main difference between these two switch choices.", - "\nMZ1.2 does not recognize any Loss Component, as in practice the Technical Margin at the Beginning of Period has the same sign as at the End of Period (both negative).", + "\nMZ 1.2 does not recognize any Loss Component, as in practice the Technical Margin at the Beginning of Period has the same sign as at the End of Period (both negative).", "\n", "\nIn this case the **single switch** (MZ 1.2) logic does not show any switch as both opening and closing figures are negative. The New Business contributions are then forced on the CSM side of this report with a negative sign to reflect the fact that they are decreasing the value. ", "\n", @@ -222,10 +222,10 @@ "# LRC Actuarial", "\nIn the LRC Balance Sheet view, the two approaches show the same Beginning of Period and End of Period (as expected) and can only be distinguished by looking at the AoC chains in detail, where indeed they behave differently.", "\n", - "\nBy slicing in the data by EstimateType (i.e. the individual contributions to the LRC), we notice that the New Business section of the CSM of MZ1.1 is completely missing (as it is allocated to the LC).", - "\nHowever, the Combined Liability AoC Step (effectively a balancing item) in the CSM of MZ1.1 brings the New Business contribution back to the CSM, netting the effect and restoring the overall closing balance.", + "\nBy slicing in the data by EstimateType (i.e. the individual contributions to the LRC), we notice that the New Business section of the CSM of MZ 1.1 is completely missing (as it is allocated to the LC).", + "\nHowever, the Combined Liability AoC Step (effectively a balancing item) in the CSM of MZ 1.1 brings the New Business contribution back to the CSM, netting the effect and restoring the overall closing balance.", "\n", - "\nIn MZ1.2, since we have never allocated any LC, the New Business contributions appear as negative CSM (as seen in the corresponding report above) and should cancel the FCF for equivalent AoC Steps. Moreover, the Combined Liability AoC Step should be zero, as there is nothing to balance." + "\nIn MZ 1.2, since we have never allocated any LC, the New Business contributions appear as negative CSM (as seen in the corresponding report above) and should cancel the FCF for equivalent AoC Steps. Moreover, the Combined Liability AoC Step should be zero, as there is nothing to balance." ], "metadata": {}, "execution_count": 0, @@ -255,12 +255,12 @@ "\n", "\nDrilling down into the data granularity one can realize the source of the above mentioned differences. ", "\n
Let's start from the IFIE contribution (Financial contributions): ", - "\n- MZ1.1 esplicitly recognizes a contribution to Loss Component: this is the interest accretion on the Liability side of the Techinical Margin. Contrarily, MZ1.2 does not recognizes any Loss Component. ", - "\n- MZ1.1 reports a bigger figure for CSM than MZ1.2: this is because in MZ1.2 the interest on the Asset and on the Liability are both allocated to CSM and reported here as summed up (they carry opposite sign - check the CSM/LC report above).", + "\n- MZ 1.1 explicitly recognizes a contribution to Loss Component: this is the interest accretion on the Liability side of the Techinical Margin. Contrarily, MZ 1.2 does not recognizes any Loss Component. ", + "\n- MZ 1.1 reports a bigger figure for CSM than MZ 1.2: this is because in MZ 1.2 the interest on the Asset and on the Liability are both allocated to CSM and reported here as summed up (they carry opposite sign - check the CSM/LC report above).", "\n", "\nContinuing with the ISE contribution, one sees that both *Insurance Revenue* and *Insurance service Expense* carries a difference between the two scenarios. ", "\n- The difference in *Insurance service Expense* is due to having explicitly allocated the New Business of the Techinical Margin to Loss Component. In this item the financial step (such as Interest Accretion (IA)) is excluded. Thus, because overall the Loss amounts to 0, the net effect of summing all the movements except IA result in $-$IA. This term cancels out the LC contribution reported in the Financial section. ", - "\n- The difference in *Insurance Revenue* is produced by the CSM contribution to the *Non Financial LRC changes*. The MZ1.1 GIC includes here the Combined Liability AoC Step which takes into account the contribution of the IA computed on the New Business (Liability-like).", + "\n- The difference in *Insurance Revenue* is produced by the CSM contribution to the *Non Financial LRC changes*. The MZ 1.1 GIC includes here the Combined Liability AoC Step which takes into account the contribution of the IA computed on the New Business (Liability-like).", "\n", "\nIt is worth to mention that our choice of splitting between financial and non-financial contributions for all figures reported in the Financial Performance creates additional items (rows) that cancel out when aggregated. While for some it might be confusing and counter intuitive, for others this adds transparency. ", "\nWe acknowledge that without this split for the Loss Component part, the Financial Performance would not report such items, producing the same final figures without explicit showing any Loss Component contribution.", From 7a9e22740aa62a9783dd116611c639b1a6177397 Mon Sep 17 00:00:00 2001 From: Daniel Trzesniak Date: Thu, 22 Dec 2022 09:20:11 +0100 Subject: [PATCH 37/37] Better systemName --- ifrs17-template/Files/Dimensions.csv | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ifrs17-template/Files/Dimensions.csv b/ifrs17-template/Files/Dimensions.csv index 07607cab..85a30f1d 100644 --- a/ifrs17-template/Files/Dimensions.csv +++ b/ifrs17-template/Files/Dimensions.csv @@ -102,7 +102,7 @@ HKD,Hong Kong Dollar,,,,,,,,,, ITL,Italian Lira,,,,,,,,,, PLN,Polish Zloty,,,,,,,,,, SKK,Slovakian Krona,,,,,,,,,, -XTSHY,Testing High Yields,,,,,,,,,, +XTSHY,Testing Currency (High Yields),,,,,,,,,, ,,,,,,,,,,, @@EconomicBasis,,,,,,,,,,, SystemName,DisplayName,Order,,,,,,,,,