Module ContingentClaims.Lifecycle.Util

This module defines a set of utility functions to extract information from claim trees.

Functions

fixings

: Claim t x a o -> [t]

Return the fixing dates of a claim. This does not discriminate between optional dates which may result from a condition, and outright fixings. It also does not correctly account for malformed trees, where subtrees are orphaned due to impossible When statements, e.g., When (t > 1) ((When t < 1) _).

expiry

: Ord t => Claim t x a o -> Optional t

Return the time after which the claim is worthless, i.e., value = 0, if such a time exists. Also known as ‘maturity’ or ‘horizon’ in the Eber/Jones paper.

payoffs

: (Eq x, Eq o, Multiplicative x) => Claim t x a o -> [(Observation t x o, a)]

Return a list of possible scale-factor/payoff pairs. This does not discriminate between conditional and outright payoffs.

pruneZeros

: Claim t x a o -> Claim t x a o

Prunes sub-trees which are Zero.

isZero

: Claim t x a o -> Bool

Checks if a claim is the Zero claim. This avoids requiring the equality type constraint on a.