Periods#

The rateslib.periods module creates objects designed to generate single cashflows. Typically these are the constituent part of Legs.

Conventional Periods#

The typical periods used in fixed income are as follows. Each of these natively allows non-deliverability and indexation, if the relevant parameters are supplied.

rateslib.periods.FixedPeriod(*[, ...])

A Period defined by a fixed interest rate.

rateslib.periods.FloatPeriod(*[, ...])

A Period defined by a floating interest rate.

rateslib.periods.Cashflow(*, payment, notional)

A Period defined by a specific amount.

Additional Periods#

The following periods add additional features suitable for certain Leg types.

rateslib.periods.ZeroFixedPeriod(*[, ...])

A Period defined by a fixed interest rate, as a representation of multiple compounded Periods.

rateslib.periods.ZeroFloatPeriod(*[, ...])

A Period defined by compounded floating rate Periods.

rateslib.periods.MtmCashflow(*, payment, ...)

A Period defined by a specific amount calculated from the difference between two FXFixing.

Credit Periods#

Credit periods provide the calculations for default protection and premium calculations using recovery rates and survivial probabilities defined by a Curve of hazard rates.

rateslib.periods.CreditPremiumPeriod(*, payment)

A Period defined by a fixed interest rate and contingent credit event.

rateslib.periods.CreditProtectionPeriod(*, ...)

A Period defined by a credit event and contingent notional payment.

FX Option Periods#

Volatility periods provide the basic calculations for european options priced with Black-76 pricing formula.

rateslib.periods.FXCallPeriod(*, delivery, ...)

A Period defined by a European FX call option.

rateslib.periods.FXPutPeriod(*, delivery, ...)

A Period defined by a European FX put option.

Custom Periods and Objects#

rateslib.periods._BasePeriod(*args, **kwargs)

Abstract base class for Period types.

rateslib.periods._BasePeriodStatic(*args, ...)

Abstract base class for Static Period types.

rateslib.periods._BaseFXOptionPeriod(*, ...)

Abstract base class for FXOptionPeriods types.

Protocols#

Protocols define the functionality implemented into the objects.

rateslib.periods.protocols._WithNPV(*args, ...)

Protocol to define value of any Period type.

rateslib.periods.protocols._WithCashflows(...)

Protocol for parameter and calculation display for the Period.

rateslib.periods.protocols._WithFixings(...)

Protocol for determining fixing sensitivity for a Period with AD.

rateslib.periods.protocols._WithAnalyticDelta(...)

Protocol to establish analytical sensitivity to rate type metrics.

rateslib.periods.protocols._WithAnalyticRateFixings(...)

Protocol to derive a rate fixings sensitivity DataFrame.

rateslib.periods.protocols._WithAnalyticFXOptionGreeks(...)

Protocol to derive analytic FXOption greeks.

rateslib.periods.protocols._WithNPVStatic(...)

Protocol to establish value of any Static Period type.

rateslib.periods.protocols._WithCashflowsStatic(...)

Protocol for parameter and calculation display for the Static Period.

rateslib.periods.protocols._WithAnalyticDeltaStatic(...)

Protocol to establish analytical sensitivity to rate type metrics for Static Period types.

rateslib.periods.protocols._WithAnalyticRateFixingsStatic(...)

Protocol to derive an analytic rate fixings sensitivity DataFrame from pricing Curves.

rateslib.periods.protocols._WithIndexingStatic(...)

Protocol to provide indexation for Static Period types.

rateslib.periods.protocols._WithNonDeliverableStatic(...)

Protocol to provide non-deliverable conversion for Static Period types.

Parameters#

rateslib.periods.parameters._IndexParams(*, ...)

Parameters for Period cashflows adjusted under some indexation.

rateslib.periods.parameters._SettlementParams(...)

Parameters for settlement of Period cashflows.

rateslib.periods.parameters._PeriodParams(...)

Parameters of Period cashflows associated with some Schedule.

rateslib.periods.parameters._FixedRateParams(...)

Parameters for a Period containing a fixed rate.

rateslib.periods.parameters._FloatRateParams(*, ...)

Parameters for a Period containing a floating rate.

rateslib.periods.parameters._NonDeliverableParams(...)

Parameters for determination of non-deliverable Period cashflows.

rateslib.periods.parameters._CreditParams(...)

Parameters for Period cashflows associated with credit events.

rateslib.periods.parameters._MtmParams(...)

Parameters for Period cashflows associated with multiple FXFixing.

rateslib.periods.parameters._FXOptionParams(...)

Parameters for FX Option Period cashflows.