Skip to content

factory

Factory helpers for creating instrument instances with sensible defaults.

Classes:

InstrumentFactory

Convenience factory for constructing common instruments.

Methods:

create_common_equity staticmethod

create_common_equity() -> CommonEquity

Create a CommonEquity instrument.

create_deposit staticmethod

create_deposit() -> Deposit

Create a Deposit instrument.

create_fixed_rate_bond staticmethod

create_fixed_rate_bond(
    *,
    face_value: float,
    coupon_rate: float,
    issue_date: date,
    maturity_date: date,
    frequency: Period = Annual,
    settlement_days: int = 0,
    calendar: Calendar = NullCalendar(),
    day_count: DayCounter = ActualActual(Actual365),
    business_convention: int = Unadjusted,
    date_generation: DateGeneration = Backward,
    month_end: bool = False,
    book_type: BookType = BANKING,
    credit_rating: CreditRating = UNRATED,
    issuer: Issuer | None = None,
    measurement_basis: MeasurementBasis = AMORTIZED_COST,
) -> FixedRateBond

Create a FixedRateBond instrument.

create_residential_mortgage staticmethod

create_residential_mortgage(
    *,
    face_value: float,
    interest_rate: float,
    issue_date: date,
    maturity_years: int,
    frequency: Period = Monthly,
    settlement_days: int = 0,
    calendar: Calendar = NullCalendar(),
    day_count: DayCounter = ActualActual(Actual365),
    business_convention: int = Unadjusted,
    book_type: BookType = BANKING,
    credit_rating: CreditRating = UNRATED,
    issuer: Issuer | None = None,
    measurement_basis: MeasurementBasis = AMORTIZED_COST,
) -> ResidentialMortgage

Create a ResidentialMortgage instrument.

create_treasury_note staticmethod

create_treasury_note(
    *,
    face_value: float,
    coupon_rate: float,
    issue_date: date,
    maturity_date: date,
    measurement_basis: MeasurementBasis,
    book_type: BookType = BANKING,
) -> TreasuryNote

Create a TreasuryNote instrument.