Payment discounting engine. More...
#include <qle/pricingengines/paymentdiscountingengine.hpp>
Public Member Functions | |
Constructors | |
PaymentDiscountingEngine (const Handle< YieldTermStructure > &discountCurve, const Handle< Quote > &spotFX=Handle< Quote >(), boost::optional< bool > includeSettlementDateFlows=boost::none, const Date &settlementDate=Date(), const Date &npvDate=Date()) | |
PricingEngine interface | |
void | calculate () const override |
Inspectors | |
const Handle< YieldTermStructure > & | discountCurve () const |
const Handle< Quote > & | spotFX () const |
Payment discounting engine.
This class implements a discounting engine for a single cash flow. The cash flow is discounted using its currency's discount curve. Optionally, the NPV is converted into a different NPV currency. The FX spot rate for that purpose converts the in-currency NPV by multiplication.
PaymentDiscountingEngine | ( | const Handle< YieldTermStructure > & | discountCurve, |
const Handle< Quote > & | spotFX = Handle< Quote >() , |
||
boost::optional< bool > | includeSettlementDateFlows = boost::none , |
||
const Date & | settlementDate = Date() , |
||
const Date & | npvDate = Date() |
||
) |
discountCurve | Discount curve for the cash flow |
spotFX | The market spot rate quote for multiplicative conversion into the NPV currency, can be empty |
includeSettlementDateFlows,settlementDate | If includeSettlementDateFlows is true (false), cashflows on the settlementDate are (not) included in the NPV. If not given the settlement date is set to the npv date. |
npvDate | Discount to this date. If not given the npv date is set to the evaluation date |