Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
2 changes: 1 addition & 1 deletion ifrs17-template/Import/CloseImportTemplate.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,7 @@
"\n<br> For the **ImportFormat**, the following options are expected:",
"\n- ImportFormats.DataNode : [Portfolios](https://portal.systemorph.cloud/project/ifrs17/env/v1.2.0/DataModel/DataStructure#portfolios) and [Group of Contracts](https://portal.systemorph.cloud/project/ifrs17/env/v1.2.0/DataModel/DataStructure#group-of-contracts)",
"\n- ImportFormats.DataNodeState : the [state of a data node](https://portal.systemorph.cloud/project/ifrs17/env/v1.2.0/DataModel/DataStructure#data-node-state) can be either active or inactive.",
"\n- ImportFormats.DataNodeParameter : parameters are described [here](https://portal.systemorph.cloud/project/ifrs17/env/v1.2.0/DataModel/DataStructure#data-node-parameters). For **Group of Insurance Contracts** a default [Premium Allocation factor](https://portal.systemorph.cloud/project/ifrs17/env/v1.2.0/Import/ImportScopeCalculation#experience-adjustment-on-premium) of 1 is applied if the parameter is not imported.",
"\n- ImportFormats.DataNodeParameter : parameters are described [here](https://portal.systemorph.cloud/project/ifrs17/env/v1.2.0/DataModel/DataStructure#data-node-parameters). For **Group of Insurance Contracts** a default [Premium Allocation factor](https://portal.systemorph.cloud/project/ifrs17/env/v1.2.0/Import/4ImportScope-TechnicalMargin#experience-adjustment-on-premium) of 1 is applied if the parameter is not imported.",
"\n"
],
"metadata": {},
Expand Down
2 changes: 1 addition & 1 deletion ifrs17/DataModel/DataStructure.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -1796,7 +1796,7 @@
"source": [
"<a id='import-identity'></a>",
"\n## Import Identity",
"\nThe Import Identity contains the data elements used to determine the data sets which are used when performing data manipulations, e.g. during a [data import](./Import/ImportScopeCalculation). In particular, an Import Identity is defined by: DataNode, AoC Type, Novelty, and whether it's reinsurance data or not."
"\nThe Import Identity contains the data elements used to determine the data sets which are used when performing data manipulations, e.g. during a [data import](./Import/1ImportScope-Identities). In particular, an Import Identity is defined by: DataNode, AoC Type, Novelty, and whether it's reinsurance data or not."
],
"metadata": {},
"execution_count": 0,
Expand Down
459 changes: 459 additions & 0 deletions ifrs17/Import/1ImportScope-Identities.ipynb

Large diffs are not rendered by default.

831 changes: 831 additions & 0 deletions ifrs17/Import/2ImportScope-PresentValue.ipynb

Large diffs are not rendered by default.

344 changes: 344 additions & 0 deletions ifrs17/Import/3ImportScope-Actuals.ipynb

Large diffs are not rendered by default.

673 changes: 673 additions & 0 deletions ifrs17/Import/4ImportScope-TechnicalMargin.ipynb

Large diffs are not rendered by default.

295 changes: 295 additions & 0 deletions ifrs17/Import/5ImportScope-ToIfrsVar.ipynb

Large diffs are not rendered by default.

170 changes: 170 additions & 0 deletions ifrs17/Import/6ImportScope-Compute.ipynb
Original file line number Diff line number Diff line change
@@ -0,0 +1,170 @@
{
"metadata": {
"authors": [],
"id": "1-Sd2C2w2kaytthWS3cL1L",
"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": [
"<p style=\"font-weight:bold;\"> <span style=\"font-size: 36px\"> IFRS 17 Methodology </span> </p>",
"\n<p style=\"font-weight:bold;\"> <span style=\"font-size: 24px\"> Business Logic with Scopes </span> </p>"
],
"metadata": {},
"execution_count": 0,
"outputs": []
},
{
"cell_type": "markdown",
"source": [
"In this notebook the focus is on the calculation of the minimal set of Ifrs Variable given the import Format. "
],
"metadata": {},
"execution_count": 0,
"outputs": []
},
{
"cell_type": "markdown",
"source": [
"# References",
"\nLibraries and other notebooks which are needed for this notebook are imported below."
],
"metadata": {},
"execution_count": 0,
"outputs": []
},
{
"cell_type": "markdown",
"source": [
"## Notebooks"
],
"metadata": {},
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"source": [
"#!import \"5ImportScope-ToIfrsVar\""
],
"metadata": {},
"execution_count": 0,
"outputs": []
},
{
"cell_type": "markdown",
"source": [
"# Actual dependent variables"
],
"metadata": {},
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"source": [
"public interface ComputeIfrsVarsActuals : ActualToIfrsVariable, DeferrableToIfrsVariable, EaForPremiumToIfrsVariable, TmToIfrsVariable",
"\n{",
"\n IEnumerable<IfrsVariable> CalculatedIfrsVariables => Actual.Concat(AdvanceActual)",
"\n .Concat(OverdueActual)",
"\n .Concat(ActEAForPremium)",
"\n .Concat(DeferrableActual)",
"\n .Concat(Csms)",
"\n .Concat(Loss);",
"\n}"
],
"metadata": {},
"execution_count": 0,
"outputs": []
},
{
"cell_type": "markdown",
"source": [
"# Cashflow dependent variables"
],
"metadata": {},
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"source": [
"public interface ComputeIfrsVarsCashflows : PvToIfrsVariable, RaToIfrsVariable, DeferrableToIfrsVariable, EaForPremiumToIfrsVariable, TmToIfrsVariable",
"\n{",
"\n IEnumerable<IfrsVariable> CalculatedIfrsVariables => PvLocked.Concat(PvCurrent)",
"\n .Concat(RaCurrent)",
"\n .Concat(RaLocked)",
"\n .Concat(AmortizationFactor)",
"\n .Concat(BeEAForPremium)",
"\n .Concat(DeferrableActual)",
"\n .Concat(Csms)",
"\n .Concat(Loss);",
"\n}"
],
"metadata": {},
"execution_count": 0,
"outputs": []
},
{
"cell_type": "markdown",
"source": [
"# Opening dependent variables"
],
"metadata": {},
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"source": [
"public interface ComputeIfrsVarsOpenings : ActualToIfrsVariable, DeferrableToIfrsVariable, TmToIfrsVariable",
"\n{",
"\n IEnumerable<IfrsVariable> CalculatedIfrsVariables => AdvanceActual.Concat(OverdueActual)",
"\n .Concat(DeferrableActual)",
"\n .Concat(Csms)",
"\n .Concat(Loss);",
"\n}"
],
"metadata": {},
"execution_count": 0,
"outputs": []
},
{
"cell_type": "markdown",
"source": [
"# Compute "
],
"metadata": {},
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"source": [
"public interface ComputeAllScopes: IScope<ImportIdentity, ImportStorage>",
"\n{",
"\n IEnumerable<IfrsVariable> CalculatedIfrsVariables => GetStorage().ImportFormat switch {",
"\n ImportFormats.Actual => GetScope<ComputeIfrsVarsActuals>(Identity).CalculatedIfrsVariables,",
"\n ImportFormats.Cashflow => GetScope<ComputeIfrsVarsCashflows>(Identity).CalculatedIfrsVariables,",
"\n ImportFormats.Opening => GetScope<ComputeIfrsVarsOpenings>(Identity).CalculatedIfrsVariables,",
"\n };",
"\n}"
],
"metadata": {},
"execution_count": 0,
"outputs": []
}
]
}
Loading