The annuallife Library#
Overview#
The annuallife library packages TradLife_A, an
annual new business projection model of basic traditional life policies,
covering term, whole life and endowment products, built with modelx.
TradLife_A projects liability cashflows and their
present values for policies represented by model points. Projected items
include:
Premiums,
Commissions and expenses,
Claims.
Premiums are calculated using commutation functions.
Cells for investment income reserves are defined but not implemented.
See TradLife_A for more details.
Nested projection example#
The library also packages TradLife_A_EX1, an example
model that demonstrates how to build a nested projection in modelx —
a projection that, at each step, runs further inner projections. The
technique is illustrated with a Solvency II life-risk SCR and risk-margin
calculation built on TradLife_A, but the focus is the
nested-projection pattern rather than the Solvency II implementation
itself.
TradLife_A_EX1 reuses the structure, assumptions and
input data of TradLife_A; only the spaces that change
are documented on its page. See TradLife_A_EX1 for the
list of updates from TradLife_A.
Successor of simplelife and solvency2#
The annuallife library is the updated successor of the legacy
Project simplelife project. Compared with the original
simplelife model, TradLife_A introduces:
Snake-case cell and reference names following the
basiclife.BasicTerm_SCnaming convention (for example,net_cfrather thanNetInsurCF,claimsrather thanBenefitDeath).Array-based model points. Policy attributes are read from input.xlsx as 1-D NumPy arrays and addressed by the integer parameter
idx(0-based) instead ofPolicyID(1-based).A flatter space layout.
AssumptionsandPolicyAttrsare top-level spaces instead of being nested insideProjection.A renamed input space. The space holding input.xlsx-backed References is now
InputDataand is referenced asinput_databy the rest of the model.
Likewise, TradLife_A_EX1 supersedes the legacy
Project solvency2 project. Both build a Solvency II life-risk SCR
and risk-margin calculation as a reference for complex nested
projections, but TradLife_A_EX1 does so on top of the
modernized TradLife_A model. The solvency2 project
is therefore deprecated and will be removed in a future release.
How to Use the Library#
As explained in the Copying a Library section, create your own copy of the annuallife library. For example, to copy as a folder named annuallife under the path C:\path\to\your\, type below in an IPython console:
>>> import lifelib
>>> lifelib.create("annuallife", r"C:\path\to\your\annuallife")
The TradLife_A model loads its data from input.xlsx,
which lives next to the model directory inside the library folder.
To read the model on the IPython console, change the working directory
to the library folder and use modelx’s read_model function:
>>> import modelx as mx
>>> m = mx.read_model("TradLife_A")
More detailed instructions on how to read, run and inspect the model
are described in the
Basic Usage section
of the TradLife_A documentation.
Older modelx versions#
TradLife_A is saved in the modelx serializer
version 7 format and requires modelx v0.31.0 or newer.
For users whose modelx is older than v0.31.0, the library also
includes TradLife_A_mx30, a copy of TradLife_A
saved in the older serializer version 6 format. It is the same model
and reads its data from the same input.xlsx. Read it instead with:
>>> import modelx as mx
>>> m = mx.read_model("TradLife_A_mx30")
Library Contents#
File or Folder |
Description |
|---|---|
|
The |
|
The |
|
Copy of |
|
Excel workbook holding policy data, assumptions, mortality tables, scenarios and product specs. It also holds the |
|
Python script for TradLife_A: cashflow |
|
Python script for TradLife_A: present values of cashflows |
|
Python script for TradLife_A_EX1: SCR shock cashflows |
|
Python script for TradLife_A_EX1: Life SCR radar chart |
|
Python script for TradLife_A_EX1: in-force run-off under the lapse-up shock |
|
Helper module providing |
|
Jupyter notebook demonstrating cashflow projection. |
|
Tutorial notebook on the space tree of |