Documentation

Actus.Contract.LAX

def Actus.Contract.LAX.accr {α : Type} [Amount α] (rf : RiskFactorEnv α) (t : Protocol.Time) (s : State α) :
α

Interest accrued over [Sd, t] on the current notional.

Equations
Instances For
    def Actus.Contract.LAX.stf_IED {α : Type} [Amount α] (ct : Terms α) (t : Protocol.Time) (s : State α) :

    Initial exchange: take on the signed notional and the nominal rate.

    Equations
    • One or more equations did not get rendered due to their size.
    Instances For
      def Actus.Contract.LAX.stf_IP {α : Type} [Amount α] (t : Protocol.Time) (s : State α) :

      Interest payment: pay the accrued interest, reset the accrual.

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

        Principal redemption: reduce the notional by the (signed) instalment x, capitalizing the interest accrued so far.

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

          Principal increase (draw): grow the notional by the (signed) draw x.

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

            Maturity: pay out the residual notional.

            Equations
            • One or more equations did not get rendered due to their size.
            Instances For
              def Actus.Contract.LAX.stf_reset {α : Type} [Amount α] (rf : RiskFactorEnv α) (x : α) (t : Protocol.Time) (s : State α) :

              Rate reset (RR/RRF): set the rate to the payload x (already resolved by schedule generation: the fixed rate for RRF, the observed market rate for RR).

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

                        State just before the IED event (which stf_IED re-establishes).

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

                          One-step LAX transition. The constructor carries the event e and its schedule payload x, and targets the dispatcher stf.

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

                                  Indexed lookup with a default.

                                  Equations
                                  Instances For

                                    Fold LAX.stf/LAX.pof over a payloaded event list (time, event, x), where x is the redemption amount (PR/PI) or new rate (RR/RRF).

                                    Equations
                                    Instances For

                                      LAX — build the array-derived event list (principal segments, interest cycle, rate resets) and fold LAX.stf/LAX.pof over it.

                                      Equations
                                      • One or more equations did not get rendered due to their size.
                                      Instances For
                                        @[irreducible]
                                        Equations
                                        • One or more equations did not get rendered due to their size.
                                        Instances For