MakeLoan

class quantsupport.instruments.MakeLoan(*, identifier: str, start_date: Date | str | datetime.date | None = ..., maturity_date: Date | str | datetime.date | None = ..., notional: float, coupons: Sequence[FixedRateCoupon | FloatingRateCoupon | OptionEmbeddedCoupon | Mapping[str, Any]], currency: Currency | str, repayment: LoanRepaymentStructure | str | Mapping[str, Any] | None = ..., payment_frequency: Frequency | str | None = ..., fixing_frequency: Frequency | str | None = ..., prepayment: PrepaymentModelConfiguration | str | Mapping[str, Any] | None = ..., credit_index: MarketIndex | str | Mapping[str, Any] | None = ..., recovery: float | None = ..., fixing_lag: int | None = ..., index_tenor: Period | str | None = ..., calendar: Calendar | str | None = ..., business_day_convention: BusinessDayConvention | str | None = ..., amortization_rate: float | None = ..., start_tenor: Period | str | None = ..., tenor: Period | str | None = ..., prepayment_tenors: Sequence[Any] | None = ...)

Bases: MakeInstrument[Loan] Reusable maker for Loan. Both build methods return a concrete product.

Stores copied construction parameters.

Parameters:
  • identifier (str) – Nonempty contract identifier used in pricing results and diagnostics.

  • start_date (_DateLike | None) – Origination and first accrual date, before maturity; strings are ISO dates.

  • maturity_date (_DateLike | None) – Final contractual accrual and principal repayment date.

  • notional (float) – Finite, strictly positive original principal in the payment currency.

  • coupons (Sequence[FixedRateCoupon | FloatingRateCoupon | OptionEmbeddedCoupon | Mapping[str, Any]]) – Nonempty positional coupon templates, or tagged coupon dictionaries returned by their to_dict() methods. The last entry repeats to maturity; builders supply balances and dates. Each coupon owns its accrual day counter; floating coupons default to the index convention. Amortization uses the same accrual conventions as coupon interest.

  • currency (_CurrencyLike) – Payment currency enum or alphabetic code; pricing policy selects the discount curve.

  • repayment (LoanRepaymentStructure | str | Mapping[str, Any] | None) – Principal amortization terms or their native serialized form. Default None resolves to French amortization.

  • payment_frequency (Frequency | str | None) – Contractual payment interval. Default None resolves to Monthly.

  • fixing_frequency (Frequency | str | None) – Coupon reset interval, which must align with accrual dates. Default None uses index metadata, or payment frequency for daily indices.

  • prepayment (PrepaymentModelConfiguration | str | Mapping[str, Any] | None) – Conditional prepayment terms applied during valuation after scheduled principal. Default None disables prepayment.

  • credit_index (_IndexLike | None) – Borrower survival-curve index, which must be a Credit index. Default None means no default model; serialized indices use native serde form.

  • recovery (float | None) – Recovery fraction in [0, 1]. Default None resolves to 0.4.

  • fixing_lag (int | None) – Nonnegative business days before coupon reset. Default None uses zero.

  • index_tenor (_PeriodLike | None) – Positive observation tenor, independent of reset and payment frequency. Default None uses the index metadata frequency.

  • calendar (Calendar | str | None) – Payment/fixing calendar or serialized calendar name. Default None uses the null calendar.

  • business_day_convention (BusinessDayConvention | str | None) – Payment-date adjustment rule. Default None uses Unadjusted; contractual accrual dates are not adjusted.

  • amortization_rate (float | None) – Initial annual all-in decimal rate used to build principal. Default None uses the first fixed coupon, or resolves the initial floating observation during build_using. Later coupons do not rebuild the principal schedule.

  • start_tenor (_PeriodLike | None) – Start offset from the context evaluation date. Omitted or None leaves this input unset.

  • tenor (_PeriodLike | None) – Maturity offset from the explicit or constructed start date. Omitted or None leaves this input unset.

  • prepayment_tenors (Sequence[Any] | None) – CPR observations as tenor/rate pairs measured from the loan start. Omitted or None leaves this input unset.

Source declaration

Methods

__getitem__(key: str, /) → Any
Returns a copied construction parameter.
Parameters:

key (str) – Name of the construction parameter to read.

classmethod from_dict(parameters: Mapping[str, Any]) → Self

Creates a maker from copied construction parameters.

Parameters:

parameters (Mapping[str, Any]) – Product constructor fields and optional relative tenor fields.