Logo
Reference manual - version qle_version
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, QuantLib::ext::optional< bool > includeSettlementDateFlows=QuantLib::ext::nullopt, 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,
QuantLib::ext::optional< bool > includeSettlementDateFlows = QuantLib::ext::nullopt,
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.