Documentation

Actus.Contract.LAM

def Actus.Contract.LAM.lamIpcb {α : Type} [Amount α] (ct : Terms α) (nt : α) :
α

Interest-calculation-base value: tracks Nt when IPCB = 'NT' (or absent), otherwise the fixed R(CNTRL)·IPCBA.

Equations
Instances For
    def Actus.Contract.LAM.ipacAccrIpcb {α : Type} [Amount α] (rf : RiskFactorEnv α) (t : Protocol.Time) (s : State α) :
    α

    Interest accrual on the interest calculation base Ipcb.

    Equations
    Instances For
      def Actus.Contract.LAM.stf_IED {α : Type} [Amount α] (ct : Terms α) (t : Protocol.Time) (s : State α) :
      Equations
      • One or more equations did not get rendered due to their size.
      Instances For
        def Actus.Contract.LAM.redeemed {α : Type} [Amount α] [DecidableLE α] (nt prnxt : α) :
        α

        The actual principal redeemed: the instalment Prnxt, but capped at the remaining notional so a redemption never overshoots 0 (the final instalment is partial; once Nt = 0 it pays nothing). Prnxt and Nt share the contract-role sign.

        Equations
        Instances For
          def Actus.Contract.LAM.stf_PR {α : Type} [Amount α] [DecidableLE α] (ct : Terms α) (rf : RiskFactorEnv α) (t : Protocol.Time) (s : State α) :

          Principal redemption: pay back Prnxt (capped at the remaining notional), accruing interest on Ipcb. Prnxt already carries the contract-role sign (set in lamInit/init).

          Equations
          • One or more equations did not get rendered due to their size.
          Instances For
            Equations
            Instances For
              def Actus.Contract.LAM.stf_IPCI {α : Type} [Amount α] (ct : Terms α) (rf : RiskFactorEnv α) (t : Protocol.Time) (s : State α) :
              Equations
              • One or more equations did not get rendered due to their size.
              Instances For
                def Actus.Contract.LAM.pof_PR {α : Type} [Amount α] [DecidableLE α] (rf : RiskFactorEnv α) (t : Protocol.Time) (s : State α) :
                α
                Equations
                Instances For
                  def Actus.Contract.LAM.pof_IP {α : Type} [Amount α] (rf : RiskFactorEnv α) (t : Protocol.Time) (s : State α) :
                  α

                  Interest payment accrues on the interest calculation base Ipcb (which may differ from Nt when IPCB ≠ 'NT'), unlike PAM which accrues on Nt.

                  Equations
                  Instances For
                    def Actus.Contract.LAM.init {α : Type} [Amount α] (ct : Terms α) (md t₀ : Protocol.Time) :

                    Initial state. Prnxt defaults to the term PRNXT, falling back to the full notional when absent (the annuity-style fallback needs the redemption schedule, omitted here).

                    Equations
                    • One or more equations did not get rendered due to their size.
                    Instances For
                      inductive Actus.Contract.LAM.Step {α : Type} [Amount α] [DecidableLE α] (ct : Terms α) (rf : RiskFactorEnv α) :
                      State αState αType

                      One-step LAM transition. Constructors target the LAM dispatcher stf.

                      Instances For
                        @[reducible, inline]
                        abbrev Actus.Contract.LAM.Trace {α : Type} [Amount α] [DecidableLE α] (ct : Terms α) (rf : RiskFactorEnv α) :
                        State αState αType
                        Equations
                        Instances For
                          def Actus.Contract.LAM.getCashflow {α : Type} [Amount α] [DecidableLE α] (ct : Terms α) (rf : RiskFactorEnv α) {s s' : State α} (h : Step ct rf s s') :
                          Equations
                          Instances For
                            Equations
                            • One or more equations did not get rendered due to their size.
                            Instances For