Initial exchange: take on the (unsigned) notional and the nominal rate.
Equations
Instances For
Interest capitalization (no cash): compound the notional by the interest
accrued over [Sd, t], then reset the accrual.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Termination: record the interest accrued on the capitalized notional since
the last capitalization (settled by pof_TD).
Equations
- One or more equations did not get rendered due to their size.
Instances For
STF dispatcher (events outside the UMP schedule just advance the clock).
Equations
- One or more equations did not get rendered due to their size.
- Actus.Contract.UMP.stf ct rf Actus.Protocol.EventType.IED t s = Actus.Contract.UMP.stf_IED ct t s
- Actus.Contract.UMP.stf ct rf Actus.Protocol.EventType.IPCI t s = Actus.Contract.UMP.stf_IPCI rf t s
- Actus.Contract.UMP.stf ct rf Actus.Protocol.EventType.TD t s = Actus.Contract.UMP.stf_TD rf t s
Instances For
Equations
- Actus.Contract.UMP.pof_IED ct = Actus.Util.Conventions.sign ct.cntrl * -1 * ct.nt
Instances For
Termination payoff: buy-back price plus interest accrued since the last capitalization, on the capitalized notional.
Equations
Instances For
Equations
- Actus.Contract.UMP.pof ct rf Actus.Protocol.EventType.IED t s = Actus.Contract.UMP.pof_IED ct
- Actus.Contract.UMP.pof ct rf Actus.Protocol.EventType.TD t s = Actus.Contract.UMP.pof_TD ct rf t s
- Actus.Contract.UMP.pof ct rf ev t s = 0
Instances For
Pre-IED state at t₀; stf_IED overwrites the monetary fields.
Equations
- One or more equations did not get rendered due to their size.
Instances For
One-step UMP transition. The constructor targets the dispatcher stf.
- ev {α : Type} [Amount α] {ct : Terms α} {rf : RiskFactorEnv α} {s : State α} (e : Protocol.EventType) {t : Protocol.Time} : s.sd ≤ t → Step ct rf s (stf ct rf e t s)
Instances For
Equations
- Actus.Contract.UMP.Trace ct rf = Actus.Closures.Star (Actus.Contract.UMP.Step ct rf)
Instances For
Equations
- Actus.Contract.UMP.getCashflow ct rf (Actus.Contract.UMP.Step.ev e a) = (((Actus.Contract.UMP.stf ct rf e t s).sd, e), Actus.Contract.UMP.pof ct rf e (Actus.Contract.UMP.stf ct rf e t s).sd s)
Instances For
Equations
- Actus.Contract.UMP.getCashflows ct rf Actus.Closures.Star.refl = []
- Actus.Contract.UMP.getCashflows ct rf (Actus.Closures.Star.step h rest) = Actus.Contract.UMP.getCashflow ct rf h :: Actus.Contract.UMP.getCashflows ct rf rest
Instances For
Equations
- Actus.Contract.UMP.UMP_contract = { Terms := Actus.Contract.Terms Float, State := Actus.Contract.State Float }
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
UMP cash flows: thread UMP.stf/UMP.pof over the schedule IED, the
capitalization (IPCI) cycle strictly before termination, then TD.
IPCI is a non-cash capitalization, so its zero payoff is not reported.
Equations
- One or more equations did not get rendered due to their size.