Actuarial tables¶
Life tables, commutation columns, annuity and assurance factors, net premium grids, run-off triangles, discount curves, A/E studies and model points, built from your data or from a stated basis, and shown in the HARD pane.
This is the table vocabulary the Scelo IDE gave every stage chat in 0.2. The
engine is not a copy: it is @scelo/core's actuarialTables, the same code the
IDE runs, so the same request gives the same numbers in both.
Three ways in¶
Ask what fits. /tables, or just "suggest tables", reads the loaded data and
lists what follows from it. Enter builds one:
tables this data suggests — ⏎ builds one
▸ 1. ▦ triangle — Cumulative run-off triangle
Origin (`origin_year`), development lag (`dev_period`…
↑↓ move · ⏎ pick · esc cancel
After a file loads, SOFT tells you when there are any, in one line under the
summary: ▦ tables: model points · premium table — /tables. Nothing
actuarial in the file, no line.
Type the request. Anything that reads as a request to build a table is parsed and built locally, with no model in the loop, so it works offline and gives the same answer every time:
build a life table at 4 % from age 20 to 100
built Life table · Gompertz–Makeham (illustrative) — 81 rows × 8 cols
in HARD now · /copy table · /export writes it as csv
build a cumulative run-off triangle of `paid` by `origin_year` and `dev_period`
build a commutation table at 3.5 %
build a net premium table for term assurance
build discount factors at a flat 5 % out to 40 years
build model points in 5-year age bands
Lead with the verb ("build", "make", "create"). A question such as "what is a life table?" is left to the model, which can explain it.
Ask the model. For anything the parser does not recognise, the chat model
knows the same protocol the IDE teaches its chats: it answers with a ```table
block naming a spec, and Scelo builds the table from that spec. The model
never types the numbers. The reply in the pane shows what was built first and
the model's sentence of context after it.
Where your data comes in¶
| the data has | you get |
|---|---|
| age + qx, lx, or deaths and exposure | life table, commutation, annuity factors, A/E (deaths/exposure) |
| origin + development (or payment) period + an amount | run-off triangle |
| age + sum assured + policy term | model points, net premium grid |
| tenor + rate | discount curve |
With none of those, tables still build on Scelo's illustrative Gompertz–Makeham basis (A = 0.00022, B = 2.7e-6, c = 1.124), and the title says illustrative every time it is used. It is a stated assumption, never a silent one.
In the HARD pane¶
A built table takes the table's place, headed actuarial table · /run returns.
Large values are shown without their decimals so eight columns fit a third of
the screen; small ones (qx, px) are shown as the engine rounded them.
/copy table and the export keep full precision.
/run anything puts the analysis back, as does /tables off. Tables you have
built stay on the session's shelf (up to twelve, as in the IDE), and /tables
lists them under the suggestions for showing again.
Export¶
/export writes each table as table-<title>.csv beside data.csv, and puts
them in the .sce in the IDE's own WorkspaceTable shape, with a table.build
event for each. The table ids use the IDE's scheme, so the same spec built in
either app is the same table.