Logo
Reference manual - version qle_version
Public Member Functions | List of all members
DiscountingCurrencySwapEngine Class Reference

Discounting CurrencySwap Engine More...

#include <qle/pricingengines/discountingcurrencyswapengine.hpp>

+ Inheritance diagram for DiscountingCurrencySwapEngine:

Public Member Functions

 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 >())
 
void calculate () const override
 
std::vector< Handle< YieldTermStructure > > discountCurves ()
 
std::vector< Currency > currencies ()
 
Currency npvCurrency ()
 

Detailed Description

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

Constructor & Destructor Documentation

◆ DiscountingCurrencySwapEngine()

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.