Skip to content

rules

Accounting rules: protocol, registry, and concrete rule implementations.

Modules:

  • amortization

    AmortizationRule: generates an amortization transaction on scheduled payment dates.

  • base

    AccountingRule Protocol and RuleRegistry.

  • context

    RuleContext: pre-packaged state passed to every accounting rule.

  • coupon

    CouponPaymentRule: settles coupon payments on adjusted coupon dates.

  • deposit_interest

    Deposit interest rules: daily accrual and monthly settlement.

  • interest

    InterestPaymentRule: generates interest payment transactions on scheduled payment dates.

  • interest_accrual

    InterestIncomeAccrualRule: accrues interest income using QuantLib conventions.

  • loan_interest_settlement

    LoanInterestSettlementRule: settles interest on amortizing loan payment dates.

  • mark_to_market

    MarkToMarketRule: generates a mark-to-market transaction for FVTPL and FVOCI instruments.

  • maturity

    MaturityRule: generates a settlement transaction when an instrument reaches maturity.

Functions:

  • default_rules

    Return a class-keyed dict of all default accounting rule instances.

default_rules

default_rules() -> dict[type, object]

Return a class-keyed dict of all default accounting rule instances.

The RuleEngine uses this dict to look up rule instances by class. Instruments declare which rule classes apply to them via applicable_rules.