diff --git a/ifrs17-template/Files/Dimensions.csv b/ifrs17-template/Files/Dimensions.csv index 85a30f1d..1ffddd9c 100644 --- a/ifrs17-template/Files/Dimensions.csv +++ b/ifrs17-template/Files/Dimensions.csv @@ -5,6 +5,7 @@ CL,Claims,,20,EndOfPeriod,,,,,,, NIC,Non Investment Component,CL,30,EndOfPeriod,,,,,,, ICO,Investment Component,CL,40,EndOfPeriod,,,,,,, CDR,Credit Default Risk,CL,50,EndOfPeriod,,,,,,, +CDRI,Initial Credit Default Risk,CDR,60,EndOfPeriod,,,,,,, CE,Claim Expenses,CL,200,EndOfPeriod,,,,,,, ALE,Allocated Loss Adjustment Expenses,CE,210,EndOfPeriod,,,,,,, ULE,Unallocated Loss Adjustment Expenses,CE,220,EndOfPeriod,,,,,,, diff --git a/ifrs17-template/Report/ParameterReports.ipynb b/ifrs17-template/Report/ParameterReports.ipynb index 9154351b..0290b5ad 100644 --- a/ifrs17-template/Report/ParameterReports.ipynb +++ b/ifrs17-template/Report/ParameterReports.ipynb @@ -156,7 +156,7 @@ { "cell_type": "code", "source": [ - "var partnerRatings = await Workspace.GetPartnerRatingsReportParametersAsync(args);" + "var currentPartnerRatings = await Workspace.GetCurrentPartnerRatingsReportParametersAsync(args);" ], "metadata": {}, "execution_count": 0, @@ -165,7 +165,25 @@ { "cell_type": "code", "source": [ - "var partnerDefaultRates = await Workspace.GetCreditDefaultRatesReportParametersAsync(args);" + "var lockedPartnerRatings = await Workspace.GetLockedInPartnerRatingsReportParametersAsync(args);" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "var currentPartnerDefaultRates = await Workspace.GetCurrentCreditDefaultRatesReportParametersAsync(args);" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "var lockedPartnerDefaultRates = await Workspace.GetLockedInCreditDefaultRatesReportParametersAsync(args);" ], "metadata": {}, "execution_count": 0, @@ -314,7 +332,7 @@ { "cell_type": "code", "source": [ - "await Report.ForObjects(partnerRatings)", + "await Report.ForObjects(currentPartnerRatings)", "\n .WithQuerySource(Workspace)", "\n .GroupRowsBy(x => x.Partner)", "\n .GroupColumnsBy(x => x.Period)", @@ -325,6 +343,29 @@ "execution_count": 0, "outputs": [] }, + { + "cell_type": "markdown", + "source": [ + "Locked in [partner ratings](https://portal.systemorph.cloud/project/ifrs17/env/v1.3.0/DataModel/DataStructure#partner-rating)." + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "await Report.ForObjects(lockedPartnerRatings)", + "\n .WithQuerySource(Workspace)", + "\n .GroupRowsBy(x => x.Partner)", + "\n .GroupColumnsBy(x => x.PartnerRatingType).GroupColumnsBy(x => \"Initial Year: \" + x.InitialYear.ToString())", + "\n .ToTable()", + "\n .ExecuteAsync()" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, { "cell_type": "markdown", "source": [ @@ -338,7 +379,7 @@ { "cell_type": "code", "source": [ - "await Report.ForObjects(partnerDefaultRates)", + "await Report.ForObjects(currentPartnerDefaultRates)", "\n .WithQuerySource(Workspace)", "\n .GroupRowsBy(x => x.CreditRiskRating)", "\n .GroupColumnsBy(x => x.Period)", @@ -348,6 +389,29 @@ "metadata": {}, "execution_count": 0, "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "Locked in [partner default rates](https://portal.systemorph.cloud/project/ifrs17/env/v1.3.0/DataModel/DataStructure#credit-default-rate)." + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "await Report.ForObjects(lockedPartnerDefaultRates)", + "\n .WithQuerySource(Workspace)", + "\n .GroupRowsBy(x => x.CreditRiskRating)", + "\n .GroupColumnsBy(x => x.CreditDefaultRatesType).GroupColumnsBy(x => \"Initial Year: \" + x.InitialYear)", + "\n .ToTable()", + "\n .ExecuteAsync()" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] } ] } \ No newline at end of file diff --git a/ifrs17-template/Test/Data/IfrsVariableBenchmarks/BM_CH_2020_12_MTUP10pct_BE.csv b/ifrs17-template/Test/Data/IfrsVariableBenchmarks/BM_CH_2020_12_MTUP10pct_BE.csv index a8a477dd..4c962e34 100644 --- a/ifrs17-template/Test/Data/IfrsVariableBenchmarks/BM_CH_2020_12_MTUP10pct_BE.csv +++ b/ifrs17-template/Test/Data/IfrsVariableBenchmarks/BM_CH_2020_12_MTUP10pct_BE.csv @@ -28,6 +28,9 @@ AccidentYear,AmountType,AocType,DataNode,EconomicBasis,EstimateType,Novelty,Valu ,CDR,EOP,DTR1.1,C,BE,C,0.01057 ,CDR,BOP,DTR1.1,C,BE,N,0.04415 ,CDR,CF,DTR1.1,C,BE,N,-0.03368 +,CDRI,EOP,DTR1.1,C,BE,C,0.01057 +,CDRI,BOP,DTR1.1,C,BE,N,0.04415 +,CDRI,CF,DTR1.1,C,BE,N,-0.03368 ,NIC,EOP,DTR1.1,C,BE,C,-164.82155 ,NIC,BOP,DTR1.1,C,BE,N,-329.31412 ,NIC,CF,DTR1.1,C,BE,N,165 @@ -35,6 +38,9 @@ AccidentYear,AmountType,AocType,DataNode,EconomicBasis,EstimateType,Novelty,Valu ,CDR,EOP,DTR1.1,L,BE,C,0.01057 ,CDR,BOP,DTR1.1,L,BE,N,0.04415 ,CDR,CF,DTR1.1,L,BE,N,-0.03368 +,CDRI,EOP,DTR1.1,L,BE,C,0.01057 +,CDRI,BOP,DTR1.1,L,BE,N,0.04415 +,CDRI,CF,DTR1.1,L,BE,N,-0.03368 ,NIC,EOP,DTR1.1,L,BE,C,-164.82155 ,NIC,BOP,DTR1.1,L,BE,N,-329.31412 ,NIC,CF,DTR1.1,L,BE,N,165 @@ -42,6 +48,9 @@ AccidentYear,AmountType,AocType,DataNode,EconomicBasis,EstimateType,Novelty,Valu ,CDR,EOP,DTR1.1,N,BE,C,0.01059 ,CDR,BOP,DTR1.1,N,BE,N,0.04427 ,CDR,CF,DTR1.1,N,BE,N,-0.03368 +,CDRI,EOP,DTR1.1,N,BE,C,0.01059 +,CDRI,BOP,DTR1.1,N,BE,N,0.04427 +,CDRI,CF,DTR1.1,N,BE,N,-0.03368 ,NIC,EOP,DTR1.1,N,BE,C,-165 ,NIC,BOP,DTR1.1,N,BE,N,-330 ,NIC,CF,DTR1.1,N,BE,N,165 diff --git a/ifrs17-template/Test/Data/IfrsVariableBenchmarks/BM_CH_2020_12__BE.csv b/ifrs17-template/Test/Data/IfrsVariableBenchmarks/BM_CH_2020_12__BE.csv index 3f42dadd..bb27e5a3 100644 --- a/ifrs17-template/Test/Data/IfrsVariableBenchmarks/BM_CH_2020_12__BE.csv +++ b/ifrs17-template/Test/Data/IfrsVariableBenchmarks/BM_CH_2020_12__BE.csv @@ -199,6 +199,10 @@ AccidentYear,AmountType,AocType,DataNode,EconomicBasis,EstimateType,Novelty,Valu ,CDR,BOP,DTR1.1,C,BE,N,0.04013 ,CDR,CF,DTR1.1,C,BE,N,-0.03062 ,CDR,IA,DTR1.1,C,BE,N,0.0001 +,CDRI,EOP,DTR1.1,C,BE,C,0.00961 +,CDRI,BOP,DTR1.1,C,BE,N,0.04013 +,CDRI,CF,DTR1.1,C,BE,N,-0.03062 +,CDRI,IA,DTR1.1,C,BE,N,0.0001 ,NIC,EOP,DTR1.1,C,BE,C,-149.83777 ,NIC,BOP,DTR1.1,C,BE,N,-299.37647 ,NIC,CF,DTR1.1,C,BE,N,150 @@ -211,6 +215,10 @@ AccidentYear,AmountType,AocType,DataNode,EconomicBasis,EstimateType,Novelty,Valu ,CDR,BOP,DTR1.1,L,BE,N,0.04013 ,CDR,CF,DTR1.1,L,BE,N,-0.03062 ,CDR,IA,DTR1.1,L,BE,N,0.0001 +,CDRI,EOP,DTR1.1,L,BE,C,0.00961 +,CDRI,BOP,DTR1.1,L,BE,N,0.04013 +,CDRI,CF,DTR1.1,L,BE,N,-0.03062 +,CDRI,IA,DTR1.1,L,BE,N,0.0001 ,NIC,EOP,DTR1.1,L,BE,C,-149.83777 ,NIC,BOP,DTR1.1,L,BE,N,-299.37647 ,NIC,CF,DTR1.1,L,BE,N,150 @@ -222,6 +230,9 @@ AccidentYear,AmountType,AocType,DataNode,EconomicBasis,EstimateType,Novelty,Valu ,CDR,EOP,DTR1.1,N,BE,C,0.00962 ,CDR,BOP,DTR1.1,N,BE,N,0.04024 ,CDR,CF,DTR1.1,N,BE,N,-0.03062 +,CDRI,EOP,DTR1.1,N,BE,C,0.00962 +,CDRI,BOP,DTR1.1,N,BE,N,0.04024 +,CDRI,CF,DTR1.1,N,BE,N,-0.03062 ,NIC,EOP,DTR1.1,N,BE,C,-150 ,NIC,BOP,DTR1.1,N,BE,N,-300 ,NIC,CF,DTR1.1,N,BE,N,150 @@ -254,6 +265,10 @@ AccidentYear,AmountType,AocType,DataNode,EconomicBasis,EstimateType,Novelty,Valu ,CDR,BOP,DTR1.3,C,BE,N,0.04013 ,CDR,CF,DTR1.3,C,BE,N,-0.03062 ,CDR,IA,DTR1.3,C,BE,N,0.0001 +,CDRI,EOP,DTR1.3,C,BE,C,0.00961 +,CDRI,BOP,DTR1.3,C,BE,N,0.04013 +,CDRI,CF,DTR1.3,C,BE,N,-0.03062 +,CDRI,IA,DTR1.3,C,BE,N,0.0001 ,NIC,EOP,DTR1.3,C,BE,C,-149.83777 ,NIC,BOP,DTR1.3,C,BE,N,-299.37647 ,NIC,CF,DTR1.3,C,BE,N,150 @@ -266,6 +281,10 @@ AccidentYear,AmountType,AocType,DataNode,EconomicBasis,EstimateType,Novelty,Valu ,CDR,BOP,DTR1.3,L,BE,N,0.04013 ,CDR,CF,DTR1.3,L,BE,N,-0.03062 ,CDR,IA,DTR1.3,L,BE,N,0.0001 +,CDRI,EOP,DTR1.3,L,BE,C,0.00961 +,CDRI,BOP,DTR1.3,L,BE,N,0.04013 +,CDRI,CF,DTR1.3,L,BE,N,-0.03062 +,CDRI,IA,DTR1.3,L,BE,N,0.0001 ,NIC,EOP,DTR1.3,L,BE,C,-149.83777 ,NIC,BOP,DTR1.3,L,BE,N,-299.37647 ,NIC,CF,DTR1.3,L,BE,N,150 @@ -277,6 +296,9 @@ AccidentYear,AmountType,AocType,DataNode,EconomicBasis,EstimateType,Novelty,Valu ,CDR,EOP,DTR1.3,N,BE,C,0.00962 ,CDR,BOP,DTR1.3,N,BE,N,0.04024 ,CDR,CF,DTR1.3,N,BE,N,-0.03062 +,CDRI,EOP,DTR1.3,N,BE,C,0.00962 +,CDRI,BOP,DTR1.3,N,BE,N,0.04024 +,CDRI,CF,DTR1.3,N,BE,N,-0.03062 ,NIC,EOP,DTR1.3,N,BE,C,-150 ,NIC,BOP,DTR1.3,N,BE,N,-300 ,NIC,CF,DTR1.3,N,BE,N,150 @@ -287,6 +309,10 @@ AccidentYear,AmountType,AocType,DataNode,EconomicBasis,EstimateType,Novelty,Valu ,CDR,BOP,DTR1.4,C,BE,N,0.04013 ,CDR,CF,DTR1.4,C,BE,N,-0.03062 ,CDR,IA,DTR1.4,C,BE,N,0.0001 +,CDRI,EOP,DTR1.4,C,BE,C,0.00961 +,CDRI,BOP,DTR1.4,C,BE,N,0.04013 +,CDRI,CF,DTR1.4,C,BE,N,-0.03062 +,CDRI,IA,DTR1.4,C,BE,N,0.0001 ,NIC,EOP,DTR1.4,C,BE,C,-149.83777 ,NIC,BOP,DTR1.4,C,BE,N,-299.37647 ,NIC,CF,DTR1.4,C,BE,N,150 @@ -299,6 +325,10 @@ AccidentYear,AmountType,AocType,DataNode,EconomicBasis,EstimateType,Novelty,Valu ,CDR,BOP,DTR1.4,L,BE,N,0.04013 ,CDR,CF,DTR1.4,L,BE,N,-0.03062 ,CDR,IA,DTR1.4,L,BE,N,0.0001 +,CDRI,EOP,DTR1.4,L,BE,C,0.00961 +,CDRI,BOP,DTR1.4,L,BE,N,0.04013 +,CDRI,CF,DTR1.4,L,BE,N,-0.03062 +,CDRI,IA,DTR1.4,L,BE,N,0.0001 ,NIC,EOP,DTR1.4,L,BE,C,-149.83777 ,NIC,BOP,DTR1.4,L,BE,N,-299.37647 ,NIC,CF,DTR1.4,L,BE,N,150 @@ -310,6 +340,9 @@ AccidentYear,AmountType,AocType,DataNode,EconomicBasis,EstimateType,Novelty,Valu ,CDR,EOP,DTR1.4,N,BE,C,0.00962 ,CDR,BOP,DTR1.4,N,BE,N,0.04024 ,CDR,CF,DTR1.4,N,BE,N,-0.03062 +,CDRI,EOP,DTR1.4,N,BE,C,0.00962 +,CDRI,BOP,DTR1.4,N,BE,N,0.04024 +,CDRI,CF,DTR1.4,N,BE,N,-0.03062 ,NIC,EOP,DTR1.4,N,BE,C,-150 ,NIC,BOP,DTR1.4,N,BE,N,-300 ,NIC,CF,DTR1.4,N,BE,N,150 @@ -320,6 +353,10 @@ AccidentYear,AmountType,AocType,DataNode,EconomicBasis,EstimateType,Novelty,Valu ,CDR,BOP,DTR2.1,C,BE,N,0.04013 ,CDR,CF,DTR2.1,C,BE,N,-0.03062 ,CDR,IA,DTR2.1,C,BE,N,0.0001 +,CDRI,EOP,DTR2.1,C,BE,C,0.00961 +,CDRI,BOP,DTR2.1,C,BE,N,0.04013 +,CDRI,CF,DTR2.1,C,BE,N,-0.03062 +,CDRI,IA,DTR2.1,C,BE,N,0.0001 ,NIC,EOP,DTR2.1,C,BE,C,-149.83777 ,NIC,BOP,DTR2.1,C,BE,N,-299.37647 ,NIC,CF,DTR2.1,C,BE,N,150 @@ -332,6 +369,10 @@ AccidentYear,AmountType,AocType,DataNode,EconomicBasis,EstimateType,Novelty,Valu ,CDR,BOP,DTR2.1,L,BE,N,0.04013 ,CDR,CF,DTR2.1,L,BE,N,-0.03062 ,CDR,IA,DTR2.1,L,BE,N,0.0001 +,CDRI,EOP,DTR2.1,L,BE,C,0.00961 +,CDRI,BOP,DTR2.1,L,BE,N,0.04013 +,CDRI,CF,DTR2.1,L,BE,N,-0.03062 +,CDRI,IA,DTR2.1,L,BE,N,0.0001 ,NIC,EOP,DTR2.1,L,BE,C,-149.83777 ,NIC,BOP,DTR2.1,L,BE,N,-299.37647 ,NIC,CF,DTR2.1,L,BE,N,150 @@ -343,6 +384,9 @@ AccidentYear,AmountType,AocType,DataNode,EconomicBasis,EstimateType,Novelty,Valu ,CDR,EOP,DTR2.1,N,BE,C,0.00962 ,CDR,BOP,DTR2.1,N,BE,N,0.04024 ,CDR,CF,DTR2.1,N,BE,N,-0.03062 +,CDRI,EOP,DTR2.1,N,BE,C,0.00962 +,CDRI,BOP,DTR2.1,N,BE,N,0.04024 +,CDRI,CF,DTR2.1,N,BE,N,-0.03062 ,NIC,EOP,DTR2.1,N,BE,C,-150 ,NIC,BOP,DTR2.1,N,BE,N,-300 ,NIC,CF,DTR2.1,N,BE,N,150 diff --git a/ifrs17-template/Test/Data/IfrsVariableBenchmarks/BM_CH_2021_3__BE.csv b/ifrs17-template/Test/Data/IfrsVariableBenchmarks/BM_CH_2021_3__BE.csv index e4a75992..282e2e75 100644 --- a/ifrs17-template/Test/Data/IfrsVariableBenchmarks/BM_CH_2021_3__BE.csv +++ b/ifrs17-template/Test/Data/IfrsVariableBenchmarks/BM_CH_2021_3__BE.csv @@ -505,6 +505,13 @@ AccidentYear,AmountType,AocType,DataNode,EconomicBasis,EstimateType,Novelty,Valu ,CDR,CF,DTR1.1,C,BE,N,-0.01123 ,CDR,EV,DTR1.1,C,BE,N,0.01344 ,CDR,IA,DTR1.1,C,BE,N,5E-05 +,CDRI,EOP,DTR1.1,C,BE,C,0.00628 +,CDRI,BOP,DTR1.1,C,BE,I,0.00961 +,CDRI,CF,DTR1.1,C,BE,I,-0.0035 +,CDRI,MC,DTR1.1,C,BE,I,-0.00192 +,CDRI,BOP,DTR1.1,C,BE,N,0.00192 +,CDRI,CF,DTR1.1,C,BE,N,-0.00087 +,CDRI,EV,DTR1.1,C,BE,N,0.00105 ,NIC,EOP,DTR1.1,C,BE,C,-134.71982 ,NIC,BOP,DTR1.1,C,BE,I,-149.83777 ,NIC,CF,DTR1.1,C,BE,I,30 @@ -534,6 +541,13 @@ AccidentYear,AmountType,AocType,DataNode,EconomicBasis,EstimateType,Novelty,Valu ,CDR,CF,DTR1.1,L,BE,N,-0.01123 ,CDR,EV,DTR1.1,L,BE,N,0.01346 ,CDR,IA,DTR1.1,L,BE,N,2E-05 +,CDRI,EOP,DTR1.1,L,BE,C,0.00629 +,CDRI,BOP,DTR1.1,L,BE,I,0.00961 +,CDRI,CF,DTR1.1,L,BE,I,-0.0035 +,CDRI,MC,DTR1.1,L,BE,I,-0.00192 +,CDRI,BOP,DTR1.1,L,BE,N,0.00192 +,CDRI,CF,DTR1.1,L,BE,N,-0.00087 +,CDRI,EV,DTR1.1,L,BE,N,0.00105 ,NIC,EOP,DTR1.1,L,BE,C,-134.88767 ,NIC,BOP,DTR1.1,L,BE,I,-149.83777 ,NIC,CF,DTR1.1,L,BE,I,30 @@ -560,6 +574,13 @@ AccidentYear,AmountType,AocType,DataNode,EconomicBasis,EstimateType,Novelty,Valu ,CDR,BOP,DTR1.1,N,BE,N,0.0247 ,CDR,CF,DTR1.1,N,BE,N,-0.01123 ,CDR,EV,DTR1.1,N,BE,N,0.01348 +,CDRI,EOP,DTR1.1,N,BE,C,0.0063 +,CDRI,BOP,DTR1.1,N,BE,I,0.00962 +,CDRI,CF,DTR1.1,N,BE,I,-0.0035 +,CDRI,MC,DTR1.1,N,BE,I,-0.00192 +,CDRI,BOP,DTR1.1,N,BE,N,0.00192 +,CDRI,CF,DTR1.1,N,BE,N,-0.00087 +,CDRI,EV,DTR1.1,N,BE,N,0.00105 ,NIC,EOP,DTR1.1,N,BE,C,-135 ,NIC,BOP,DTR1.1,N,BE,I,-150 ,NIC,CF,DTR1.1,N,BE,I,30 @@ -635,6 +656,13 @@ AccidentYear,AmountType,AocType,DataNode,EconomicBasis,EstimateType,Novelty,Valu ,CDR,CF,DTR1.3,C,BE,N,-0.01123 ,CDR,EV,DTR1.3,C,BE,N,0.01344 ,CDR,IA,DTR1.3,C,BE,N,5E-05 +,CDRI,EOP,DTR1.3,C,BE,C,0.00628 +,CDRI,BOP,DTR1.3,C,BE,I,0.00961 +,CDRI,CF,DTR1.3,C,BE,I,-0.0035 +,CDRI,MC,DTR1.3,C,BE,I,-0.00192 +,CDRI,BOP,DTR1.3,C,BE,N,0.00192 +,CDRI,CF,DTR1.3,C,BE,N,-0.00087 +,CDRI,EV,DTR1.3,C,BE,N,0.00105 ,NIC,EOP,DTR1.3,C,BE,C,-134.71982 ,NIC,BOP,DTR1.3,C,BE,I,-149.83777 ,NIC,CF,DTR1.3,C,BE,I,30 @@ -664,6 +692,13 @@ AccidentYear,AmountType,AocType,DataNode,EconomicBasis,EstimateType,Novelty,Valu ,CDR,CF,DTR1.3,L,BE,N,-0.01123 ,CDR,EV,DTR1.3,L,BE,N,0.01346 ,CDR,IA,DTR1.3,L,BE,N,2E-05 +,CDRI,EOP,DTR1.3,L,BE,C,0.00629 +,CDRI,BOP,DTR1.3,L,BE,I,0.00961 +,CDRI,CF,DTR1.3,L,BE,I,-0.0035 +,CDRI,MC,DTR1.3,L,BE,I,-0.00192 +,CDRI,BOP,DTR1.3,L,BE,N,0.00192 +,CDRI,CF,DTR1.3,L,BE,N,-0.00087 +,CDRI,EV,DTR1.3,L,BE,N,0.00105 ,NIC,EOP,DTR1.3,L,BE,C,-134.88767 ,NIC,BOP,DTR1.3,L,BE,I,-149.83777 ,NIC,CF,DTR1.3,L,BE,I,30 @@ -690,6 +725,13 @@ AccidentYear,AmountType,AocType,DataNode,EconomicBasis,EstimateType,Novelty,Valu ,CDR,BOP,DTR1.3,N,BE,N,0.0247 ,CDR,CF,DTR1.3,N,BE,N,-0.01123 ,CDR,EV,DTR1.3,N,BE,N,0.01348 +,CDRI,EOP,DTR1.3,N,BE,C,0.0063 +,CDRI,BOP,DTR1.3,N,BE,I,0.00962 +,CDRI,CF,DTR1.3,N,BE,I,-0.0035 +,CDRI,MC,DTR1.3,N,BE,I,-0.00192 +,CDRI,BOP,DTR1.3,N,BE,N,0.00192 +,CDRI,CF,DTR1.3,N,BE,N,-0.00087 +,CDRI,EV,DTR1.3,N,BE,N,0.00105 ,NIC,EOP,DTR1.3,N,BE,C,-135 ,NIC,BOP,DTR1.3,N,BE,I,-150 ,NIC,CF,DTR1.3,N,BE,I,30 @@ -713,6 +755,13 @@ AccidentYear,AmountType,AocType,DataNode,EconomicBasis,EstimateType,Novelty,Valu ,CDR,CF,DTR1.4,C,BE,N,-0.01123 ,CDR,EV,DTR1.4,C,BE,N,0.01344 ,CDR,IA,DTR1.4,C,BE,N,5E-05 +,CDRI,EOP,DTR1.4,C,BE,C,0.00628 +,CDRI,BOP,DTR1.4,C,BE,I,0.00961 +,CDRI,CF,DTR1.4,C,BE,I,-0.0035 +,CDRI,MC,DTR1.4,C,BE,I,-0.00192 +,CDRI,BOP,DTR1.4,C,BE,N,0.00192 +,CDRI,CF,DTR1.4,C,BE,N,-0.00087 +,CDRI,EV,DTR1.4,C,BE,N,0.00105 ,NIC,EOP,DTR1.4,C,BE,C,-134.71982 ,NIC,BOP,DTR1.4,C,BE,I,-149.83777 ,NIC,CF,DTR1.4,C,BE,I,30 @@ -742,6 +791,13 @@ AccidentYear,AmountType,AocType,DataNode,EconomicBasis,EstimateType,Novelty,Valu ,CDR,CF,DTR1.4,L,BE,N,-0.01123 ,CDR,EV,DTR1.4,L,BE,N,0.01346 ,CDR,IA,DTR1.4,L,BE,N,2E-05 +,CDRI,EOP,DTR1.4,L,BE,C,0.00629 +,CDRI,BOP,DTR1.4,L,BE,I,0.00961 +,CDRI,CF,DTR1.4,L,BE,I,-0.0035 +,CDRI,MC,DTR1.4,L,BE,I,-0.00192 +,CDRI,BOP,DTR1.4,L,BE,N,0.00192 +,CDRI,CF,DTR1.4,L,BE,N,-0.00087 +,CDRI,EV,DTR1.4,L,BE,N,0.00105 ,NIC,EOP,DTR1.4,L,BE,C,-134.88767 ,NIC,BOP,DTR1.4,L,BE,I,-149.83777 ,NIC,CF,DTR1.4,L,BE,I,30 @@ -768,6 +824,13 @@ AccidentYear,AmountType,AocType,DataNode,EconomicBasis,EstimateType,Novelty,Valu ,CDR,BOP,DTR1.4,N,BE,N,0.0247 ,CDR,CF,DTR1.4,N,BE,N,-0.01123 ,CDR,EV,DTR1.4,N,BE,N,0.01348 +,CDRI,EOP,DTR1.4,N,BE,C,0.0063 +,CDRI,BOP,DTR1.4,N,BE,I,0.00962 +,CDRI,CF,DTR1.4,N,BE,I,-0.0035 +,CDRI,MC,DTR1.4,N,BE,I,-0.00192 +,CDRI,BOP,DTR1.4,N,BE,N,0.00192 +,CDRI,CF,DTR1.4,N,BE,N,-0.00087 +,CDRI,EV,DTR1.4,N,BE,N,0.00105 ,NIC,EOP,DTR1.4,N,BE,C,-135 ,NIC,BOP,DTR1.4,N,BE,I,-150 ,NIC,CF,DTR1.4,N,BE,I,30 @@ -791,6 +854,13 @@ AccidentYear,AmountType,AocType,DataNode,EconomicBasis,EstimateType,Novelty,Valu ,CDR,CF,DTR2.1,C,BE,N,-0.01123 ,CDR,EV,DTR2.1,C,BE,N,0.01344 ,CDR,IA,DTR2.1,C,BE,N,5E-05 +,CDRI,EOP,DTR2.1,C,BE,C,0.00628 +,CDRI,BOP,DTR2.1,C,BE,I,0.00961 +,CDRI,CF,DTR2.1,C,BE,I,-0.0035 +,CDRI,MC,DTR2.1,C,BE,I,-0.00192 +,CDRI,BOP,DTR2.1,C,BE,N,0.00192 +,CDRI,CF,DTR2.1,C,BE,N,-0.00087 +,CDRI,EV,DTR2.1,C,BE,N,0.00105 ,NIC,EOP,DTR2.1,C,BE,C,-134.71982 ,NIC,BOP,DTR2.1,C,BE,I,-149.83777 ,NIC,CF,DTR2.1,C,BE,I,30 @@ -820,6 +890,13 @@ AccidentYear,AmountType,AocType,DataNode,EconomicBasis,EstimateType,Novelty,Valu ,CDR,CF,DTR2.1,L,BE,N,-0.01123 ,CDR,EV,DTR2.1,L,BE,N,0.01346 ,CDR,IA,DTR2.1,L,BE,N,2E-05 +,CDRI,EOP,DTR2.1,L,BE,C,0.00629 +,CDRI,BOP,DTR2.1,L,BE,I,0.00961 +,CDRI,CF,DTR2.1,L,BE,I,-0.0035 +,CDRI,MC,DTR2.1,L,BE,I,-0.00192 +,CDRI,BOP,DTR2.1,L,BE,N,0.00192 +,CDRI,CF,DTR2.1,L,BE,N,-0.00087 +,CDRI,EV,DTR2.1,L,BE,N,0.00105 ,NIC,EOP,DTR2.1,L,BE,C,-134.88767 ,NIC,BOP,DTR2.1,L,BE,I,-149.83777 ,NIC,CF,DTR2.1,L,BE,I,30 @@ -846,6 +923,13 @@ AccidentYear,AmountType,AocType,DataNode,EconomicBasis,EstimateType,Novelty,Valu ,CDR,BOP,DTR2.1,N,BE,N,0.0247 ,CDR,CF,DTR2.1,N,BE,N,-0.01123 ,CDR,EV,DTR2.1,N,BE,N,0.01348 +,CDRI,EOP,DTR2.1,N,BE,C,0.0063 +,CDRI,BOP,DTR2.1,N,BE,I,0.00962 +,CDRI,CF,DTR2.1,N,BE,I,-0.0035 +,CDRI,MC,DTR2.1,N,BE,I,-0.00192 +,CDRI,BOP,DTR2.1,N,BE,N,0.00192 +,CDRI,CF,DTR2.1,N,BE,N,-0.00087 +,CDRI,EV,DTR2.1,N,BE,N,0.00105 ,NIC,EOP,DTR2.1,N,BE,C,-135 ,NIC,BOP,DTR2.1,N,BE,I,-150 ,NIC,CF,DTR2.1,N,BE,I,30 diff --git a/ifrs17-template/Test/Data/IfrsVariableBenchmarks/BM_CH_2021_3__C.csv b/ifrs17-template/Test/Data/IfrsVariableBenchmarks/BM_CH_2021_3__C.csv index b4d9507b..5ae3fa58 100644 --- a/ifrs17-template/Test/Data/IfrsVariableBenchmarks/BM_CH_2021_3__C.csv +++ b/ifrs17-template/Test/Data/IfrsVariableBenchmarks/BM_CH_2021_3__C.csv @@ -52,31 +52,27 @@ AccidentYear,AmountType,AocType,DataNode,EconomicBasis,EstimateType,Novelty,Valu ,,BOP,DT4.1,,C,N,8.00465 ,,EV,DT4.1,,C,N,-1.49226 ,,IA,DT4.1,,C,N,0.00034 -,,AM,DTR1.1,,C,C,10.78121 -,,CL,DTR1.1,,C,C,43.67753 -,,EOP,DTR1.1,,C,C,-22.64964 +,,AM,DTR1.1,,C,C,10.75385 +,,CL,DTR1.1,,C,C,43.71271 +,,EOP,DTR1.1,,C,C,-22.59217 ,,BOP,DTR1.1,,C,I,-24.07616 -,,CRU,DTR1.1,,C,I,-0.04965 ,,IA,DTR1.1,,C,I,-0.03848 ,,MC,DTR1.1,,C,I,-52.94408 -,,AM,DTR1.3,,C,C,10.78121 -,,CL,DTR1.3,,C,C,43.67753 -,,EOP,DTR1.3,,C,C,-22.64964 +,,AM,DTR1.3,,C,C,10.75385 +,,CL,DTR1.3,,C,C,43.71271 +,,EOP,DTR1.3,,C,C,-22.59217 ,,BOP,DTR1.3,,C,I,-24.07616 -,,CRU,DTR1.3,,C,I,-0.04965 ,,IA,DTR1.3,,C,I,-0.03848 ,,MC,DTR1.3,,C,I,-52.94408 -,,AM,DTR1.4,,C,C,10.78121 -,,CL,DTR1.4,,C,C,43.67753 -,,EOP,DTR1.4,,C,C,-22.64964 +,,AM,DTR1.4,,C,C,10.75385 +,,CL,DTR1.4,,C,C,43.71271 +,,EOP,DTR1.4,,C,C,-22.59217 ,,BOP,DTR1.4,,C,I,-24.07616 -,,CRU,DTR1.4,,C,I,-0.04965 ,,IA,DTR1.4,,C,I,-0.03848 ,,MC,DTR1.4,,C,I,-52.94408 -,,AM,DTR2.1,,C,C,10.78121 -,,CL,DTR2.1,,C,C,43.67753 -,,EOP,DTR2.1,,C,C,-22.64964 +,,AM,DTR2.1,,C,C,10.75385 +,,CL,DTR2.1,,C,C,43.71271 +,,EOP,DTR2.1,,C,C,-22.59217 ,,BOP,DTR2.1,,C,I,-24.07616 -,,CRU,DTR2.1,,C,I,-0.04965 ,,IA,DTR2.1,,C,I,-0.03848 ,,MC,DTR2.1,,C,I,-52.94408 \ No newline at end of file diff --git a/ifrs17-template/Test/Data/IfrsVariableBenchmarks/BM_CH_2021_3__LR.csv b/ifrs17-template/Test/Data/IfrsVariableBenchmarks/BM_CH_2021_3__LR.csv index 96b9555c..8e0da436 100644 --- a/ifrs17-template/Test/Data/IfrsVariableBenchmarks/BM_CH_2021_3__LR.csv +++ b/ifrs17-template/Test/Data/IfrsVariableBenchmarks/BM_CH_2021_3__LR.csv @@ -3,19 +3,19 @@ Month,ReportingNode,Scenario,Year 3,CH,,2021 @@LR AccidentYear,AmountType,AocType,DataNode,EconomicBasis,EstimateType,Novelty,Values0 -,,CL,DTR1.1,,LR,C,43.67753 -,,BOP,DTR1.1,,LR,N,-15.9547 -,,EV,DTR1.1,,LR,N,-27.7147 -,,IA,DTR1.1,,LR,N,-0.00813 -,,CL,DTR1.3,,LR,C,43.67753 -,,BOP,DTR1.3,,LR,N,-15.9547 -,,EV,DTR1.3,,LR,N,-27.7147 -,,IA,DTR1.3,,LR,N,-0.00813 -,,CL,DTR1.4,,LR,C,43.67753 -,,BOP,DTR1.4,,LR,N,-15.9547 -,,EV,DTR1.4,,LR,N,-27.7147 -,,IA,DTR1.4,,LR,N,-0.00813 -,,CL,DTR2.1,,LR,C,43.67753 -,,BOP,DTR2.1,,LR,N,-15.9547 -,,EV,DTR2.1,,LR,N,-27.7147 -,,IA,DTR2.1,,LR,N,-0.00813 \ No newline at end of file +,,CL,DTR1.1,,LR,C,43.71271 +,,BOP,DTR1.1,,LR,N,-15.97745 +,,EV,DTR1.1,,LR,N,-27.72711 +,,IA,DTR1.1,,LR,N,-0.00815 +,,CL,DTR1.3,,LR,C,43.71271 +,,BOP,DTR1.3,,LR,N,-15.97745 +,,EV,DTR1.3,,LR,N,-27.72711 +,,IA,DTR1.3,,LR,N,-0.00815 +,,CL,DTR1.4,,LR,C,43.71271 +,,BOP,DTR1.4,,LR,N,-15.97745 +,,EV,DTR1.4,,LR,N,-27.72711 +,,IA,DTR1.4,,LR,N,-0.00815 +,,CL,DTR2.1,,LR,C,43.71271 +,,BOP,DTR2.1,,LR,N,-15.97745 +,,EV,DTR2.1,,LR,N,-27.72711 +,,IA,DTR2.1,,LR,N,-0.00815 \ No newline at end of file diff --git a/ifrs17-template/Test/Data/ReportVariableBenchmarks/ReportVariableBenchmarks_2021_3_CH__Contractual.csv b/ifrs17-template/Test/Data/ReportVariableBenchmarks/ReportVariableBenchmarks_2021_3_CH__Contractual.csv index f326a535..88b02ed7 100644 --- a/ifrs17-template/Test/Data/ReportVariableBenchmarks/ReportVariableBenchmarks_2021_3_CH__Contractual.csv +++ b/ifrs17-template/Test/Data/ReportVariableBenchmarks/ReportVariableBenchmarks_2021_3_CH__Contractual.csv @@ -1,4 +1,4 @@ -@@ReportVariable,,,,,,,,,,,,,,,,,,,,,, +@@ReportVariable AccidentYear,AmountType,AnnualCohort,ContractualCurrency,Currency,EconomicBasis,EstimateType,FunctionalCurrency,GroupOfContract,InitialProfitability,IsReinsurance,LiabilityType,LineOfBusiness,Novelty,OciType,Partner,Portfolio,Projection,ReportingNode,Scenario,ValuationApproach,Value,VariableType 2020,NIC,2020,USD,USD,,A,CHF,DT1.2,P,FALSE,LIC,ANN,C,Default,,DT1,P0,CH,,BBA,-76,CF 2020,NIC,2020,USD,USD,,A,CHF,DT1.2,P,FALSE,LIC,ANN,C,Default,,DT1,P0,CH,,BBA,-76,ISE2 @@ -61,7 +61,7 @@ AccidentYear,AmountType,AnnualCohort,ContractualCurrency,Currency,EconomicBasis, 2020,NIC,2020,USD,USD,C,BE,CHF,DT2.2,P,FALSE,LIC,ANN,C,,,DT2,P0,CH,,BBA,0.04559,IFIE2 2020,NIC,2020,USD,USD,C,BE,CHF,DT2.2,P,FALSE,LIC,ANN,C,,,DT2,P0,CH,,BBA,30.19032,ISE12 2020,NIC,2020,USD,USD,C,BE,CHF,DT2.2,P,FALSE,LIC,ANN,I,,,DT2,P0,CH,,BBA,-59.93511,MC -2020,NIC,2020,USD,USD,C,BE,CHF,DT2.2,P,FALSE,LIC,ANN,C,,,DT2,P0,CH,,BBA,0,OCI2 +2020,NIC,2020,USD,USD,C,BE,CHF,DT2.2,P,FALSE,LIC,ANN,C,,,DT2,P0,CH,,BBA,-0,OCI2 2020,NIC,2020,USD,USD,C,BE,CHF,DT2.2,P,FALSE,LIC,ANN,I,,,DT2,P0,CH,,BBA,-0.2238,YCU 2020,NIC,2020,USD,USD,L,BE,CHF,DT2.2,P,FALSE,LIC,ANN,I,,,DT2,P0,CH,,BBA,299.67555,BOP 2020,NIC,2020,USD,USD,L,BE,CHF,DT2.2,P,FALSE,LIC,ANN,N,,,DT2,P0,CH,,BBA,59.93511,BOP @@ -103,7 +103,7 @@ AccidentYear,AmountType,AnnualCohort,ContractualCurrency,Currency,EconomicBasis, 2020,CDR,2020,USD,USD,C,BE,CHF,DTR1.2,P,TRUE,LIC,ANN,I,Default,PT1,DTR1,P0,CH,,BBA,0.04957,CRU 2020,CDR,2020,USD,USD,C,BE,CHF,DTR1.2,P,TRUE,LIC,ANN,C,Default,PT1,DTR1,P0,CH,,BBA,0.08063,EOP 2020,CDR,2020,USD,USD,C,BE,CHF,DTR1.2,P,TRUE,LIC,ANN,N,Default,PT1,DTR1,P0,CH,,BBA,0.01344,EV -2020,CDR,2020,USD,USD,C,BE,CHF,DTR1.2,P,TRUE,LIC,ANN,N,Default,PT1,DTR1,P0,CH,,BBA,5.00E-05,IA +2020,CDR,2020,USD,USD,C,BE,CHF,DTR1.2,P,TRUE,LIC,ANN,N,Default,PT1,DTR1,P0,CH,,BBA,5E-05,IA 2020,CDR,2020,USD,USD,C,BE,CHF,DTR1.2,P,TRUE,LIC,ANN,I,Default,PT1,DTR1,P0,CH,,BBA,-0.00192,MC 2020,CDR,2020,USD,USD,C,BE,CHF,DTR1.2,P,TRUE,LIC,ANN,C,Default,PT1,DTR1,P0,CH,,BBA,-0.07102,OCI2 2020,NIC,2020,USD,USD,C,BE,CHF,DTR1.2,P,TRUE,LIC,ANN,I,Default,PT1,DTR1,P0,CH,,BBA,-149.83777,BOP @@ -124,7 +124,7 @@ AccidentYear,AmountType,AnnualCohort,ContractualCurrency,Currency,EconomicBasis, 2020,CDR,2020,USD,USD,L,BE,CHF,DTR1.2,P,TRUE,LIC,ANN,I,Default,PT1,DTR1,P0,CH,,BBA,0.04965,CRU 2020,CDR,2020,USD,USD,L,BE,CHF,DTR1.2,P,TRUE,LIC,ANN,C,Default,PT1,DTR1,P0,CH,,BBA,0.08076,EOP 2020,CDR,2020,USD,USD,L,BE,CHF,DTR1.2,P,TRUE,LIC,ANN,N,Default,PT1,DTR1,P0,CH,,BBA,0.01346,EV -2020,CDR,2020,USD,USD,L,BE,CHF,DTR1.2,P,TRUE,LIC,ANN,N,Default,PT1,DTR1,P0,CH,,BBA,2.00E-05,IA +2020,CDR,2020,USD,USD,L,BE,CHF,DTR1.2,P,TRUE,LIC,ANN,N,Default,PT1,DTR1,P0,CH,,BBA,2E-05,IA 2020,CDR,2020,USD,USD,L,BE,CHF,DTR1.2,P,TRUE,LIC,ANN,C,Default,PT1,DTR1,P0,CH,,BBA,-0.04967,IFIE2 2020,CDR,2020,USD,USD,L,BE,CHF,DTR1.2,P,TRUE,LIC,ANN,C,Default,PT1,DTR1,P0,CH,,BBA,-0.02148,ISE12 2020,CDR,2020,USD,USD,L,BE,CHF,DTR1.2,P,TRUE,LIC,ANN,I,Default,PT1,DTR1,P0,CH,,BBA,-0.00192,MC @@ -173,7 +173,7 @@ AccidentYear,AmountType,AnnualCohort,ContractualCurrency,Currency,EconomicBasis, 2020,CDR,2020,USD,USD,C,BE,CHF,DTR2.2,P,TRUE,LIC,ANN,I,,PT1,DTR2,P0,CH,,BBA,0.04957,CRU 2020,CDR,2020,USD,USD,C,BE,CHF,DTR2.2,P,TRUE,LIC,ANN,C,,PT1,DTR2,P0,CH,,BBA,0.08063,EOP 2020,CDR,2020,USD,USD,C,BE,CHF,DTR2.2,P,TRUE,LIC,ANN,N,,PT1,DTR2,P0,CH,,BBA,0.01344,EV -2020,CDR,2020,USD,USD,C,BE,CHF,DTR2.2,P,TRUE,LIC,ANN,N,,PT1,DTR2,P0,CH,,BBA,5.00E-05,IA +2020,CDR,2020,USD,USD,C,BE,CHF,DTR2.2,P,TRUE,LIC,ANN,N,,PT1,DTR2,P0,CH,,BBA,5E-05,IA 2020,CDR,2020,USD,USD,C,BE,CHF,DTR2.2,P,TRUE,LIC,ANN,C,,PT1,DTR2,P0,CH,,BBA,-0.04962,IFIE2 2020,CDR,2020,USD,USD,C,BE,CHF,DTR2.2,P,TRUE,LIC,ANN,C,,PT1,DTR2,P0,CH,,BBA,-0.0214,ISE12 2020,CDR,2020,USD,USD,C,BE,CHF,DTR2.2,P,TRUE,LIC,ANN,I,,PT1,DTR2,P0,CH,,BBA,-0.00192,MC @@ -198,7 +198,7 @@ AccidentYear,AmountType,AnnualCohort,ContractualCurrency,Currency,EconomicBasis, 2020,CDR,2020,USD,USD,L,BE,CHF,DTR2.2,P,TRUE,LIC,ANN,I,,PT1,DTR2,P0,CH,,BBA,0.04965,CRU 2020,CDR,2020,USD,USD,L,BE,CHF,DTR2.2,P,TRUE,LIC,ANN,C,,PT1,DTR2,P0,CH,,BBA,0.08076,EOP 2020,CDR,2020,USD,USD,L,BE,CHF,DTR2.2,P,TRUE,LIC,ANN,N,,PT1,DTR2,P0,CH,,BBA,0.01346,EV -2020,CDR,2020,USD,USD,L,BE,CHF,DTR2.2,P,TRUE,LIC,ANN,N,,PT1,DTR2,P0,CH,,BBA,2.00E-05,IA +2020,CDR,2020,USD,USD,L,BE,CHF,DTR2.2,P,TRUE,LIC,ANN,N,,PT1,DTR2,P0,CH,,BBA,2E-05,IA 2020,CDR,2020,USD,USD,L,BE,CHF,DTR2.2,P,TRUE,LIC,ANN,I,,PT1,DTR2,P0,CH,,BBA,-0.00192,MC 2020,NIC,2020,USD,USD,L,BE,CHF,DTR2.2,P,TRUE,LIC,ANN,I,,PT1,DTR2,P0,CH,,BBA,-149.83777,BOP 2020,NIC,2020,USD,USD,L,BE,CHF,DTR2.2,P,TRUE,LIC,ANN,N,,PT1,DTR2,P0,CH,,BBA,-29.96755,BOP @@ -220,7 +220,7 @@ AccidentYear,AmountType,AnnualCohort,ContractualCurrency,Currency,EconomicBasis, 2020,,2020,USD,USD,C,RA,CHF,DTR2.2,P,TRUE,LIC,ANN,C,,PT1,DTR2,P0,CH,,BBA,0.00114,IFIE2 2020,,2020,USD,USD,C,RA,CHF,DTR2.2,P,TRUE,LIC,ANN,C,,PT1,DTR2,P0,CH,,BBA,-3.75827,ISE12 2020,,2020,USD,USD,C,RA,CHF,DTR2.2,P,TRUE,LIC,ANN,I,,PT1,DTR2,P0,CH,,BBA,2.99676,MC -2020,,2020,USD,USD,C,RA,CHF,DTR2.2,P,TRUE,LIC,ANN,C,,PT1,DTR2,P0,CH,,BBA,0,OCI2 +2020,,2020,USD,USD,C,RA,CHF,DTR2.2,P,TRUE,LIC,ANN,C,,PT1,DTR2,P0,CH,,BBA,-0,OCI2 2020,,2020,USD,USD,C,RA,CHF,DTR2.2,P,TRUE,LIC,ANN,I,,PT1,DTR2,P0,CH,,BBA,0.01119,YCU 2020,,2020,USD,USD,L,RA,CHF,DTR2.2,P,TRUE,LIC,ANN,I,,PT1,DTR2,P0,CH,,BBA,-14.98378,BOP 2020,,2020,USD,USD,L,RA,CHF,DTR2.2,P,TRUE,LIC,ANN,N,,PT1,DTR2,P0,CH,,BBA,-5.99351,BOP @@ -1084,7 +1084,7 @@ AccidentYear,AmountType,AnnualCohort,ContractualCurrency,Currency,EconomicBasis, 0,CDR,2020,USD,USD,C,BE,CHF,DTR1.1,P,TRUE,LRC,ANN,I,Default,PT1,DTR1,P0,CH,,BBA,0.04957,CRU 0,CDR,2020,USD,USD,C,BE,CHF,DTR1.1,P,TRUE,LRC,ANN,C,Default,PT1,DTR1,P0,CH,,BBA,0.08063,EOP 0,CDR,2020,USD,USD,C,BE,CHF,DTR1.1,P,TRUE,LRC,ANN,N,Default,PT1,DTR1,P0,CH,,BBA,0.01344,EV -0,CDR,2020,USD,USD,C,BE,CHF,DTR1.1,P,TRUE,LRC,ANN,N,Default,PT1,DTR1,P0,CH,,BBA,5.00E-05,IA +0,CDR,2020,USD,USD,C,BE,CHF,DTR1.1,P,TRUE,LRC,ANN,N,Default,PT1,DTR1,P0,CH,,BBA,5E-05,IA 0,CDR,2020,USD,USD,C,BE,CHF,DTR1.1,P,TRUE,LRC,ANN,I,Default,PT1,DTR1,P0,CH,,BBA,-0.00192,MC 0,CDR,2020,USD,USD,C,BE,CHF,DTR1.1,P,TRUE,LRC,ANN,C,Default,PT1,DTR1,P0,CH,,BBA,-0.07102,OCI1 0,NIC,2020,USD,USD,C,BE,CHF,DTR1.1,P,TRUE,LRC,ANN,I,Default,PT1,DTR1,P0,CH,,BBA,-149.83777,BOP @@ -1116,7 +1116,7 @@ AccidentYear,AmountType,AnnualCohort,ContractualCurrency,Currency,EconomicBasis, 0,CDR,2020,USD,USD,L,BE,CHF,DTR1.1,P,TRUE,LRC,ANN,I,Default,PT1,DTR1,P0,CH,,BBA,0.04965,CRU 0,CDR,2020,USD,USD,L,BE,CHF,DTR1.1,P,TRUE,LRC,ANN,C,Default,PT1,DTR1,P0,CH,,BBA,0.08076,EOP 0,CDR,2020,USD,USD,L,BE,CHF,DTR1.1,P,TRUE,LRC,ANN,N,Default,PT1,DTR1,P0,CH,,BBA,0.01346,EV -0,CDR,2020,USD,USD,L,BE,CHF,DTR1.1,P,TRUE,LRC,ANN,N,Default,PT1,DTR1,P0,CH,,BBA,2.00E-05,IA +0,CDR,2020,USD,USD,L,BE,CHF,DTR1.1,P,TRUE,LRC,ANN,N,Default,PT1,DTR1,P0,CH,,BBA,2E-05,IA 0,CDR,2020,USD,USD,L,BE,CHF,DTR1.1,P,TRUE,LRC,ANN,C,Default,PT1,DTR1,P0,CH,,BBA,-0.04967,IFIE1 0,CDR,2020,USD,USD,L,BE,CHF,DTR1.1,P,TRUE,LRC,ANN,C,Default,PT1,DTR1,P0,CH,,BBA,-0.02148,ISE10 0,CDR,2020,USD,USD,L,BE,CHF,DTR1.1,P,TRUE,LRC,ANN,I,Default,PT1,DTR1,P0,CH,,BBA,-0.00192,MC @@ -1145,23 +1145,22 @@ AccidentYear,AmountType,AnnualCohort,ContractualCurrency,Currency,EconomicBasis, 0,PR,2020,USD,USD,L,BE,CHF,DTR1.1,P,TRUE,LRC,ANN,C,Default,PT1,DTR1,P0,CH,,BBA,27.53161,ISE10 0,PR,2020,USD,USD,L,BE,CHF,DTR1.1,P,TRUE,LRC,ANN,I,Default,PT1,DTR1,P0,CH,,BBA,19.9817,MC 0,PR,2020,USD,USD,L,BE,CHF,DTR1.1,P,TRUE,LRC,ANN,C,Default,PT1,DTR1,P0,CH,,BBA,-27.4318,OCI1 -0,,2020,USD,USD,,C,CHF,DTR1.1,P,TRUE,LRC,ANN,C,Default,PT1,DTR1,P0,CH,,BBA,10.78121,AM +0,,2020,USD,USD,,C,CHF,DTR1.1,P,TRUE,LRC,ANN,C,Default,PT1,DTR1,P0,CH,,BBA,10.75385,AM 0,,2020,USD,USD,,C,CHF,DTR1.1,P,TRUE,LRC,ANN,I,Default,PT1,DTR1,P0,CH,,BBA,-24.07616,BOP -0,,2020,USD,USD,,C,CHF,DTR1.1,P,TRUE,LRC,ANN,C,Default,PT1,DTR1,P0,CH,,BBA,43.67753,CL -0,,2020,USD,USD,,C,CHF,DTR1.1,P,TRUE,LRC,ANN,I,Default,PT1,DTR1,P0,CH,,BBA,-0.04965,CRU -0,,2020,USD,USD,,C,CHF,DTR1.1,P,TRUE,LRC,ANN,C,Default,PT1,DTR1,P0,CH,,BBA,-22.64964,EOP +0,,2020,USD,USD,,C,CHF,DTR1.1,P,TRUE,LRC,ANN,C,Default,PT1,DTR1,P0,CH,,BBA,43.71271,CL +0,,2020,USD,USD,,C,CHF,DTR1.1,P,TRUE,LRC,ANN,C,Default,PT1,DTR1,P0,CH,,BBA,-22.59217,EOP 0,,2020,USD,USD,,C,CHF,DTR1.1,P,TRUE,LRC,ANN,I,Default,PT1,DTR1,P0,CH,,BBA,-0.03848,IA -0,,2020,USD,USD,,C,CHF,DTR1.1,P,TRUE,LRC,ANN,C,Default,PT1,DTR1,P0,CH,,BBA,0.08813,IFIE1 -0,,2020,USD,USD,,C,CHF,DTR1.1,P,TRUE,LRC,ANN,C,Default,PT1,DTR1,P0,CH,,BBA,9.26655,ISE10 -0,,2020,USD,USD,,C,CHF,DTR1.1,P,TRUE,LRC,ANN,C,Default,PT1,DTR1,P0,CH,,BBA,-10.78121,ISE7 +0,,2020,USD,USD,,C,CHF,DTR1.1,P,TRUE,LRC,ANN,C,Default,PT1,DTR1,P0,CH,,BBA,0.03848,IFIE1 +0,,2020,USD,USD,,C,CHF,DTR1.1,P,TRUE,LRC,ANN,C,Default,PT1,DTR1,P0,CH,,BBA,9.23138,ISE10 +0,,2020,USD,USD,,C,CHF,DTR1.1,P,TRUE,LRC,ANN,C,Default,PT1,DTR1,P0,CH,,BBA,-10.75385,ISE7 0,,2020,USD,USD,,C,CHF,DTR1.1,P,TRUE,LRC,ANN,I,Default,PT1,DTR1,P0,CH,,BBA,-52.94408,MC -0,,2020,USD,USD,,LR,CHF,DTR1.1,P,TRUE,LRC,ANN,N,Default,PT1,DTR1,P0,CH,,BBA,-15.9547,BOP -0,,2020,USD,USD,,LR,CHF,DTR1.1,P,TRUE,LRC,ANN,C,Default,PT1,DTR1,P0,CH,,BBA,43.67753,CL +0,,2020,USD,USD,,LR,CHF,DTR1.1,P,TRUE,LRC,ANN,N,Default,PT1,DTR1,P0,CH,,BBA,-15.97745,BOP +0,,2020,USD,USD,,LR,CHF,DTR1.1,P,TRUE,LRC,ANN,C,Default,PT1,DTR1,P0,CH,,BBA,43.71271,CL 0,,2020,USD,USD,,LR,CHF,DTR1.1,P,TRUE,LRC,ANN,C,Default,PT1,DTR1,P0,CH,,BBA,0,EOP -0,,2020,USD,USD,,LR,CHF,DTR1.1,P,TRUE,LRC,ANN,N,Default,PT1,DTR1,P0,CH,,BBA,-27.7147,EV -0,,2020,USD,USD,,LR,CHF,DTR1.1,P,TRUE,LRC,ANN,N,Default,PT1,DTR1,P0,CH,,BBA,-0.00813,IA -0,,2020,USD,USD,,LR,CHF,DTR1.1,P,TRUE,LRC,ANN,C,Default,PT1,DTR1,P0,CH,,BBA,0.00813,IFIE1 -0,,2020,USD,USD,,LR,CHF,DTR1.1,P,TRUE,LRC,ANN,C,Default,PT1,DTR1,P0,CH,,BBA,-0.00813,ISE11 +0,,2020,USD,USD,,LR,CHF,DTR1.1,P,TRUE,LRC,ANN,N,Default,PT1,DTR1,P0,CH,,BBA,-27.72711,EV +0,,2020,USD,USD,,LR,CHF,DTR1.1,P,TRUE,LRC,ANN,N,Default,PT1,DTR1,P0,CH,,BBA,-0.00815,IA +0,,2020,USD,USD,,LR,CHF,DTR1.1,P,TRUE,LRC,ANN,C,Default,PT1,DTR1,P0,CH,,BBA,0.00815,IFIE1 +0,,2020,USD,USD,,LR,CHF,DTR1.1,P,TRUE,LRC,ANN,C,Default,PT1,DTR1,P0,CH,,BBA,-0.00815,ISE11 0,,2020,USD,USD,C,RA,CHF,DTR1.1,P,TRUE,LRC,ANN,I,Default,PT1,DTR1,P0,CH,,BBA,-14.98378,BOP 0,,2020,USD,USD,C,RA,CHF,DTR1.1,P,TRUE,LRC,ANN,N,Default,PT1,DTR1,P0,CH,,BBA,-5.98382,BOP 0,,2020,USD,USD,C,RA,CHF,DTR1.1,P,TRUE,LRC,ANN,I,Default,PT1,DTR1,P0,CH,,BBA,3,CF @@ -1204,7 +1203,7 @@ AccidentYear,AmountType,AnnualCohort,ContractualCurrency,Currency,EconomicBasis, 0,CDR,2020,USD,USD,C,BE,CHF,DTR1.3,P,TRUE,LRC,ANN,I,Default,PT1,DTR1,P0,CH,,BBA,0.04957,CRU 0,CDR,2020,USD,USD,C,BE,CHF,DTR1.3,P,TRUE,LRC,ANN,C,Default,PT1,DTR1,P0,CH,,BBA,0.08063,EOP 0,CDR,2020,USD,USD,C,BE,CHF,DTR1.3,P,TRUE,LRC,ANN,N,Default,PT1,DTR1,P0,CH,,BBA,0.01344,EV -0,CDR,2020,USD,USD,C,BE,CHF,DTR1.3,P,TRUE,LRC,ANN,N,Default,PT1,DTR1,P0,CH,,BBA,5.00E-05,IA +0,CDR,2020,USD,USD,C,BE,CHF,DTR1.3,P,TRUE,LRC,ANN,N,Default,PT1,DTR1,P0,CH,,BBA,5E-05,IA 0,CDR,2020,USD,USD,C,BE,CHF,DTR1.3,P,TRUE,LRC,ANN,I,Default,PT1,DTR1,P0,CH,,BBA,-0.00192,MC 0,CDR,2020,USD,USD,C,BE,CHF,DTR1.3,P,TRUE,LRC,ANN,C,Default,PT1,DTR1,P0,CH,,BBA,-0.07102,OCI1 0,NIC,2020,USD,USD,C,BE,CHF,DTR1.3,P,TRUE,LRC,ANN,I,Default,PT1,DTR1,P0,CH,,BBA,-149.83777,BOP @@ -1236,7 +1235,7 @@ AccidentYear,AmountType,AnnualCohort,ContractualCurrency,Currency,EconomicBasis, 0,CDR,2020,USD,USD,L,BE,CHF,DTR1.3,P,TRUE,LRC,ANN,I,Default,PT1,DTR1,P0,CH,,BBA,0.04965,CRU 0,CDR,2020,USD,USD,L,BE,CHF,DTR1.3,P,TRUE,LRC,ANN,C,Default,PT1,DTR1,P0,CH,,BBA,0.08076,EOP 0,CDR,2020,USD,USD,L,BE,CHF,DTR1.3,P,TRUE,LRC,ANN,N,Default,PT1,DTR1,P0,CH,,BBA,0.01346,EV -0,CDR,2020,USD,USD,L,BE,CHF,DTR1.3,P,TRUE,LRC,ANN,N,Default,PT1,DTR1,P0,CH,,BBA,2.00E-05,IA +0,CDR,2020,USD,USD,L,BE,CHF,DTR1.3,P,TRUE,LRC,ANN,N,Default,PT1,DTR1,P0,CH,,BBA,2E-05,IA 0,CDR,2020,USD,USD,L,BE,CHF,DTR1.3,P,TRUE,LRC,ANN,C,Default,PT1,DTR1,P0,CH,,BBA,-0.04967,IFIE1 0,CDR,2020,USD,USD,L,BE,CHF,DTR1.3,P,TRUE,LRC,ANN,C,Default,PT1,DTR1,P0,CH,,BBA,-0.02148,ISE10 0,CDR,2020,USD,USD,L,BE,CHF,DTR1.3,P,TRUE,LRC,ANN,I,Default,PT1,DTR1,P0,CH,,BBA,-0.00192,MC @@ -1265,23 +1264,22 @@ AccidentYear,AmountType,AnnualCohort,ContractualCurrency,Currency,EconomicBasis, 0,PR,2020,USD,USD,L,BE,CHF,DTR1.3,P,TRUE,LRC,ANN,C,Default,PT1,DTR1,P0,CH,,BBA,27.53161,ISE10 0,PR,2020,USD,USD,L,BE,CHF,DTR1.3,P,TRUE,LRC,ANN,I,Default,PT1,DTR1,P0,CH,,BBA,19.9817,MC 0,PR,2020,USD,USD,L,BE,CHF,DTR1.3,P,TRUE,LRC,ANN,C,Default,PT1,DTR1,P0,CH,,BBA,-27.4318,OCI1 -0,,2020,USD,USD,,C,CHF,DTR1.3,P,TRUE,LRC,ANN,C,Default,PT1,DTR1,P0,CH,,BBA,10.78121,AM +0,,2020,USD,USD,,C,CHF,DTR1.3,P,TRUE,LRC,ANN,C,Default,PT1,DTR1,P0,CH,,BBA,10.75385,AM 0,,2020,USD,USD,,C,CHF,DTR1.3,P,TRUE,LRC,ANN,I,Default,PT1,DTR1,P0,CH,,BBA,-24.07616,BOP -0,,2020,USD,USD,,C,CHF,DTR1.3,P,TRUE,LRC,ANN,C,Default,PT1,DTR1,P0,CH,,BBA,43.67753,CL -0,,2020,USD,USD,,C,CHF,DTR1.3,P,TRUE,LRC,ANN,I,Default,PT1,DTR1,P0,CH,,BBA,-0.04965,CRU -0,,2020,USD,USD,,C,CHF,DTR1.3,P,TRUE,LRC,ANN,C,Default,PT1,DTR1,P0,CH,,BBA,-22.64964,EOP +0,,2020,USD,USD,,C,CHF,DTR1.3,P,TRUE,LRC,ANN,C,Default,PT1,DTR1,P0,CH,,BBA,43.71271,CL +0,,2020,USD,USD,,C,CHF,DTR1.3,P,TRUE,LRC,ANN,C,Default,PT1,DTR1,P0,CH,,BBA,-22.59217,EOP 0,,2020,USD,USD,,C,CHF,DTR1.3,P,TRUE,LRC,ANN,I,Default,PT1,DTR1,P0,CH,,BBA,-0.03848,IA -0,,2020,USD,USD,,C,CHF,DTR1.3,P,TRUE,LRC,ANN,C,Default,PT1,DTR1,P0,CH,,BBA,0.08813,IFIE1 -0,,2020,USD,USD,,C,CHF,DTR1.3,P,TRUE,LRC,ANN,C,Default,PT1,DTR1,P0,CH,,BBA,9.26655,ISE10 -0,,2020,USD,USD,,C,CHF,DTR1.3,P,TRUE,LRC,ANN,C,Default,PT1,DTR1,P0,CH,,BBA,-10.78121,ISE7 +0,,2020,USD,USD,,C,CHF,DTR1.3,P,TRUE,LRC,ANN,C,Default,PT1,DTR1,P0,CH,,BBA,0.03848,IFIE1 +0,,2020,USD,USD,,C,CHF,DTR1.3,P,TRUE,LRC,ANN,C,Default,PT1,DTR1,P0,CH,,BBA,9.23138,ISE10 +0,,2020,USD,USD,,C,CHF,DTR1.3,P,TRUE,LRC,ANN,C,Default,PT1,DTR1,P0,CH,,BBA,-10.75385,ISE7 0,,2020,USD,USD,,C,CHF,DTR1.3,P,TRUE,LRC,ANN,I,Default,PT1,DTR1,P0,CH,,BBA,-52.94408,MC -0,,2020,USD,USD,,LR,CHF,DTR1.3,P,TRUE,LRC,ANN,N,Default,PT1,DTR1,P0,CH,,BBA,-15.9547,BOP -0,,2020,USD,USD,,LR,CHF,DTR1.3,P,TRUE,LRC,ANN,C,Default,PT1,DTR1,P0,CH,,BBA,43.67753,CL +0,,2020,USD,USD,,LR,CHF,DTR1.3,P,TRUE,LRC,ANN,N,Default,PT1,DTR1,P0,CH,,BBA,-15.97745,BOP +0,,2020,USD,USD,,LR,CHF,DTR1.3,P,TRUE,LRC,ANN,C,Default,PT1,DTR1,P0,CH,,BBA,43.71271,CL 0,,2020,USD,USD,,LR,CHF,DTR1.3,P,TRUE,LRC,ANN,C,Default,PT1,DTR1,P0,CH,,BBA,0,EOP -0,,2020,USD,USD,,LR,CHF,DTR1.3,P,TRUE,LRC,ANN,N,Default,PT1,DTR1,P0,CH,,BBA,-27.7147,EV -0,,2020,USD,USD,,LR,CHF,DTR1.3,P,TRUE,LRC,ANN,N,Default,PT1,DTR1,P0,CH,,BBA,-0.00813,IA -0,,2020,USD,USD,,LR,CHF,DTR1.3,P,TRUE,LRC,ANN,C,Default,PT1,DTR1,P0,CH,,BBA,0.00813,IFIE1 -0,,2020,USD,USD,,LR,CHF,DTR1.3,P,TRUE,LRC,ANN,C,Default,PT1,DTR1,P0,CH,,BBA,-0.00813,ISE11 +0,,2020,USD,USD,,LR,CHF,DTR1.3,P,TRUE,LRC,ANN,N,Default,PT1,DTR1,P0,CH,,BBA,-27.72711,EV +0,,2020,USD,USD,,LR,CHF,DTR1.3,P,TRUE,LRC,ANN,N,Default,PT1,DTR1,P0,CH,,BBA,-0.00815,IA +0,,2020,USD,USD,,LR,CHF,DTR1.3,P,TRUE,LRC,ANN,C,Default,PT1,DTR1,P0,CH,,BBA,0.00815,IFIE1 +0,,2020,USD,USD,,LR,CHF,DTR1.3,P,TRUE,LRC,ANN,C,Default,PT1,DTR1,P0,CH,,BBA,-0.00815,ISE11 0,NIC,2020,USD,USD,,OA,CHF,DTR1.3,P,TRUE,LRC,ANN,I,Default,PT1,DTR1,P0,CH,,BBA,-2.5,BOP 0,NIC,2020,USD,USD,,OA,CHF,DTR1.3,P,TRUE,LRC,ANN,C,Default,PT1,DTR1,P0,CH,,BBA,0,EOP 0,NIC,2020,USD,USD,,OA,CHF,DTR1.3,P,TRUE,LRC,ANN,C,Default,PT1,DTR1,P0,CH,,BBA,-2.5,ISE2 @@ -1323,7 +1321,7 @@ AccidentYear,AmountType,AnnualCohort,ContractualCurrency,Currency,EconomicBasis, 0,CDR,2020,USD,USD,C,BE,CHF,DTR1.4,P,TRUE,LRC,ANN,I,Default,PT1,DTR1,P0,CH,,BBA,0.04957,CRU 0,CDR,2020,USD,USD,C,BE,CHF,DTR1.4,P,TRUE,LRC,ANN,C,Default,PT1,DTR1,P0,CH,,BBA,0.08063,EOP 0,CDR,2020,USD,USD,C,BE,CHF,DTR1.4,P,TRUE,LRC,ANN,N,Default,PT1,DTR1,P0,CH,,BBA,0.01344,EV -0,CDR,2020,USD,USD,C,BE,CHF,DTR1.4,P,TRUE,LRC,ANN,N,Default,PT1,DTR1,P0,CH,,BBA,5.00E-05,IA +0,CDR,2020,USD,USD,C,BE,CHF,DTR1.4,P,TRUE,LRC,ANN,N,Default,PT1,DTR1,P0,CH,,BBA,5E-05,IA 0,CDR,2020,USD,USD,C,BE,CHF,DTR1.4,P,TRUE,LRC,ANN,I,Default,PT1,DTR1,P0,CH,,BBA,-0.00192,MC 0,CDR,2020,USD,USD,C,BE,CHF,DTR1.4,P,TRUE,LRC,ANN,C,Default,PT1,DTR1,P0,CH,,BBA,-0.07102,OCI1 0,NIC,2020,USD,USD,C,BE,CHF,DTR1.4,P,TRUE,LRC,ANN,I,Default,PT1,DTR1,P0,CH,,BBA,-149.83777,BOP @@ -1355,7 +1353,7 @@ AccidentYear,AmountType,AnnualCohort,ContractualCurrency,Currency,EconomicBasis, 0,CDR,2020,USD,USD,L,BE,CHF,DTR1.4,P,TRUE,LRC,ANN,I,Default,PT1,DTR1,P0,CH,,BBA,0.04965,CRU 0,CDR,2020,USD,USD,L,BE,CHF,DTR1.4,P,TRUE,LRC,ANN,C,Default,PT1,DTR1,P0,CH,,BBA,0.08076,EOP 0,CDR,2020,USD,USD,L,BE,CHF,DTR1.4,P,TRUE,LRC,ANN,N,Default,PT1,DTR1,P0,CH,,BBA,0.01346,EV -0,CDR,2020,USD,USD,L,BE,CHF,DTR1.4,P,TRUE,LRC,ANN,N,Default,PT1,DTR1,P0,CH,,BBA,2.00E-05,IA +0,CDR,2020,USD,USD,L,BE,CHF,DTR1.4,P,TRUE,LRC,ANN,N,Default,PT1,DTR1,P0,CH,,BBA,2E-05,IA 0,CDR,2020,USD,USD,L,BE,CHF,DTR1.4,P,TRUE,LRC,ANN,C,Default,PT1,DTR1,P0,CH,,BBA,-0.04967,IFIE1 0,CDR,2020,USD,USD,L,BE,CHF,DTR1.4,P,TRUE,LRC,ANN,C,Default,PT1,DTR1,P0,CH,,BBA,-0.02148,ISE10 0,CDR,2020,USD,USD,L,BE,CHF,DTR1.4,P,TRUE,LRC,ANN,I,Default,PT1,DTR1,P0,CH,,BBA,-0.00192,MC @@ -1384,23 +1382,22 @@ AccidentYear,AmountType,AnnualCohort,ContractualCurrency,Currency,EconomicBasis, 0,PR,2020,USD,USD,L,BE,CHF,DTR1.4,P,TRUE,LRC,ANN,C,Default,PT1,DTR1,P0,CH,,BBA,27.53161,ISE10 0,PR,2020,USD,USD,L,BE,CHF,DTR1.4,P,TRUE,LRC,ANN,I,Default,PT1,DTR1,P0,CH,,BBA,19.9817,MC 0,PR,2020,USD,USD,L,BE,CHF,DTR1.4,P,TRUE,LRC,ANN,C,Default,PT1,DTR1,P0,CH,,BBA,-27.4318,OCI1 -0,,2020,USD,USD,,C,CHF,DTR1.4,P,TRUE,LRC,ANN,C,Default,PT1,DTR1,P0,CH,,BBA,10.78121,AM +0,,2020,USD,USD,,C,CHF,DTR1.4,P,TRUE,LRC,ANN,C,Default,PT1,DTR1,P0,CH,,BBA,10.75385,AM 0,,2020,USD,USD,,C,CHF,DTR1.4,P,TRUE,LRC,ANN,I,Default,PT1,DTR1,P0,CH,,BBA,-24.07616,BOP -0,,2020,USD,USD,,C,CHF,DTR1.4,P,TRUE,LRC,ANN,C,Default,PT1,DTR1,P0,CH,,BBA,43.67753,CL -0,,2020,USD,USD,,C,CHF,DTR1.4,P,TRUE,LRC,ANN,I,Default,PT1,DTR1,P0,CH,,BBA,-0.04965,CRU -0,,2020,USD,USD,,C,CHF,DTR1.4,P,TRUE,LRC,ANN,C,Default,PT1,DTR1,P0,CH,,BBA,-22.64964,EOP +0,,2020,USD,USD,,C,CHF,DTR1.4,P,TRUE,LRC,ANN,C,Default,PT1,DTR1,P0,CH,,BBA,43.71271,CL +0,,2020,USD,USD,,C,CHF,DTR1.4,P,TRUE,LRC,ANN,C,Default,PT1,DTR1,P0,CH,,BBA,-22.59217,EOP 0,,2020,USD,USD,,C,CHF,DTR1.4,P,TRUE,LRC,ANN,I,Default,PT1,DTR1,P0,CH,,BBA,-0.03848,IA -0,,2020,USD,USD,,C,CHF,DTR1.4,P,TRUE,LRC,ANN,C,Default,PT1,DTR1,P0,CH,,BBA,0.08813,IFIE1 -0,,2020,USD,USD,,C,CHF,DTR1.4,P,TRUE,LRC,ANN,C,Default,PT1,DTR1,P0,CH,,BBA,9.26655,ISE10 -0,,2020,USD,USD,,C,CHF,DTR1.4,P,TRUE,LRC,ANN,C,Default,PT1,DTR1,P0,CH,,BBA,-10.78121,ISE7 +0,,2020,USD,USD,,C,CHF,DTR1.4,P,TRUE,LRC,ANN,C,Default,PT1,DTR1,P0,CH,,BBA,0.03848,IFIE1 +0,,2020,USD,USD,,C,CHF,DTR1.4,P,TRUE,LRC,ANN,C,Default,PT1,DTR1,P0,CH,,BBA,9.23138,ISE10 +0,,2020,USD,USD,,C,CHF,DTR1.4,P,TRUE,LRC,ANN,C,Default,PT1,DTR1,P0,CH,,BBA,-10.75385,ISE7 0,,2020,USD,USD,,C,CHF,DTR1.4,P,TRUE,LRC,ANN,I,Default,PT1,DTR1,P0,CH,,BBA,-52.94408,MC -0,,2020,USD,USD,,LR,CHF,DTR1.4,P,TRUE,LRC,ANN,N,Default,PT1,DTR1,P0,CH,,BBA,-15.9547,BOP -0,,2020,USD,USD,,LR,CHF,DTR1.4,P,TRUE,LRC,ANN,C,Default,PT1,DTR1,P0,CH,,BBA,43.67753,CL +0,,2020,USD,USD,,LR,CHF,DTR1.4,P,TRUE,LRC,ANN,N,Default,PT1,DTR1,P0,CH,,BBA,-15.97745,BOP +0,,2020,USD,USD,,LR,CHF,DTR1.4,P,TRUE,LRC,ANN,C,Default,PT1,DTR1,P0,CH,,BBA,43.71271,CL 0,,2020,USD,USD,,LR,CHF,DTR1.4,P,TRUE,LRC,ANN,C,Default,PT1,DTR1,P0,CH,,BBA,0,EOP -0,,2020,USD,USD,,LR,CHF,DTR1.4,P,TRUE,LRC,ANN,N,Default,PT1,DTR1,P0,CH,,BBA,-27.7147,EV -0,,2020,USD,USD,,LR,CHF,DTR1.4,P,TRUE,LRC,ANN,N,Default,PT1,DTR1,P0,CH,,BBA,-0.00813,IA -0,,2020,USD,USD,,LR,CHF,DTR1.4,P,TRUE,LRC,ANN,C,Default,PT1,DTR1,P0,CH,,BBA,0.00813,IFIE1 -0,,2020,USD,USD,,LR,CHF,DTR1.4,P,TRUE,LRC,ANN,C,Default,PT1,DTR1,P0,CH,,BBA,-0.00813,ISE11 +0,,2020,USD,USD,,LR,CHF,DTR1.4,P,TRUE,LRC,ANN,N,Default,PT1,DTR1,P0,CH,,BBA,-27.72711,EV +0,,2020,USD,USD,,LR,CHF,DTR1.4,P,TRUE,LRC,ANN,N,Default,PT1,DTR1,P0,CH,,BBA,-0.00815,IA +0,,2020,USD,USD,,LR,CHF,DTR1.4,P,TRUE,LRC,ANN,C,Default,PT1,DTR1,P0,CH,,BBA,0.00815,IFIE1 +0,,2020,USD,USD,,LR,CHF,DTR1.4,P,TRUE,LRC,ANN,C,Default,PT1,DTR1,P0,CH,,BBA,-0.00815,ISE11 0,NIC,2020,USD,USD,,OA,CHF,DTR1.4,P,TRUE,LRC,ANN,I,Default,PT1,DTR1,P0,CH,,BBA,-10,BOP 0,NIC,2020,USD,USD,,OA,CHF,DTR1.4,P,TRUE,LRC,ANN,C,Default,PT1,DTR1,P0,CH,,BBA,0,EOP 0,NIC,2020,USD,USD,,OA,CHF,DTR1.4,P,TRUE,LRC,ANN,C,Default,PT1,DTR1,P0,CH,,BBA,-10,ISE2 @@ -1439,7 +1436,7 @@ AccidentYear,AmountType,AnnualCohort,ContractualCurrency,Currency,EconomicBasis, 0,CDR,2020,USD,USD,C,BE,CHF,DTR2.1,P,TRUE,LRC,ANN,I,,PT1,DTR2,P0,CH,,BBA,0.04957,CRU 0,CDR,2020,USD,USD,C,BE,CHF,DTR2.1,P,TRUE,LRC,ANN,C,,PT1,DTR2,P0,CH,,BBA,0.08063,EOP 0,CDR,2020,USD,USD,C,BE,CHF,DTR2.1,P,TRUE,LRC,ANN,N,,PT1,DTR2,P0,CH,,BBA,0.01344,EV -0,CDR,2020,USD,USD,C,BE,CHF,DTR2.1,P,TRUE,LRC,ANN,N,,PT1,DTR2,P0,CH,,BBA,5.00E-05,IA +0,CDR,2020,USD,USD,C,BE,CHF,DTR2.1,P,TRUE,LRC,ANN,N,,PT1,DTR2,P0,CH,,BBA,5E-05,IA 0,CDR,2020,USD,USD,C,BE,CHF,DTR2.1,P,TRUE,LRC,ANN,C,,PT1,DTR2,P0,CH,,BBA,-0.04962,IFIE1 0,CDR,2020,USD,USD,C,BE,CHF,DTR2.1,P,TRUE,LRC,ANN,C,,PT1,DTR2,P0,CH,,BBA,-0.0214,ISE10 0,CDR,2020,USD,USD,C,BE,CHF,DTR2.1,P,TRUE,LRC,ANN,I,,PT1,DTR2,P0,CH,,BBA,-0.00192,MC @@ -1477,7 +1474,7 @@ AccidentYear,AmountType,AnnualCohort,ContractualCurrency,Currency,EconomicBasis, 0,CDR,2020,USD,USD,L,BE,CHF,DTR2.1,P,TRUE,LRC,ANN,I,,PT1,DTR2,P0,CH,,BBA,0.04965,CRU 0,CDR,2020,USD,USD,L,BE,CHF,DTR2.1,P,TRUE,LRC,ANN,C,,PT1,DTR2,P0,CH,,BBA,0.08076,EOP 0,CDR,2020,USD,USD,L,BE,CHF,DTR2.1,P,TRUE,LRC,ANN,N,,PT1,DTR2,P0,CH,,BBA,0.01346,EV -0,CDR,2020,USD,USD,L,BE,CHF,DTR2.1,P,TRUE,LRC,ANN,N,,PT1,DTR2,P0,CH,,BBA,2.00E-05,IA +0,CDR,2020,USD,USD,L,BE,CHF,DTR2.1,P,TRUE,LRC,ANN,N,,PT1,DTR2,P0,CH,,BBA,2E-05,IA 0,CDR,2020,USD,USD,L,BE,CHF,DTR2.1,P,TRUE,LRC,ANN,I,,PT1,DTR2,P0,CH,,BBA,-0.00192,MC 0,NIC,2020,USD,USD,L,BE,CHF,DTR2.1,P,TRUE,LRC,ANN,I,,PT1,DTR2,P0,CH,,BBA,-149.83777,BOP 0,NIC,2020,USD,USD,L,BE,CHF,DTR2.1,P,TRUE,LRC,ANN,N,,PT1,DTR2,P0,CH,,BBA,-29.96755,BOP @@ -1497,23 +1494,22 @@ AccidentYear,AmountType,AnnualCohort,ContractualCurrency,Currency,EconomicBasis, 0,PR,2020,USD,USD,L,BE,CHF,DTR2.1,P,TRUE,LRC,ANN,I,,PT1,DTR2,P0,CH,,BBA,0.0915,IA 0,PR,2020,USD,USD,L,BE,CHF,DTR2.1,P,TRUE,LRC,ANN,N,,PT1,DTR2,P0,CH,,BBA,0.00832,IA 0,PR,2020,USD,USD,L,BE,CHF,DTR2.1,P,TRUE,LRC,ANN,I,,PT1,DTR2,P0,CH,,BBA,19.9817,MC -0,,2020,USD,USD,,C,CHF,DTR2.1,P,TRUE,LRC,ANN,C,,PT1,DTR2,P0,CH,,BBA,10.78121,AM +0,,2020,USD,USD,,C,CHF,DTR2.1,P,TRUE,LRC,ANN,C,,PT1,DTR2,P0,CH,,BBA,10.75385,AM 0,,2020,USD,USD,,C,CHF,DTR2.1,P,TRUE,LRC,ANN,I,,PT1,DTR2,P0,CH,,BBA,-24.07616,BOP -0,,2020,USD,USD,,C,CHF,DTR2.1,P,TRUE,LRC,ANN,C,,PT1,DTR2,P0,CH,,BBA,43.67753,CL -0,,2020,USD,USD,,C,CHF,DTR2.1,P,TRUE,LRC,ANN,I,,PT1,DTR2,P0,CH,,BBA,-0.04965,CRU -0,,2020,USD,USD,,C,CHF,DTR2.1,P,TRUE,LRC,ANN,C,,PT1,DTR2,P0,CH,,BBA,-22.64964,EOP +0,,2020,USD,USD,,C,CHF,DTR2.1,P,TRUE,LRC,ANN,C,,PT1,DTR2,P0,CH,,BBA,43.71271,CL +0,,2020,USD,USD,,C,CHF,DTR2.1,P,TRUE,LRC,ANN,C,,PT1,DTR2,P0,CH,,BBA,-22.59217,EOP 0,,2020,USD,USD,,C,CHF,DTR2.1,P,TRUE,LRC,ANN,I,,PT1,DTR2,P0,CH,,BBA,-0.03848,IA -0,,2020,USD,USD,,C,CHF,DTR2.1,P,TRUE,LRC,ANN,C,,PT1,DTR2,P0,CH,,BBA,0.08813,IFIE1 -0,,2020,USD,USD,,C,CHF,DTR2.1,P,TRUE,LRC,ANN,C,,PT1,DTR2,P0,CH,,BBA,9.26655,ISE10 -0,,2020,USD,USD,,C,CHF,DTR2.1,P,TRUE,LRC,ANN,C,,PT1,DTR2,P0,CH,,BBA,-10.78121,ISE7 +0,,2020,USD,USD,,C,CHF,DTR2.1,P,TRUE,LRC,ANN,C,,PT1,DTR2,P0,CH,,BBA,0.03848,IFIE1 +0,,2020,USD,USD,,C,CHF,DTR2.1,P,TRUE,LRC,ANN,C,,PT1,DTR2,P0,CH,,BBA,9.23138,ISE10 +0,,2020,USD,USD,,C,CHF,DTR2.1,P,TRUE,LRC,ANN,C,,PT1,DTR2,P0,CH,,BBA,-10.75385,ISE7 0,,2020,USD,USD,,C,CHF,DTR2.1,P,TRUE,LRC,ANN,I,,PT1,DTR2,P0,CH,,BBA,-52.94408,MC -0,,2020,USD,USD,,LR,CHF,DTR2.1,P,TRUE,LRC,ANN,N,,PT1,DTR2,P0,CH,,BBA,-15.9547,BOP -0,,2020,USD,USD,,LR,CHF,DTR2.1,P,TRUE,LRC,ANN,C,,PT1,DTR2,P0,CH,,BBA,43.67753,CL +0,,2020,USD,USD,,LR,CHF,DTR2.1,P,TRUE,LRC,ANN,N,,PT1,DTR2,P0,CH,,BBA,-15.97745,BOP +0,,2020,USD,USD,,LR,CHF,DTR2.1,P,TRUE,LRC,ANN,C,,PT1,DTR2,P0,CH,,BBA,43.71271,CL 0,,2020,USD,USD,,LR,CHF,DTR2.1,P,TRUE,LRC,ANN,C,,PT1,DTR2,P0,CH,,BBA,0,EOP -0,,2020,USD,USD,,LR,CHF,DTR2.1,P,TRUE,LRC,ANN,N,,PT1,DTR2,P0,CH,,BBA,-27.7147,EV -0,,2020,USD,USD,,LR,CHF,DTR2.1,P,TRUE,LRC,ANN,N,,PT1,DTR2,P0,CH,,BBA,-0.00813,IA -0,,2020,USD,USD,,LR,CHF,DTR2.1,P,TRUE,LRC,ANN,C,,PT1,DTR2,P0,CH,,BBA,0.00813,IFIE1 -0,,2020,USD,USD,,LR,CHF,DTR2.1,P,TRUE,LRC,ANN,C,,PT1,DTR2,P0,CH,,BBA,-0.00813,ISE11 +0,,2020,USD,USD,,LR,CHF,DTR2.1,P,TRUE,LRC,ANN,N,,PT1,DTR2,P0,CH,,BBA,-27.72711,EV +0,,2020,USD,USD,,LR,CHF,DTR2.1,P,TRUE,LRC,ANN,N,,PT1,DTR2,P0,CH,,BBA,-0.00815,IA +0,,2020,USD,USD,,LR,CHF,DTR2.1,P,TRUE,LRC,ANN,C,,PT1,DTR2,P0,CH,,BBA,0.00815,IFIE1 +0,,2020,USD,USD,,LR,CHF,DTR2.1,P,TRUE,LRC,ANN,C,,PT1,DTR2,P0,CH,,BBA,-0.00815,ISE11 0,,2020,USD,USD,C,RA,CHF,DTR2.1,P,TRUE,LRC,ANN,I,,PT1,DTR2,P0,CH,,BBA,-14.98378,BOP 0,,2020,USD,USD,C,RA,CHF,DTR2.1,P,TRUE,LRC,ANN,N,,PT1,DTR2,P0,CH,,BBA,-5.98382,BOP 0,,2020,USD,USD,C,RA,CHF,DTR2.1,P,TRUE,LRC,ANN,I,,PT1,DTR2,P0,CH,,BBA,3,CF @@ -1525,7 +1521,7 @@ AccidentYear,AmountType,AnnualCohort,ContractualCurrency,Currency,EconomicBasis, 0,,2020,USD,USD,C,RA,CHF,DTR2.1,P,TRUE,LRC,ANN,C,,PT1,DTR2,P0,CH,,BBA,0.00114,IFIE1 0,,2020,USD,USD,C,RA,CHF,DTR2.1,P,TRUE,LRC,ANN,C,,PT1,DTR2,P0,CH,,BBA,-3.75827,ISE10 0,,2020,USD,USD,C,RA,CHF,DTR2.1,P,TRUE,LRC,ANN,I,,PT1,DTR2,P0,CH,,BBA,2.99676,MC -0,,2020,USD,USD,C,RA,CHF,DTR2.1,P,TRUE,LRC,ANN,C,,PT1,DTR2,P0,CH,,BBA,0,OCI1 +0,,2020,USD,USD,C,RA,CHF,DTR2.1,P,TRUE,LRC,ANN,C,,PT1,DTR2,P0,CH,,BBA,-0,OCI1 0,,2020,USD,USD,C,RA,CHF,DTR2.1,P,TRUE,LRC,ANN,I,,PT1,DTR2,P0,CH,,BBA,0.01119,YCU 0,,2020,USD,USD,L,RA,CHF,DTR2.1,P,TRUE,LRC,ANN,I,,PT1,DTR2,P0,CH,,BBA,-14.98378,BOP 0,,2020,USD,USD,L,RA,CHF,DTR2.1,P,TRUE,LRC,ANN,N,,PT1,DTR2,P0,CH,,BBA,-5.99351,BOP @@ -1535,4 +1531,4 @@ AccidentYear,AmountType,AnnualCohort,ContractualCurrency,Currency,EconomicBasis, 0,,2020,USD,USD,L,RA,CHF,DTR2.1,P,TRUE,LRC,ANN,N,,PT1,DTR2,P0,CH,,BBA,2.24813,EV 0,,2020,USD,USD,L,RA,CHF,DTR2.1,P,TRUE,LRC,ANN,I,,PT1,DTR2,P0,CH,,BBA,-0.00549,IA 0,,2020,USD,USD,L,RA,CHF,DTR2.1,P,TRUE,LRC,ANN,N,,PT1,DTR2,P0,CH,,BBA,-0.00274,IA -0,,2020,USD,USD,L,RA,CHF,DTR2.1,P,TRUE,LRC,ANN,I,,PT1,DTR2,P0,CH,,BBA,2.99676,MC +0,,2020,USD,USD,L,RA,CHF,DTR2.1,P,TRUE,LRC,ANN,I,,PT1,DTR2,P0,CH,,BBA,2.99676,MC \ No newline at end of file diff --git a/ifrs17-template/Test/PracticalCase-CompareReinsuranceTest.ipynb b/ifrs17-template/Test/PracticalCase-CompareReinsuranceTest.ipynb index 0c658c79..01813e30 100644 --- a/ifrs17-template/Test/PracticalCase-CompareReinsuranceTest.ipynb +++ b/ifrs17-template/Test/PracticalCase-CompareReinsuranceTest.ipynb @@ -273,7 +273,7 @@ { "cell_type": "code", "source": [ - "csmAM.Where(x => x.Scenario == \"LR80\").Sum(x => x.Value).Should().BeApproximately(-55.01464, Precision);" + "csmAM.Where(x => x.Scenario == \"LR80\").Sum(x => x.Value).Should().BeApproximately(-55.01463, Precision);" ], "metadata": {}, "execution_count": 0, diff --git a/ifrs17/Constants/Consts.ipynb b/ifrs17/Constants/Consts.ipynb index 24be6fab..4d03faba 100644 --- a/ifrs17/Constants/Consts.ipynb +++ b/ifrs17/Constants/Consts.ipynb @@ -363,19 +363,20 @@ "cell_type": "code", "source": [ "public static class AmountTypes{", - "\n public const string ACA = nameof(ACA); // Attributable Commissions Acquisition", - "\n public const string AEA = nameof(AEA); // Attributable Expenses Acquisition", - "\n public const string CDR = nameof(CDR); // Credit Default Risk", - "\n public const string CL = nameof(CL); // Claims", - "\n public const string PR = nameof(PR); // Premiums", - "\n public const string NIC = nameof(NIC); // Claims Non-Investment component", - "\n public const string ICO = nameof(ICO); // Claims Investment component", - "\n public const string NE = nameof(NE); // Non Attributable Expenses", - "\n public const string ACM = nameof(ACM); // Attributable Commissions Maintenance", - "\n public const string AEM = nameof(AEM); // Attributable Expenses Maintenance", - "\n public const string AC = nameof(AC); // Attributable Commissions", - "\n public const string AE = nameof(AE); // Attributable Expenses", - "\n public const string ULE = nameof(ULE); // Unallocated Loss Adjustment Expenses", + "\n public const string ACA = nameof(ACA); // Attributable Commissions Acquisition", + "\n public const string AEA = nameof(AEA); // Attributable Expenses Acquisition", + "\n public const string CDR = nameof(CDR); // Credit Default Risk", + "\n public const string CDRI = nameof(CDRI); // Initial Credit Default Risk, i.e. the CDR value when the GIC state is set to active", + "\n public const string CL = nameof(CL); // Claims", + "\n public const string PR = nameof(PR); // Premiums", + "\n public const string NIC = nameof(NIC); // Claims Non-Investment component", + "\n public const string ICO = nameof(ICO); // Claims Investment component", + "\n public const string NE = nameof(NE); // Non Attributable Expenses", + "\n public const string ACM = nameof(ACM); // Attributable Commissions Maintenance", + "\n public const string AEM = nameof(AEM); // Attributable Expenses Maintenance", + "\n public const string AC = nameof(AC); // Attributable Commissions", + "\n public const string AE = nameof(AE); // Attributable Expenses", + "\n public const string ULE = nameof(ULE); // Unallocated Loss Adjustment Expenses", "\n}" ], "metadata": {}, diff --git a/ifrs17/Import/1ImportScope-Identities.ipynb b/ifrs17/Import/1ImportScope-Identities.ipynb index 74ca3428..f0432d13 100644 --- a/ifrs17/Import/1ImportScope-Identities.ipynb +++ b/ifrs17/Import/1ImportScope-Identities.ipynb @@ -33,6 +33,15 @@ "This notebook contains the logic used to perform calculations upon import of data (actuals and cash flows). This is also called 'Data Loading' and the concept of Scope is used here to define the logic and provide the means of executing the logic. Scopes are used to define and perform data handling in a structured and easy-to-read-through fashion.", "\n", "\n

", + "\nImport scopes are divided in several notebooks:", + "\n- Calculation of Identities", + "\n- [Calculation of Present Values](../Import/2ImportScope-PresentValue)", + "\n- [Calculation of Actuals](../Import/3ImportScope-Actuals)", + "\n- [Calculation of Technical Margin](../Import/4ImportScope-TechnicalMargin)", + "\n- [Creation of Ifrs Variables](../Import/5ImportScope-ToIfrsVar)", + "\n- [Calculation of Ifrs Variables](../Import/6ImportScope-Compute)", + "\n", + "\n

", "\nIn this notebook the focus is on the defintion of the Identities and on the AoC Step structure and relations required for the computations. ", "\n" ], @@ -235,8 +244,10 @@ "\n IEnumerable BeAmountTypes => GetStorage().GetRawVariables(Identity)", "\n .Where(rv => rv.AmountType != null)", "\n .Select(x => x.AmountType)", - "\n .Concat(GetStorage().DataNodeDataBySystemName[Identity].IsReinsurance ? (AmountTypes.CDR).RepeatOnce() : Enumerable.Empty())", - "\n .ToHashSet();", + "\n .Concat(GetStorage().DataNodeDataBySystemName[Identity].IsReinsurance ", + "\n ? GetStorage().DataNodeDataBySystemName[Identity].LiabilityType == LiabilityTypes.LIC ", + "\n ? new []{AmountTypes.CDR} : new []{AmountTypes.CDRI, AmountTypes.CDR} ", + "\n : Enumerable.Empty()).ToHashSet();", "\n ", "\n ", "\n IEnumerable ActualAmountTypes => GetStorage().GetIfrsVariables(Identity)", diff --git a/ifrs17/Import/2ImportScope-PresentValue.ipynb b/ifrs17/Import/2ImportScope-PresentValue.ipynb index 333a2587..3bf1b601 100644 --- a/ifrs17/Import/2ImportScope-PresentValue.ipynb +++ b/ifrs17/Import/2ImportScope-PresentValue.ipynb @@ -29,7 +29,16 @@ { "cell_type": "markdown", "source": [ - "In this notebook the focus is on the calculation of present values. " + "Import scopes are divided in several notebooks:", + "\n- [Calculation of Identities](../Import/1ImportScope-Identities)", + "\n- Calculation of Present Values", + "\n- [Calculation of Actuals](../Import/3ImportScope-Actuals)", + "\n- [Calculation of Technical Margin](../Import/4ImportScope-TechnicalMargin)", + "\n- [Creation of Ifrs Variables](../Import/5ImportScope-ToIfrsVar)", + "\n- [Calculation of Ifrs Variables](../Import/6ImportScope-Compute)", + "\n", + "\n

", + "\nIn this notebook the focus is on the calculation of present values." ], "metadata": {}, "execution_count": 0, @@ -155,8 +164,8 @@ "public interface NominalCashflow : IScope<(ImportIdentity Id, string AmountType, string EstimateType, int? AccidentYear), ImportStorage>", "\n{", "\n static ApplicabilityBuilder ScopeApplicabilityBuilder(ApplicabilityBuilder builder) =>", - "\n builder.ForScope(s => s.WithApplicability(x => x.Identity.AmountType == AmountTypes.CDR && x.Identity.Id.AocType == AocTypes.CF)", - "\n .WithApplicability(x => x.Identity.AmountType == AmountTypes.CDR)", + "\n builder.ForScope(s => s.WithApplicability(x => x.GetStorage().GetCdr().Contains(x.Identity.AmountType) && x.Identity.Id.AocType == AocTypes.CF)", + "\n .WithApplicability(x => x.GetStorage().GetCdr().Contains(x.Identity.AmountType))", "\n .WithApplicability(x => x.GetStorage().GetShift(x.Identity.Id.ProjectionPeriod) >= MonthInAYear && x.Identity.Id.AocType == AocTypes.BOP && x.Identity.Id.Novelty == Novelties.I));", "\n", "\n AocStep referenceAocStep => GetScope(Identity.Id).Value;", @@ -169,7 +178,8 @@ "\n .Select(claim => GetStorage().GetValues(Identity.Id with {AocType = referenceAocStep.AocType, Novelty = referenceAocStep.Novelty}, claim, Identity.EstimateType, Identity.AccidentYear))", "\n .AggregateDoubleArray();", "\n ", - "\n private double nonPerformanceRiskRate => GetStorage().GetNonPerformanceRiskRate(Identity.Id);", + "\n private string cdrBasis => Identity.AmountType == AmountTypes.CDR ? EconomicBases.C : EconomicBases.L;", + "\n private double nonPerformanceRiskRate => GetStorage().GetNonPerformanceRiskRate(Identity.Id, cdrBasis);", "\n ", "\n private double[] PvCdrDecumulated { get {", "\n var ret = new double[NominalClaimsCashflow.Length];", @@ -276,7 +286,7 @@ "\n private PeriodType periodType => GetStorage().GetPeriodType(Identity.AmountType, Identity.EstimateType); ", "\n ", "\n static ApplicabilityBuilder ScopeApplicabilityBuilder(ApplicabilityBuilder builder) =>", - "\n builder.ForScope(s => s.WithApplicability(x => x.Identity.Id.IsReinsurance && x.Identity.AmountType == AmountTypes.CDR));", + "\n builder.ForScope(s => s.WithApplicability(x => x.Identity.Id.IsReinsurance && x.GetStorage().GetCdr().Contains(x.Identity.AmountType)));", "\n", "\n [NotVisible]", "\n string EconomicBasis => GetContext();", @@ -292,7 +302,8 @@ "\n", "\npublic interface DiscountedCreditRiskCashflow : DiscountedCashflow", "\n{ ", - "\n private double nonPerformanceRiskRate => GetStorage().GetNonPerformanceRiskRate(Identity.Id);", + "\n private string cdrBasis => Identity.AmountType == AmountTypes.CDR ? EconomicBases.C : EconomicBases.L;", + "\n private double nonPerformanceRiskRate => GetStorage().GetNonPerformanceRiskRate(Identity.Id, cdrBasis);", "\n ", "\n double[] DiscountedCashflow.Values => Multiply(-1d, NominalValues.ComputeDiscountAndCumulateWithCreditDefaultRisk(MonthlyDiscounting, nonPerformanceRiskRate)); // we need to flip the sign to create a reserve view", "\n}" @@ -455,7 +466,8 @@ "\n private double[] nominalClaimsCashflow => GetScope(Identity).Values;", "\n private double[] nominalValuesCreditRisk => Multiply(-1, GetScope(Identity with {Id = Identity.Id with {AocType = AocTypes.CF}}).Values);", "\n private double[] monthlyInterestFactor => GetScope(Identity.Id).Interest;", - "\n private double nonPerformanceRiskRate => GetStorage().GetNonPerformanceRiskRate(Identity.Id);", + "\n private string cdrBasis => Identity.AmountType == AmountTypes.CDR ? EconomicBases.C : EconomicBases.L;", + "\n private double nonPerformanceRiskRate => GetStorage().GetNonPerformanceRiskRate(Identity.Id, cdrBasis);", "\n ", "\n double[] GetInterestAccretion() ", "\n {", @@ -516,7 +528,7 @@ "\n .WithApplicability(x => x.Identity.Id.AocType == AocTypes.CF)", "\n .WithApplicability(x => x.Identity.Id.AocType == AocTypes.IA)", "\n .WithApplicability(x => ComputationHelper.AocTypeWithNoPv.Contains(x.Identity.Id.AocType) ||", - "\n (x.Identity.Id.AocType == AocTypes.CRU && x.Identity.AmountType != AmountTypes.CDR) )", + "\n (x.Identity.Id.AocType == AocTypes.CRU && !x.GetStorage().GetCdr().Contains(x.Identity.AmountType)) ) ", "\n );", "\n ", "\n [NotVisible][IdentityProperty][Dimension(typeof(EconomicBasis))]", @@ -543,7 +555,7 @@ "\n", "\npublic interface PresentValueWithInterestAccretion : PresentValue, IWithInterestAccretion {", "\n static ApplicabilityBuilder ScopeApplicabilityBuilder(ApplicabilityBuilder builder) =>", - "\n builder.ForScope(s => s.WithApplicability(x => x.Identity.Id.IsReinsurance && x.Identity.AmountType == AmountTypes.CDR)); ", + "\n builder.ForScope(s => s.WithApplicability(x => x.Identity.Id.IsReinsurance && x.GetStorage().GetCdr().Contains(x.Identity.AmountType))); ", "\n [NotVisible] double[] PresentValue.Values => GetInterestAccretion();", "\n}", "\n", diff --git a/ifrs17/Import/3ImportScope-Actuals.ipynb b/ifrs17/Import/3ImportScope-Actuals.ipynb index 35c5d9d3..6810805f 100644 --- a/ifrs17/Import/3ImportScope-Actuals.ipynb +++ b/ifrs17/Import/3ImportScope-Actuals.ipynb @@ -29,7 +29,16 @@ { "cell_type": "markdown", "source": [ - "In this notebook the focus is on the calculation of actuals values. " + "Import scopes are divided in several notebooks:", + "\n- [Calculation of Identities](../Import/1ImportScope-Identities)", + "\n- [Calculation of Present Values](../Import/2ImportScope-PresentValue)", + "\n- Calculation of Actuals", + "\n- [Calculation of Technical Margin](../Import/4ImportScope-TechnicalMargin)", + "\n- [Creation of Ifrs Variables](../Import/5ImportScope-ToIfrsVar)", + "\n- [Calculation of Ifrs Variables](../Import/6ImportScope-Compute)", + "\n", + "\n

", + "\nIn this notebook the focus is on the calculation of actuals values." ], "metadata": {}, "execution_count": 0, diff --git a/ifrs17/Import/4ImportScope-TechnicalMargin.ipynb b/ifrs17/Import/4ImportScope-TechnicalMargin.ipynb index af618f2a..971435b4 100644 --- a/ifrs17/Import/4ImportScope-TechnicalMargin.ipynb +++ b/ifrs17/Import/4ImportScope-TechnicalMargin.ipynb @@ -29,7 +29,17 @@ { "cell_type": "markdown", "source": [ - "In this notebook the focus is on the calculation of Contractual Service Margin, Loss Component and Loss Recovery Component. ", + "Import scopes are divided in several notebooks:", + "\n- [Calculation of Identities](../Import/1ImportScope-Identities)", + "\n- [Calculation of Present Values](../Import/2ImportScope-PresentValue)", + "\n- [Calculation of Actuals](../Import/3ImportScope-Actuals)", + "\n- Calculation of Technical Margin", + "\n- [Creation of Ifrs Variables](../Import/5ImportScope-ToIfrsVar)", + "\n- [Calculation of Ifrs Variables](../Import/6ImportScope-Compute)", + "\n", + "\n

", + "\nIn this notebook the focus is on the calculation of Contractual Service Margin, Loss Component and Loss Recovery Component.", + "\n", "\n

", "\nThe Contractual Service Margin ($CSM$) denotes the unearned profit from an insurance contract or group of insurance contracts and plays a critical role in the calculation of profit & loss values. Similarly, the unearned loss is denoted by Loss Component ($LC$), Loss Recovery Component in the case of reinsurance contracts." ], @@ -234,7 +244,7 @@ "\n [NotVisible] string EconomicBasis => EconomicBases.L;", "\n ", "\n double Value => GetScope(Identity.DataNode).BeAmountTypes", - "\n .Except(GetStorage().GetNonAttributableAmountType())", + "\n .Except(GetStorage().GetNonAttributableAmountType().Concat(AmountTypes.CDR.RepeatOnce()))", "\n .Sum(at => GetScope((Identity, at, EstimateTypes.BE, (int?)null), o => o.WithContext(EconomicBasis)).Value) +", "\n GetScope(Identity).Value;", "\n ", diff --git a/ifrs17/Import/5ImportScope-ToIfrsVar.ipynb b/ifrs17/Import/5ImportScope-ToIfrsVar.ipynb index 0fec8b4d..c421859b 100644 --- a/ifrs17/Import/5ImportScope-ToIfrsVar.ipynb +++ b/ifrs17/Import/5ImportScope-ToIfrsVar.ipynb @@ -29,7 +29,16 @@ { "cell_type": "markdown", "source": [ - "In this notebook the focus is on the creation of Ifrs Variable from the Scopes. " + "Import scopes are divided in several notebooks:", + "\n- [Calculation of Identities](../Import/1ImportScope-Identities)", + "\n- [Calculation of Present Values](../Import/2ImportScope-PresentValue)", + "\n- [Calculation of Actuals](../Import/3ImportScope-Actuals)", + "\n- [Calculation of Technical Margin](../Import/4ImportScope-TechnicalMargin)", + "\n- Creation of Ifrs Variables", + "\n- [Calculation of Ifrs Variables](../Import/6ImportScope-Compute)", + "\n", + "\n

", + "\nIn this notebook the focus is on the creation of Ifrs Variable from the Scopes." ], "metadata": {}, "execution_count": 0, diff --git a/ifrs17/Import/6ImportScope-Compute.ipynb b/ifrs17/Import/6ImportScope-Compute.ipynb index a3b94c0f..68c6b320 100644 --- a/ifrs17/Import/6ImportScope-Compute.ipynb +++ b/ifrs17/Import/6ImportScope-Compute.ipynb @@ -29,7 +29,16 @@ { "cell_type": "markdown", "source": [ - "In this notebook the focus is on the calculation of the minimal set of Ifrs Variable given the import Format. " + "Import scopes are divided in several notebooks:", + "\n- [Calculation of Identities](../Import/1ImportScope-Identities)", + "\n- [Calculation of Present Values](../Import/2ImportScope-PresentValue)", + "\n- [Calculation of Actuals](../Import/3ImportScope-Actuals)", + "\n- [Calculation of Technical Margin](../Import/4ImportScope-TechnicalMargin)", + "\n- [Creation of Ifrs Variables](../Import/5ImportScope-ToIfrsVar)", + "\n- Calculation of Ifrs Variables", + "\n", + "\n

", + "\nIn this notebook the focus is on the calculation of the minimal set of Ifrs Variable given the import Format." ], "metadata": {}, "execution_count": 0, diff --git a/ifrs17/Import/ImportStorage.ipynb b/ifrs17/Import/ImportStorage.ipynb index f566d2c0..514e0680 100644 --- a/ifrs17/Import/ImportStorage.ipynb +++ b/ifrs17/Import/ImportStorage.ipynb @@ -115,8 +115,10 @@ "\n //Parameters", "\n public Dictionary LockedInYieldCurve { get; private set; }", "\n public Dictionary> CurrentYieldCurve { get; private set; }", - "\n public Dictionary> PartnerRating { get; private set; }", - "\n public Dictionary> CreditDefaultRates { get; private set; }", + "\n public Dictionary> LockedInPartnerRating { get; private set; }", + "\n public Dictionary> CurrentPartnerRating { get; private set; }", + "\n public Dictionary> LockedInCreditDefaultRates { get; private set; }", + "\n public Dictionary> CurrentCreditDefaultRates { get; private set; }", "\n public Dictionary> SingleDataNodeParametersByGoc { get; private set; }", "\n public Dictionary>> InterDataNodeParametersByGoc { get; private set; }", "\n public Dictionary AocConfigurationByAocStep { get; private set; }", @@ -218,8 +220,16 @@ "\n DataNodesByImportScope = new Dictionary> { { ImportScope.Primary, primaryScope }, { ImportScope.Secondary, secondaryScope } };", "\n ", "\n // Parameters", - "\n PartnerRating = await workspace.LoadCurrentAndPreviousParameterAsync(args, x => x.Partner);", - "\n CreditDefaultRates = await workspace.LoadCurrentAndPreviousParameterAsync(args, x => x.CreditRiskRating);", + "\n CurrentPartnerRating = await workspace.LoadCurrentAndPreviousParameterAsync(args, x => x.Partner);", + "\n CurrentCreditDefaultRates = await workspace.LoadCurrentAndPreviousParameterAsync(args, x => x.CreditRiskRating);", + "\n var initialYears = DataNodeDataBySystemName.Values.Select(dn => dn.Year).ToHashSet();", + "\n LockedInPartnerRating = new Dictionary>();", + "\n LockedInCreditDefaultRates = new Dictionary>();", + "\n foreach (var year in initialYears)", + "\n {", + "\n LockedInPartnerRating[year] = await workspace.LoadCurrentParameterAsync(args with { Year = year, Month = args.Year == year ? args.Month : MonthInAYear }, x => x.Partner);", + "\n LockedInCreditDefaultRates[year] = await workspace.LoadCurrentParameterAsync(args with { Year = year, Month = args.Year == year ? args.Month : MonthInAYear }, x => x.CreditRiskRating);", + "\n }", "\n SingleDataNodeParametersByGoc = await workspace.LoadSingleDataNodeParametersAsync(args);", "\n LockedInYieldCurve = await workspace.LoadLockedInYieldCurveAsync(args, allImportScopes.Select(dn => DataNodeDataBySystemName[dn]));", "\n CurrentYieldCurve = await workspace.LoadCurrentYieldCurveAsync(args, allImportScopes.Select(dn => DataNodeDataBySystemName[dn])); //TODO Rename this variable", @@ -360,16 +370,28 @@ "\n //Accident years", "\n public IEnumerable GetAccidentYears(string dataNode) => AccidentYearsByDataNode.TryGetValue(dataNode, out var accidentYear) ? accidentYear : new int?[] { null };", "\n ", - "\n // Parameters", - "\n public double GetNonPerformanceRiskRate (ImportIdentity identity) {", - "\n var period = GetCreditDefaultRiskPeriod(identity) == PeriodType.BeginningOfPeriod ? PreviousPeriod : CurrentPeriod;", - "\n ", + "\n //Parameters", + "\n public double GetNonPerformanceRiskRate (ImportIdentity identity, string cdrBasis)", + "\n {", "\n if(!DataNodeDataBySystemName.TryGetValue(identity.DataNode, out var dataNodeData)) ApplicationMessage.Log(Error.DataNodeNotFound, identity.DataNode);", "\n if(dataNodeData.Partner == null) ApplicationMessage.Log(Error.PartnerNotFound, identity.DataNode);", - "\n // if Partner == Internal then return 0;", - "\n if(!PartnerRating.TryGetValue(dataNodeData.Partner, out var rating)) ApplicationMessage.Log(Error.RatingNotFound, dataNodeData.Partner);", - "\n if(!CreditDefaultRates.TryGetValue(rating[period].CreditRiskRating, out var rate)) ApplicationMessage.Log(Error.CreditDefaultRateNotFound, rating[period].CreditRiskRating);", - "\n return Math.Pow(1d + rate[period].Values[0], 1d / 12d) - 1d;", + "\n ", + "\n double rate;", + "\n if(cdrBasis == EconomicBases.C)", + "\n { ", + "\n var period = GetCreditDefaultRiskPeriod(identity) == PeriodType.BeginningOfPeriod ? PreviousPeriod : CurrentPeriod;", + "\n // if Partner == Internal then return 0;", + "\n if(!CurrentPartnerRating.TryGetValue(dataNodeData.Partner, out var currentRating)) ApplicationMessage.Log(Error.RatingNotFound, dataNodeData.Partner);", + "\n if(!CurrentCreditDefaultRates.TryGetValue(currentRating[period].CreditRiskRating, out var currentRate)) ApplicationMessage.Log(Error.CreditDefaultRateNotFound, currentRating[period].CreditRiskRating);", + "\n rate = currentRate[period].Values[0];", + "\n }", + "\n else", + "\n {", + "\n if(!LockedInPartnerRating[dataNodeData.Year].TryGetValue(dataNodeData.Partner, out var lockedRating)) ApplicationMessage.Log(Error.RatingNotFound, dataNodeData.Partner);", + "\n if(!LockedInCreditDefaultRates[dataNodeData.Year].TryGetValue(lockedRating.CreditRiskRating, out var lockedRate)) ApplicationMessage.Log(Error.CreditDefaultRateNotFound, lockedRating.CreditRiskRating);", + "\n rate = lockedRate.Values[0];", + "\n }", + "\n return Math.Pow(1d + rate, 1d / 12d) - 1d;", "\n }", "\n ", "\n public double GetPremiumAllocationFactor(ImportIdentity id) => SingleDataNodeParametersByGoc.TryGetValue(id.DataNode, out var singleDataNodeParameter) ", @@ -399,6 +421,7 @@ "\n public IEnumerable GetInvestmentClaims() => hierarchyCache.Get(AmountTypes.ICO).Descendants(includeSelf : true).Select(x => x.SystemName);", "\n public IEnumerable GetPremiums() => hierarchyCache.Get(AmountTypes.PR).Descendants(includeSelf : true).Select(x => x.SystemName);", "\n public IEnumerable GetClaims() => hierarchyCache.Get(AmountTypes.CL).Descendants().Select(x => x.SystemName);", + "\n public IEnumerable GetCdr() => hierarchyCache.Get(AmountTypes.CDR).Descendants(includeSelf: true).Select(x => x.SystemName);", "\n}" ], "metadata": {}, diff --git a/ifrs17/README.md b/ifrs17/README.md index f3229e57..f2d16ff3 100644 --- a/ifrs17/README.md +++ b/ifrs17/README.md @@ -18,7 +18,7 @@ Open our [**IFRS 17 Template**](https://portal.systemorph.cloud/project/ifrs17-t If you want to know more about the Calculation Engine than just its standard technical use, you are recommended to look at [Overview Calculation Engine](./OverviewCalculationEngine) notebook. You will be introduced to: - [DataModel](./DataModel/DataStructure) with links to detailed description of individual data types, dimensions and partitions employed -- [Import Calculation](./Import/ImportScopeCalculation) with in detail description using mathematical formulas and links to supporting material +- [Import Calculation](./Import/1ImportScope-Identities) with in detail description using mathematical formulas and links to supporting material

IFRS 17 Solution Overview diff --git a/ifrs17/Report/ParameterReportMutableScopeInteractive.ipynb b/ifrs17/Report/ParameterReportMutableScopeInteractive.ipynb index 199e3776..6f252599 100644 --- a/ifrs17/Report/ParameterReportMutableScopeInteractive.ipynb +++ b/ifrs17/Report/ParameterReportMutableScopeInteractive.ipynb @@ -154,7 +154,7 @@ "\n async Task GetPartnerRatingReport()", "\n {", "\n await GetStorage().InitializeAsync((Year, Month), ReportingNode, Scenario, CurrencyType);", - "\n var data = await workspace.GetPartnerRatingsReportParametersAsync(GetArgs());", + "\n var data = await workspace.GetCurrentPartnerRatingsReportParametersAsync(GetArgs());", "\n return await report.ForObjects(data)", "\n .WithQuerySource(workspace)", "\n .GroupRowsBy(x => x.Partner)", @@ -166,7 +166,7 @@ "\n async Task GetDefaultRatesReport()", "\n {", "\n await GetStorage().InitializeAsync((Year, Month), ReportingNode, Scenario, CurrencyType);", - "\n var data = await workspace.GetCreditDefaultRatesReportParametersAsync(GetArgs());", + "\n var data = await workspace.GetCurrentCreditDefaultRatesReportParametersAsync(GetArgs());", "\n return await report.ForObjects(data)", "\n .WithQuerySource(workspace)", "\n .GroupRowsBy(x => x.CreditRiskRating)", diff --git a/ifrs17/Report/ParameterReportsQueries.ipynb b/ifrs17/Report/ParameterReportsQueries.ipynb index 13a2b8cb..81f6690a 100644 --- a/ifrs17/Report/ParameterReportsQueries.ipynb +++ b/ifrs17/Report/ParameterReportsQueries.ipynb @@ -163,6 +163,16 @@ "source": [ "public record PartnerRatingsReportParameter : ReportParameter {", "\n [IdentityProperty]", + "\n [NotAggregated]", + "\n [Dimension(typeof(int), nameof(InitialYear))]", + "\n [NotVisible]", + "\n public int InitialYear { get; init; }", + "\n", + "\n [IdentityProperty]", + "\n [NotVisible]", + "\n public string PartnerRatingType { get; init; }", + "\n", + "\n [IdentityProperty]", "\n [NotVisible]", "\n [Dimension(typeof(Partner))]", "\n public string Partner { get; init; }", @@ -172,6 +182,16 @@ "\n}", "\npublic record CreditDefaultRatesReportParameter : ReportParameter {", "\n [IdentityProperty]", + "\n [NotAggregated]", + "\n [Dimension(typeof(int), nameof(InitialYear))]", + "\n [NotVisible]", + "\n public int InitialYear { get; init; }", + "\n ", + "\n [IdentityProperty]", + "\n [NotVisible]", + "\n public string CreditDefaultRatesType { get; init; }", + "\n", + "\n [IdentityProperty]", "\n [Dimension(typeof(CreditRiskRating))]", "\n [NotVisible]", "\n public string CreditRiskRating { get; init; }", @@ -367,8 +387,8 @@ { "cell_type": "code", "source": [ - "public static async Task GetPartnerRatingsReportParametersAsync(this IWorkspace workspace, ImportArgs args) =>", - "\n (await workspace.LoadCurrentAndPreviousParameterAsync(args, x => x.Partner))", + "public static async Task GetCurrentPartnerRatingsReportParametersAsync(this IWorkspace workspace, ImportArgs args) {", + "\n var currentPartnerRating = (await workspace.LoadCurrentAndPreviousParameterAsync(args, x => x.Partner))", "\n .Values", "\n .SelectMany(x => x.Select(y => ", "\n new PartnerRatingsReportParameter { ", @@ -380,7 +400,39 @@ "\n CreditRiskRating = y.Value.CreditRiskRating", "\n }", "\n ))", - "\n .ToArray();" + "\n .ToArray();", + "\n ", + "\n return currentPartnerRating;", + "\n}" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "public static async Task GetLockedInPartnerRatingsReportParametersAsync(this IWorkspace workspace, ImportArgs args) {", + "\n var initialYears = (await workspace.LoadDataNodesAsync(args)).Values.Select(dn => dn.Year).ToHashSet();", + "\n var lockedPartnerRating = Enumerable.Empty();", + "\n foreach (var y in initialYears) { ", + "\n var loadedPartnerRatingData = await workspace.LoadCurrentParameterAsync(args with { Year = y, Month = args.Year == y ? args.Month : MonthInAYear }, y => y.Partner);", + "\n lockedPartnerRating = lockedPartnerRating.Concat(loadedPartnerRatingData.Select(x => ", + "\n new PartnerRatingsReportParameter {", + "\n InitialYear = y,", + "\n PartnerRatingType = \"Locked-In Rating\",", + "\n Partner = x.Value.Partner,", + "\n Year = x.Value.Year,", + "\n Month = x.Value.Month,", + "\n Scenario = x.Value.Scenario,", + "\n CreditRiskRating = x.Value.CreditRiskRating", + "\n }", + "\n ));", + "\n ", + "\n }", + "\n ", + "\n return lockedPartnerRating.ToArray();", + "\n}" ], "metadata": {}, "execution_count": 0, @@ -389,22 +441,22 @@ { "cell_type": "code", "source": [ - "public static async Task GetCreditDefaultRatesReportParametersAsync(this IWorkspace workspace, ImportArgs args) {", - "\n var partnerRatings = await workspace.GetPartnerRatingsReportParametersAsync(args);", + "public static async Task GetCurrentCreditDefaultRatesReportParametersAsync(this IWorkspace workspace, ImportArgs args) {", + "\n var partnerRatings = await workspace.GetCurrentPartnerRatingsReportParametersAsync(args);", "\n ", - "\n var creditDefaultRates = (await workspace.LoadCurrentAndPreviousParameterAsync(args, x => x.CreditRiskRating))", + "\n var currentCreditDefaultRates = (await workspace.LoadCurrentAndPreviousParameterAsync(args, x => x.CreditRiskRating))", "\n .Values", "\n .SelectMany(x => x.Select(y =>", - "\n new {", + "\n new CreditDefaultRatesReportParameter{", "\n Period = ((Period)y.Key),", "\n CreditRiskRating = y.Value.CreditRiskRating,", "\n Year = y.Value.Year,", "\n Month = y.Value.Month,", "\n Scenario = y.Value.Scenario}", - "\n ));", - "\n ", + "\n )).ToArray();", + "\n", "\n var partnerDefaultRates = partnerRatings.Join(", - "\n creditDefaultRates,", + "\n currentCreditDefaultRates,", "\n pr => new {pr.Period, pr.CreditRiskRating},", "\n cdr => new {cdr.Period, cdr.CreditRiskRating},", "\n (pr, cdr) => ", @@ -424,6 +476,42 @@ "metadata": {}, "execution_count": 0, "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "public static async Task GetLockedInCreditDefaultRatesReportParametersAsync(this IWorkspace workspace, ImportArgs args) {", + "\n var initialYears = (await workspace.LoadDataNodesAsync(args)).Values.Select(dn => dn.Year).ToHashSet();", + "\n var lockedCreditDefaultRate = Enumerable.Empty();", + "\n foreach (var y in initialYears) { ", + "\n var loadedCreditDefaultRateData = await workspace.LoadCurrentParameterAsync(args with { Year = y, Month = args.Year == y ? args.Month : MonthInAYear }, y => y.CreditRiskRating);", + "\n lockedCreditDefaultRate = lockedCreditDefaultRate.Concat(loadedCreditDefaultRateData.Select(x => ", + "\n new CreditDefaultRatesReportParameter {", + "\n InitialYear = y,", + "\n CreditDefaultRatesType = \"Locked-In Rates\",", + "\n CreditRiskRating = x.Value.CreditRiskRating,", + "\n Year = x.Value.Year,", + "\n Month = x.Value.Month,", + "\n Scenario = x.Value.Scenario}", + "\n ));", + "\n ", + "\n }", + "\n", + "\n return lockedCreditDefaultRate.ToArray();", + "\n}" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] } ] } \ No newline at end of file diff --git a/ifrs17/Report/ReportScopes.ipynb b/ifrs17/Report/ReportScopes.ipynb index 6d4c0434..45db589a 100644 --- a/ifrs17/Report/ReportScopes.ipynb +++ b/ifrs17/Report/ReportScopes.ipynb @@ -275,12 +275,12 @@ "\n", "\npublic interface LockedBestEstimate: IScope<(ReportIdentity Id, CurrencyType CurrencyType), ReportStorage>, IDataCube {", "\n IDataCube LockedBestEstimate => GetScope((Identity.Id, Identity.CurrencyType, EstimateTypes.BE)).FxData", - "\n .Filter((\"LiabilityType\", Identity.Id.LiabilityType), (\"EconomicBasis\", EconomicBases.L));", + "\n .Filter((\"LiabilityType\", Identity.Id.LiabilityType), (\"EconomicBasis\", EconomicBases.L), (\"AmountType\", \"!CDRI\"));", "\n}", "\n", "\npublic interface CurrentBestEstimate: IScope<(ReportIdentity Id, CurrencyType CurrencyType), ReportStorage>, IDataCube {", "\n IDataCube CurrentBestEstimate => GetScope((Identity.Id, Identity.CurrencyType, EstimateTypes.BE)).FxData", - "\n .Filter((\"LiabilityType\", Identity.Id.LiabilityType), (\"EconomicBasis\", EconomicBases.C));", + "\n .Filter((\"LiabilityType\", Identity.Id.LiabilityType), (\"EconomicBasis\", EconomicBases.C), (\"AmountType\", \"!CDRI\"));", "\n}" ], "metadata": {},