Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
58 commits
Select commit Hold shift + click to select a range
ab3287a
add Amortisation Factor
sbatka May 10, 2023
07fdeee
add ContractTerm
sbatka May 11, 2023
e38c5c8
add InterpolationMethod at Start
sbatka May 11, 2023
62178af
prepare Getters in storage
sbatka May 11, 2023
2693e2c
add getters to ImportStorage
sbatka May 15, 2023
eb87139
add some tests
sbatka May 15, 2023
90f3a9a
Extrapolate Defferable Cashflow from first 12 values
sbatka May 15, 2023
b0b928e
add EconomicBasis to SDNP
sbatka May 16, 2023
ca45cd9
bit more
sbatka May 16, 2023
1fbdea5
enhance Param files
sbatka May 16, 2023
93b0e93
bit more data in Parameters + move CU and P
sbatka May 16, 2023
ff21851
adapt CFS for CU change
sbatka May 17, 2023
9c7c0fe
fix test file
sbatka May 17, 2023
acdff11
remove unused methods
sbatka May 17, 2023
15246af
fix signature & remove unused getter
sbatka May 17, 2023
6f949ff
reset Param files since these are optional
sbatka May 17, 2023
6401188
add validations to new parameter items
sbatka May 17, 2023
e0d659f
add ContractDuration to data model
sbatka May 17, 2023
6aad342
adapt data model
sbatka May 17, 2023
4db3cc3
adapt UnitTests for new Parameters (not passing yet)
sbatka May 17, 2023
07f3115
some documentation
sbatka May 17, 2023
23ce6b0
bit more
sbatka May 17, 2023
a9594c5
fix signature of Interpolate method
sbatka May 17, 2023
aa1066d
on importers and tests
dcolleoni May 22, 2023
935d678
clean up
dcolleoni May 22, 2023
e61b779
Cu,P
dcolleoni May 22, 2023
3863315
cu,P
dcolleoni May 22, 2023
41b4ed0
clean up
dcolleoni May 22, 2023
5952241
allow CashFlowPeriodicity and InterpolationMethod in cashflow importer
sbatka May 22, 2023
be46b84
fix tests
dcolleoni May 22, 2023
e8efe1f
Merge remote-tracking branch 'origin/DacAmortFactor' into DacAmortFactor
dcolleoni May 22, 2023
9d42003
renaming
sbatka May 23, 2023
cb180d1
fix validations
sbatka May 23, 2023
f6dbd76
more importer changes
sbatka May 23, 2023
9cfeaa3
normalize and test
dcolleoni May 23, 2023
733c7af
refactor the amortization factor calc
dcolleoni May 23, 2023
a047f48
fix test
dcolleoni May 23, 2023
e587885
fix tests
dcolleoni May 23, 2023
0230b25
update of scaffolding
sbatka May 23, 2023
b6817eb
fix test of ReleasePattern values
sbatka May 25, 2023
d7a59f9
documentation
sbatka May 25, 2023
3d2c3c7
update documentation and cleanup
sbatka May 25, 2023
9e1d33e
cosmetic
sbatka May 25, 2023
9f24a8d
fix the parser special cases & documentation
sbatka May 25, 2023
1af7594
new Validation
sbatka May 25, 2023
3137b9d
calculation
dcolleoni May 25, 2023
d0ad344
new data
dcolleoni May 25, 2023
717760e
Merge remote-tracking branch 'origin/DacAmortFactor' into PatternSetUp
dcolleoni May 25, 2023
c21b122
rename
dcolleoni May 25, 2023
f95c97c
compiles after merge
dcolleoni May 25, 2023
e581caf
Normilize not to return null but empty enum
dcolleoni May 25, 2023
782ebb5
remove new deferral
dcolleoni May 26, 2023
9d99d0c
Fix Amf from IfrsVariable (to be cherry picked)
dcolleoni May 26, 2023
f7d3e5c
update bm and ifrsVartest
dcolleoni May 26, 2023
5a7a975
add evaluation in the debug nb
dcolleoni May 26, 2023
e0eb285
Merge remote-tracking branch 'origin/develop' into paaData
dcolleoni May 26, 2023
7b54b28
improve doc and address comments
dcolleoni May 26, 2023
8d972f3
skip according to annual cohort
dcolleoni May 26, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 13 additions & 11 deletions ifrs17-template/Files/DataNodes/DataNodeParameters_CH_2020_12.csv
Original file line number Diff line number Diff line change
Expand Up @@ -3,17 +3,19 @@ ReportingNode,Year,Month
CH,2020,12
,,
@@SingleDataNodeParameter,,
DataNode,PremiumAllocation,
GicComplex,0.8,
DT1.1,0.8,
DT1.2,0.8,
DT1.3,1,
DT1.4,0.8,
DT1.5,0.8,
DT2.1,0.8,
DT2.2,0.8,
DT3.1,0.8,
DT4.1,0.8,
DataNode,PremiumAllocation,CashFlowPeriodicity,InterpolationMethod,ReleasePattern0,ReleasePattern1,ReleasePattern2,ReleasePattern3,ReleasePattern4
GicComplex,0.8,Monthly,
DT1.1,0.8,Monthly,
DT1.2,0.8,Monthly,
DT1.3,1,Monthly,
DT1.4,0.8,Monthly,
DT1.5,0.8,Monthly,
DT2.1,0.8,Monthly,
DT2.2,0.8,Monthly,
DT3.1,0.8,Monthly,
DT4.1,0.8,Monthly,
DT10.1,0,Yearly,Uniform,
DT10.2,0,Yearly,Uniform,1.41,1.14,0.87,0.58
,,
@@InterDataNodeParameter,,
DataNode,LinkedDataNode,ReinsuranceCoverage
Expand Down
2 changes: 2 additions & 0 deletions ifrs17-template/Files/DataNodes/DataNodeStates_CH_2020_12.csv
Original file line number Diff line number Diff line change
Expand Up @@ -23,3 +23,5 @@ DTR1.4,Active,
DTR2.1,Active,
DTR2.2,Active,
DTP1.1,Active,
DT10.1,Active,
DT10.2,Active,
3 changes: 3 additions & 0 deletions ifrs17-template/Files/DataNodes/DataNodes_CH.csv
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ DT2,DT2 NOCI,USD,ANN,BBA,,
DT3,DT3 RunOff,USD,ANN,BBA,Default,
DT4,DT4 OCI,USD,ANN,BBA,Default,
DT5,DT5 Simple Import,USD,ANN,BBA,Default,
DT10,DT10 PPA,USD,ANN,PAA,Default,
,,,,,,
@@GroupOfInsuranceContract,,,,,,
SystemName,DisplayName,InsurancePortfolio,AnnualCohort,LiabilityType,Profitability,
Expand All @@ -25,6 +26,8 @@ DT3.1,DT3.1 Runoff - PA 0.8,DT3,2020,LRC,P,
DT4.1,DT4.1 CSM PA 0.8,DT4,2020,LRC,P,
DT5.1,DT5.1 Simple Import on DT 4.1,DT5,2020,LRC,P,
DTP1.1,DTP1.1 Projection,DT1,2020,LRC,P,
DT10.1,DT10.1 PAA,DT10,2020,LIC,P
DT10.2,DT10.1 PAA,DT10,2020,LRC,P
,,,,,,
@@ReinsurancePortfolio,,,,,,
SystemName,DisplayName,ContractualCurrency,LineOfBusiness,ValuationApproach,OciType,
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
@@Main,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
ReportingNode,Year,Month,Scenario,,,,,,,,,,,,,,,,,,,,,,,,,,
CH,2020,12,,,,,,,,,,,,,,,,,,,,,,,,,,,
@@Cashflow,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
DataNode,AmountType,EstimateType,AocType,Novelty,AccidentYear,CashFlowPeriodicity,InterpolationMethod,Values0,Values1,Values2,Values3,Values4,Values5,Values6,Values7,Values8,Values9,Values10,Values11,Values12,Values13,Values14,Values15,Values16,Values17,Values18,Values19,Values20,Values21,Values22,Values23
DT10.2,DAE,BE,BOP,N,,Monthly,Uniform,1000,0,1300
DT10.2,PR,BE,BOP,N,,Monthly,Uniform,1000,
Original file line number Diff line number Diff line change
Expand Up @@ -202,14 +202,16 @@
{
"cell_type": "code",
"source": [
"var ret = universe.GetScopes<CumulatedNominalBE>(identities)",
"\n .SelectMany(x => x.PresentValues)",
"\n .Select(x => new {Value= x.Value, ",
"\n Id = x.Identity.Id, ",
"\n AmoutType = x.Identity.AmountType,",
"\n EstimateType = x.Identity.EstimateType,",
"\n AccidentYear = x.Identity.AccidentYear});",
"\nret.ToArray();"
"identities.First()"
],
"metadata": {},
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"source": [
"var idByDn = identities.ToDictionaryGrouped(x => x.DataNode, x => x.ToArray());"
],
"metadata": {},
"execution_count": 0,
Expand All @@ -224,6 +226,87 @@
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"source": [
"var ivs = Scopes.ForIdentities(identities, storage).ToScopes<PvToIfrsVariable>().SelectMany(x => x.PvLocked.Concat(x.PvCurrent)).ToArray();"
],
"metadata": {},
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"source": [
"var ivs = Scopes.ForIdentities(identities, storage).ToScopes<NominalToIfrsVariable>().SelectMany(x => x.CumulatedNominal).ToArray();"
],
"metadata": {},
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"source": [
"var ivs = Scopes.ForIdentities(identities, storage).ToScopes<RaToIfrsVariable>().SelectMany(x => x.RaCurrent.Concat(x.RaLocked)).ToArray();"
],
"metadata": {},
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"source": [
"var ivs = Scopes.ForIdentities(identities, storage).ToScopes<ActualToIfrsVariable>().SelectMany(x => x.Actual.Concat(x.AdvanceActual).Concat(x.OverdueActual)).ToArray();"
],
"metadata": {},
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"source": [
"var ivs = Scopes.ForIdentities(identities, storage).ToScopes<DeferrableToIfrsVariable>().SelectMany(x => x.DeferrableActual).ToArray();"
],
"metadata": {},
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"source": [
"var ivs = Scopes.ForIdentities(identities, storage).ToScopes<EaForPremiumToIfrsVariable>().SelectMany(x => x.BeEAForPremium.Concat(x.ActEAForPremium)).ToArray();"
],
"metadata": {},
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"source": [
"var ivs = Scopes.ForIdentities(identities, storage).ToScopes<EaForPremiumToIfrsVariable>().SelectMany(x => x.BeEAForPremium.Concat(x.ActEAForPremium)).ToArray();"
],
"metadata": {},
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"source": [
"var ivs = Scopes.ForIdentities(identities, storage).ToScopes<TmToIfrsVariable>().SelectMany(x => x.AmortizationFactor.Concat(x.Csms).Concat(x.Loss)).ToArray();"
],
"metadata": {},
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"source": [
""
],
"metadata": {},
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"source": [
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,19 +3,19 @@ Month,ReportingNode,Scenario,Year
12,CH,,2020
@@F
AccidentYear,AmountType,AocType,DataNode,EconomicBasis,EstimateType,Novelty,Values0
,,AM,DT1.1,L,F,C,0.65623
,CU,AM,DT1.1,L,F,C,0.65623
,,AM,DT1.2,L,F,C,1
,,AM,DT1.3,L,F,C,0.65623
,,AM,DT2.1,L,F,C,0.65623
,CU,AM,DT1.3,L,F,C,0.65623
,CU,AM,DT2.1,L,F,C,0.65623
,,AM,DT2.2,L,F,C,1
,,AM,DTR1.1,L,F,C,0.65623
,CU,AM,DTR1.1,L,F,C,0.65623
,,AM,DTR1.2,L,F,C,1
,,AM,DTR2.1,L,F,C,0.65623
,CU,AM,DTR2.1,L,F,C,0.65623
,,AM,DTR2.2,L,F,C,1
,,AM,DT3.1,L,F,C,0.65623
,,AM,DT4.1,L,F,C,0.65623
,,AM,DT1.4,L,F,C,0.65623
,,AM,DT1.5,L,F,C,0.65623
,,AM,DTR1.3,L,F,C,0.65623
,,AM,DTR1.4,L,F,C,0.65623
,CU,AM,DT3.1,L,F,C,0.65623
,CU,AM,DT4.1,L,F,C,0.65623
,CU,AM,DT1.4,L,F,C,0.65623
,CU,AM,DT1.5,L,F,C,0.65623
,CU,AM,DTR1.3,L,F,C,0.65623
,CU,AM,DTR1.4,L,F,C,0.65623
,,AM,DT5.1,L,F,C,0.65623
Original file line number Diff line number Diff line change
Expand Up @@ -3,18 +3,18 @@ Month,ReportingNode,Scenario,Year
3,CH,,2021
@@F
AccidentYear,AmountType,AocType,DataNode,EconomicBasis,EstimateType,Novelty,Values0
,,AM,DT1.1,L,F,C,0.32249
,CU,AM,DT1.1,L,F,C,0.32249
,,AM,DT1.2,L,F,C,1
,,AM,DT1.3,L,F,C,0.32249
,,AM,DT2.1,L,F,C,0.32249
,CU,AM,DT1.3,L,F,C,0.32249
,CU,AM,DT2.1,L,F,C,0.32249
,,AM,DT2.2,L,F,C,1
,,AM,DTR1.1,L,F,C,0.32249
,CU,AM,DTR1.1,L,F,C,0.32249
,,AM,DTR1.2,L,F,C,1
,,AM,DTR2.1,L,F,C,0.32249
,CU,AM,DTR2.1,L,F,C,0.32249
,,AM,DTR2.2,L,F,C,1
,,AM,DT3.1,L,F,C,1
,,AM,DT4.1,L,F,C,0.32249
,,AM,DT1.4,L,F,C,0.32249
,,AM,DT1.5,L,F,C,0.32249
,,AM,DTR1.3,L,F,C,0.32249
,,AM,DTR1.4,L,F,C,0.32249
,CU,AM,DT4.1,L,F,C,0.32249
,CU,AM,DT1.4,L,F,C,0.32249
,CU,AM,DT1.5,L,F,C,0.32249
,CU,AM,DTR1.3,L,F,C,0.32249
,CU,AM,DTR1.4,L,F,C,0.32249
2 changes: 1 addition & 1 deletion ifrs17-template/Test/IfrsVariablesTest.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -186,7 +186,7 @@
"\n var computedNotExpected = computed.Where(x => x.Values.Any(y => Math.Abs(y) > BenchmarkPrecision)).Except(expected, comparer);",
"\n if (expectedNotComputed.Any()){",
"\n foreach(var element in expectedNotComputed){",
"\n errors.Add(new BenchmarkTestResult(\"Extra expected variable for: Partition \" + element.Partition + \", \" + element.ToIdentityString()));",
"\n errors.Add(new BenchmarkTestResult(\"Extra expected variable for: Partition \" + element.Partition + \", \" + element.ToIdentityString(), element.Values, null));",
"\n }",
"\n }",
"\n if (computedNotExpected.Any()){",
Expand Down
Loading