diff --git a/docs/source/d_periods.rst b/docs/source/d_periods.rst index 4b1a207a..fb7a0f0b 100644 --- a/docs/source/d_periods.rst +++ b/docs/source/d_periods.rst @@ -38,6 +38,7 @@ of each *Period* type: rateslib.periods.Cashflow rateslib.periods.IndexFixedPeriod rateslib.periods.IndexCashflow + rateslib.periods.NonDeliverableCashflow **Common methods** diff --git a/python/rateslib/periods/cashflow.py b/python/rateslib/periods/cashflow.py index 101ca36a..14320c6c 100644 --- a/python/rateslib/periods/cashflow.py +++ b/python/rateslib/periods/cashflow.py @@ -312,7 +312,19 @@ def npv( return _maybe_local(disc_cashflow, local, self.settlement_currency, fx, base) def cashflow(self, fx: FX_) -> DualTypes: - """Cashflow is expressed in the settlement, i.e. deliverable currency.""" + """ + Determine the cashflow amount, expressed in ``settlement_currency``. + + Parameters + ---------- + fx: FXforwards, optional + Required to forecast the FX rate at settlement, if an ``fx_fixing`` is not known. + + Returns + ------- + float, Dual, Dual2 + """ + if isinstance(self.fx_fixing, NoInput): fx_ = _validate_fx_as_forwards(fx) fx_fixing: DualTypes = fx_.rate(self.pair, self.settlement)