Financial Modelling · Section 3
Contracts as compositions
The algebra of financial terms — how quota share, CatXoL, and AggXoL are each a composition of the same small set of building blocks.
The dissection translated Contract 1 into four terms applied in sequence, with participation booked at roll-up. Those same terms — with different parameters and wiring — assemble every other Helios Re contract too:
- Contract 5 (Baltica EU Windstorm Quota Share, 25%) — filter to EU windstorm, check the coverage period, scale every loss by 25%.
- Contract 3 (SunCoast All-US AggXoL, $50M xs $300M, net of C1+C2) — filter to SunCoast’s US perils, subtract C1 and C2 gross losses (inuring), check the coverage period, sum all occurrences per trial and apply an attachment and limit to the total.
Notice the reuse: a CatXoL applies an attachment and limit per occurrence, and an AggXoL applies the same operation to the aggregate; a quota share’s event limit is the CatXoL’s occurrence layer with zero attachment. The same five blocks recur:
| Building block | Contract type | ||
|---|---|---|---|
| Quota Share | CatXoL | AggXoL | |
| Loss filter | ✓ (peril / geography) | ✓ (peril / geography) | ✓ (peril / geography) |
| Contract period | ✓ | ✓ | ✓ |
| Scaling | ✓ (cession %) | — | — |
| Occurrence excess | optional (event limit) | ✓ (, ) | — |
| Aggregate excess | optional (annual limit) | ✓ (, ) | ✓ (, ) |
The five building blocks
Section titled “The five building blocks”Each block is formalized in the term reference, where you will find its formula, its effect on Trial 9 in isolation, a runnable implementation over the YELT, and the EP curves it produces across all 20 trials of the demo tier:
| Term | What it does | Notation |
|---|---|---|
| Loss filter | Keeps only the YELT rows matching a predicate (peril, geography, line of business) | |
| Contract period | Drops events outside the coverage window | |
| Scaling | Multiplies every loss by a constant — a quota share’s cession, and the roll-up’s participation scaling | |
| Occurrence excess | Applies an attachment and limit to each occurrence | |
| Aggregate excess | Applies an attachment and limit to the trial total |
Two of these change the granularity of the data: occurrence excess preserves per-occurrence rows, while aggregate excess collapses all occurrences within a trial into a single trial-level result. That resolution change matters when composing — downstream terms after an aggregate excess receive trial-level data, not occurrence-level. The catalog also covers optional terms that build on these — such as triggers — used in the more elaborate structures.
Composing contracts from the blocks
Section titled “Composing contracts from the blocks”A contract is what you get when you chain the blocks together: each contract type is a specific composition of the same terms, differing only in which ones it uses and how they are parameterised.
We write a composition as : apply first, then to the result, and so on. Data flows left to right through the pipeline, but the formula reads right to left, following the mathematical convention for function composition — so every contract below begins, on the right, with a filter and a coverage period selecting the losses it sees.
Every composition defines its contract at 100% — the whole layer, however the placement is split among reinsurers. Participation is deliberately absent from the definitions: it is a scaling applied at portfolio roll-up, where Helios Re books its share of each contract. An implementer who writes participation into the contract and scales again at roll-up double-counts it.
The simplest structure: a fixed cession percentage behind a filter and a coverage period.
Optional event and annual limits add an occurrence excess and an aggregate excess into the pipeline.
The occurrence excess clips each event; the aggregate excess caps the annual total (the limit encodes reinstatements).
Drops the per-occurrence layer: the aggregate excess applies directly to the trial total.
The term reference and contract catalog formalize each block and each contract in turn. Beyond the canonical types, contracts can also feed one another — the programs page covers the sourcing and inuring relationships that turn a stack of contracts into a graph. And every contract produces not only a gross loss but a full set of financial perspectives: subject, covered, gross, retained, and net.