Discounting CurrencySwap Engine More...
#include <qle/pricingengines/discountingcurrencyswapengine.hpp>
Public Member Functions | |
DiscountingCurrencySwapEngine (const std::vector< Handle< YieldTermStructure > > &discountCurves, const std::vector< Handle< Quote > > &fxQuotes, const std::vector< Currency > ¤cies, const Currency &npvCurrency, boost::optional< bool > includeSettlementDateFlows=boost::none, Date settlementDate=Date(), Date npvDate=Date(), const std::vector< Date > &spotFXSettleDateVec=std::vector< Date >()) | |
void | calculate () const override |
std::vector< Handle< YieldTermStructure > > | discountCurves () |
std::vector< Currency > | currencies () |
Currency | npvCurrency () |
Discounting CurrencySwap Engine
This class generalizes QuantLib's DiscountingSwapEngine. It takes leg currencies into account and converts into the provided "npv currency", which must be one of the leg currencies. The evaluation date is the reference date of either of the discounting curves (which must be equal).
\ingroup engines
DiscountingCurrencySwapEngine | ( | const std::vector< Handle< YieldTermStructure > > & | discountCurves, |
const std::vector< Handle< Quote > > & | fxQuotes, | ||
const std::vector< Currency > & | currencies, | ||
const Currency & | npvCurrency, | ||
boost::optional< bool > | includeSettlementDateFlows = boost::none , |
||
Date | settlementDate = Date() , |
||
Date | npvDate = Date() , |
||
const std::vector< Date > & | spotFXSettleDateVec = std::vector< Date >() |
||
) |
The FX spots must be given as units of npvCurrency per respective currency. The spots must be given w.r.t. a settlement date equal to the npv date.