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
1 change: 0 additions & 1 deletion README.md

This file was deleted.

File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@
{
"cell_type": "code",
"source": [
"#!import \"../DataModel/DataStructure\""
"#!import \"//ifrs17ce/dev/CalculationEngine\""
]
},
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@
{
"cell_type": "code",
"source": [
"#!import \"../Export/Export\""
"#!import \"../Export/ExportConfiguration\""
]
},
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -110,22 +110,22 @@ C,Current,20,,,,,,,,,
,,,,,,,,,,,
@@EstimateType,,,,,,,,,,,
SystemName,DisplayName,Order,StructureType,InputSource,PeriodType,ExternalId0,ExternalId1,ExternalId2,,,
BE,Best Estimate of Present Value,1,AoC,4,,,,EndOfPeriod,,,
RA,Risk Adjustment,10,AoC,4,,,,EndOfPeriod,,,
CU,CoverageUnit,15,AoC,4,,,,EndOfPeriod,,,
C,Contractual Service Margin,20,AoC,7,,,,NotApplicable,,,
L,Loss Component,30,AoC,7,,,,NotApplicable,,,
LR,Loss Recovery Component,40,AoC,7,,,,NotApplicable,,,
PL,Profit and Loss,50,None,7,,,,NotApplicable,,,
AA,Advance Actuals,60,AoC,3,PayablePR,ReceivableNIC,ReceivableICO,NotApplicable,,,
OA,Overdue Actuals,70,AoC,3,ReceivablePR,PayableNIC,PayableICO,NotApplicable,,,
DA,Deferrable Actuals,80,AoC,3,,,,NotApplicable,,,
A,Actuals,90,None,2,,,,NotApplicable,,,
F,Factors,100,None,4,,,,NotApplicable,,,
AAPA,Advance Actuals,110,None,2,,,,NotApplicable,,,
OAPA,Overdue Actuals,120,None,2,,,,NotApplicable,,,
APA,Actuals,130,None,2,,,,NotApplicable,,,
BEPA,Best Estimate of Present Value,140,None,4,,,,NotApplicable,,,
BE,Best Estimate of Present Value,1,AoC,4,EndOfPeriod,,,,,,
RA,Risk Adjustment,10,AoC,4,EndOfPeriod,,,,,,
CU,CoverageUnit,15,AoC,4,EndOfPeriod,,,,,,
C,Contractual Service Margin,20,AoC,7,NotApplicable,,,,,,
L,Loss Component,30,AoC,7,NotApplicable,,,,,,
LR,Loss Recovery Component,40,AoC,7,NotApplicable,,,,,,
PL,Profit and Loss,50,None,7,NotApplicable,,,,,,
AA,Advance Actuals,60,AoC,3,NotApplicable,PayablePR,ReceivableNIC,ReceivableICO,,,
OA,Overdue Actuals,70,AoC,3,NotApplicable,ReceivablePR,PayableNIC,PayableICO,,,
DA,Deferrable Actuals,80,AoC,3,NotApplicable,,,,,,
A,Actuals,90,None,2,NotApplicable,,,,,,
F,Factors,100,None,4,NotApplicable,,,,,,
AAPA,Advance Actuals,110,None,2,NotApplicable,,,,,,
OAPA,Overdue Actuals,120,None,2,NotApplicable,,,,,,
APA,Actuals,130,None,2,NotApplicable,,,,,,
BEPA,Best Estimate of Present Value,140,None,4,NotApplicable,,,,,,
,,,,,,,,,,,
@@LiabilityType,,,,,,,,,,,
SystemName,DisplayName,,,,,,,,,,
Expand Down
File renamed without changes
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@
{
"cell_type": "code",
"source": [
"#!import \"../Import/Importers\""
"#!import \"//ifrs17ce/dev/CalculationEngine\""
]
},
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,12 +29,6 @@
"#!import \"../Database/Configure\""
]
},
{
"cell_type": "code",
"source": [
"#!import \"../Import/Importers\""
]
},
{
"cell_type": "markdown",
"source": [
Expand Down
File renamed without changes.
135 changes: 135 additions & 0 deletions full-ifrs17-template/OverviewIFRS17Template.ipynb
Original file line number Diff line number Diff line change
@@ -0,0 +1,135 @@
{
"metadata": {
"authors": [],
"kernelspec": {
"display_name": "Formula Framework",
"language": "C#",
"name": "C#"
},
"language_info": {
"file_extension": ".cs",
"mimetype": "text/plain",
"name": "C#"
},
"toc-autonumbering": "True",
"toc-showcode": "False"
},
"nbformat": 4,
"nbformat_minor": 5,
"cells": [
{
"cell_type": "markdown",
"source": [
"<p style=\"font-weight:bold;\"> <span style=\"font-size: 36px\"> IFRS17 Template - an Overview</span> </p>"
]
},
{
"cell_type": "markdown",
"source": [
"# Introduction",
"\n",
"\nThe Systemorph's IFRS 17 Calculation Engine is a solution to conduct all the essential IFRS 17 calculations based on some key input: modeled future **cashflows** and actual amounts, for a **groups of insurance contracts** and other relevant parameters (Yield Curve, Fx, etc...). The output is a set of calculated results (CSM, Loss Component, Financial Performance, etc...) that are needed for IFRS 17 reporting, analysis, accounting, steering and other management information.",
"\n",
"\nThis notebook provides an **overview** of Systemorph's Full IFRS 17 Template with brief introductions to all the main steps."
]
},
{
"cell_type": "markdown",
"source": [
"<a id='ifrs17-intro'></a>",
"\n# IFRS 17",
"\n",
"\nIFRS 17 is a new accounting standard for insurance contracts. The previous standard IFRS 4, which is based on nominal accounting, is replaced by the economic accounting standard IFRS 17.",
"\n",
"\nIFRS 17 deals with insurance contracts which are on the liability side of the balance sheet. Other accounting standards deal with other parts of the business, primarily IFRS 9 for invested assets.",
"\n",
"\nInsurance policies need to be allocated to homogeneous groups of insurance contracts (GICs) according to high-level principles established by the IFRS 17 standard, such as contract type, line of business, annual cohort etc. Insurers have some degree of freedom to optmize those GICs, as long as they respect the high-level principles.",
"\n",
"\nInsurance contracts generate different types of cashflows. For example, **Amount Type** is a dimension refering to premiums, claims, expenses of different kinds, etc. for these cashflows. The Calculation Engine presented here expects input files of all the projected cashflows for each GIC, for different regular time points (quarterly or monthly, ...) and corresponding actual amounts observed for a given period. ",
"\n",
"\nEach cashflow is characterized by all the necessary attributes: business unit, start time, amount type, novelty of business etc. and projected cashflow amounts in a regular time grid until the final run-off of all contracts.",
"\n",
"\nIf the entered cashflows are nominal (the usual case), the the present value (PV) of each cashflow is computed using proper yield curves for discounting.",
"\n",
"\nA central element of IFRS 17 is the Analysis of Change (AoC). The present value of the business (future cashflows) changes from the beginning to the end of the accounting period due to different effects, each of them constituting a modeled AoC step.",
"\n",
"\nIn IFRS 17, the value of future profitable business has a component called the Contractual Service Margin (CSM), defined at GIC level. The profit measured as CSM is recognized slowly over time rather than immediately in financial performance statements. On the other hand, a GIC can be onerous and produce a Loss Component (LC) instead, which needs to be recognized immediately.",
"\n",
"\nSeveral reports on the valuation of cashflows, balance sheet and financial performance can be produced, each dealing with different aspects, such as",
"\n - Present Value of Future Cash Flows (PVFCF)",
"\n - Contractual Service Margin (CSM) and Loss Component (LC)",
"\n - Liability for Remaining Coverage (LRC)",
"\n - Liability for Incurred Claims (LIC)",
"\n - Financial Performance",
"\n - Accounting Events"
]
},
{
"cell_type": "markdown",
"source": [
"# Data input"
]
},
{
"cell_type": "markdown",
"source": [
"<a id='data-input-dim-nodes'></a>",
"\n## Data input: Reporting nodes, dimensions and partitions",
"\n",
"\nSee folders *Files* (DimensionsAndPartitions) and *Files/300.ReportingNodes* (ReportingNodes).",
"\n- **ReportingNodes**: List of business units, often per country, with system name and display name, currency and \"G\" for the whole group",
"\n- **DimensionsAndPartitions**: The many dimensions (21) required to characterize all of the data and results, with system names and display names. This information is quite stable, but some information related to partitions refers to the reporting nodes "
]
},
{
"cell_type": "markdown",
"source": [
"<a id='data-input-data-nodes'></a>",
"\n## Data input: Groups of insurance and reinsurance contracts",
"\n",
"\nSee folder Files/700.DataNodes. The information is about data nodes, that is Groups of Insurance Contracts (GICs) and Groups of Reinsurance Contracts (GRICs) and portfolios of these.",
"\n- **DataNodes**: List of all GICs and GRICs, each with several attributes and the portfolios to which they belong; an additional attribute of GRICs being the reinsurance partner",
"\n- **DataNodeParameters** *\\_<reportingNode\\>* *\\_<year\\>* *\\_<month\\>*: List of those GICs and GRICs that are actually used for the given reporting node/year/month combination with few attributes; if needed, more such files may be added for other reporting node/year/month combinations",
"\n- **DataNodeStates** *\\_<reportingNode\\>* *\\_<year\\>* *\\_<month\\>*: Switching data nodes on and off, the normal state is (\"Active\") for all the GICs and GRICs of the reporting node/year/month combination; if needed, more such files may be added for other reporting node/year/month combinations"
]
},
{
"cell_type": "markdown",
"source": [
"<a id='data-input-parameters'></a>",
"\n## Data input: Parameters from financial markets",
"\n",
"\nSee folder Files/800.Parameters.",
"\n- **YieldCurve**: List of all yield curves to be used, for different currencies and as-of dates (year/month), using a yearly grid of interest rate maturities extending as far as needed",
"\n- **ExchangeRate**: List of exchange rates to be used, for different currencies and as-of dates (year/month), with a type (Spot/Average); defined as the value of 1 foreign unit expressed in the group currency of the insurance company ",
"\n- **CreditDefaultRate**: For relevant year/month combinations, each with a full list of all credit ratings in S&P notation with their default rate (= probabilty of default within 1 year)",
"\n- **PartnerRating**: For each reinsurance partner of a relevant GRIC, the rating in S&P notation with the as-of date (year/month)"
]
},
{
"cell_type": "markdown",
"source": [
"<a id='data-input-transactional'></a>",
"\n## Data input: Groups of insurance and reinsurance contracts",
"\n",
"\nSee folder Files/900.TransactionalData.",
"\n- **Actuals** *\\_<reportingNode\\>* *\\_<year\\>* *\\_<month\\>*: List of all actual amounts for those GICs and GRICs that are used by the given reporting node/year/month combination, for different amount types, AoC types and other attributes; we need at least two such files for the two dates of the Analysis of Change",
"\n- **Openings** *\\_<reportingNode\\>* *\\_<year\\>* *\\_<month\\>*: List of the opening amounts for some GICs that are used by the given reporting node. The year/month combination corresponds to the beginning of the planned Analysis of Change period, so only one such file is required. The entries are by EstimateType and AmountType.",
"\n- **NominalCashflows** *\\_<reportingNode\\>* *\\_<year\\>* *\\_<month\\>*: List of all projected cash flows for those GICs and GRICs that are used by the given reporting node/year/month combination, for different amount types, AoC types, novelty types and other attributes, where the cash flow amounts are given in a regular sequence extending as far as needed; we need at least two such files for the two dates of the Analysis of Change",
"\n",
"\nThe structure of the [Actuals](./InputFormatDescription#actual), [Openings](./InputFormatDescription#opening) and [NominalCashflows](./InputFormatDescription#cashflow) files is explained in a special [notebook](./InputFormatDescription).",
"\n",
"\nThe less usual option of having discounted instead of nominal cash flows in the input is also supported."
]
},
{
"cell_type": "markdown",
"source": [
"<a id='reports'></a>",
"\n# Reports",
"\n",
"\nThe production of reports is done by a notebook such as **[Reports](./Report/Reports#report-production)**."
]
}
]
}
35 changes: 35 additions & 0 deletions full-ifrs17-template/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
![Systemorph_logo.png](https://portal.systemorph.cloud/api/project/userclone/env/dev/file/download?path=Images/Systemorph_logo.png)

**Full IFRS 17 Template**

Systemorph's IFRS 17 [Calculation Engine](https://portal.systemorph.cloud/api/project/ifrs17ce/env/dev/) is a tool to conduct all the essential IFRS 17 calculations given some key figures.
Systemorph's *Full IFRS 17 Template* uses our IFRS 17 Calculation Engine to import several use-cases and show the results.

# Get Started

Interact with this *Full IFRS 17 Template* after having cloned the project.

# Supporting Material

Check out the [video]() (this is a youtube link to Marketing)

# Report

Check out the IFRS 17 reports [here](./Report/Reports)

# Testing

If you want a step by step guide into the calculation logic, please go to the "Specification" notebook you are interested in:
- [Cashflow Calculation](./Test/SpecificationsImportCashflows)
- [Actuals Calculation](./Test/SpecificationsImportActuals)
- [Technical Margin Calculation](./Test/SpecificationsTechnicalMargin)
- [Financial Performance Calculation](./Test/SpecificationsFinancialPerformance)

# Got Questions

For support around the IFRS17 CalculationEngine you can personally reach out to one of our IFRS17 experts:
- [Dr. Andrea Muolo]()
- [Dr. Davide Colleoni](https://www.linkedin.com/in/davidecolleoni/)
- [Mrs. Sara Busato]()

If you are interested in adapting the IFRS17 CalculationEngine to your data and would like to start a collaboration with us, you can contact [Wolfgang Maehr]()
Loading