Logo
Reference manual - version qle_version
FxForward Class Reference

FX Forward More...

#include <qle/instruments/fxforward.hpp>

Inheritance diagram for FxForward:

Classes

class  arguments
class  results
class  engine

Public Member Functions

Constructors
 FxForward (const Real &nominal1, const Currency &currency1, const Real &nominal2, const Currency &currency2, const Date &maturityDate, const bool &payCurrency1, const bool isPhysicallySettled=true, const Date &payDate=Date(), const Currency &payCcy=Currency(), const Date &fixingDate=Date(), const QuantLib::ext::shared_ptr< QuantExt::FxIndex > &fxIndex=nullptr)
 FxForward (const Money &nominal1, const ExchangeRate &forwardRate, const Date &forwardDate, bool sellingNominal, const bool isPhysicallySettled=true, const Date &payDate=Date(), const Currency &payCcy=Currency(), const Date &fixingDate=Date(), const QuantLib::ext::shared_ptr< QuantExt::FxIndex > &fxIndex=nullptr)
 FxForward (const Money &nominal1, const Handle< Quote > &fxForwardQuote, const Currency &currency2, const Date &maturityDate, bool sellingNominal, const bool isPhysicallySettled=true, const Date &payDate=Date(), const Currency &payCcy=Currency(), const Date &fixingDate=Date(), const QuantLib::ext::shared_ptr< QuantExt::FxIndex > &fxIndex=nullptr)
Results
const Money & npvMoney () const
 Return NPV as money (the price currency is set in the pricing engine).
const ExchangeRate & fairForwardRate () const
 Return the fair FX forward rate.
Additional interface
Real currency1Nominal () const
Real currency2Nominal () const
Currency currency1 () const
Currency currency2 () const
Date maturityDate () const
Date payDate () const
Currency payCcy () const
QuantLib::ext::shared_ptr< QuantExt::FxIndexfxIndex () const
bool payCurrency1 () const

Instrument interface

bool isExpired () const override
void setupArguments (PricingEngine::arguments *) const override
void fetchResults (const PricingEngine::results *) const override

Detailed Description

FX Forward

This class holds the term sheet data for an FX Forward instrument.

\ingroup instruments

Constructor & Destructor Documentation

◆ FxForward() [1/3]

FxForward ( const Real & nominal1,
const Currency & currency1,
const Real & nominal2,
const Currency & currency2,
const Date & maturityDate,
const bool & payCurrency1,
const bool isPhysicallySettled = true,
const Date & payDate = Date(),
const Currency & payCcy = Currency(),
const Date & fixingDate = Date(),
const QuantLib::ext::shared_ptr< QuantExt::FxIndex > & fxIndex = nullptr )
Parameters
nominal1,currency1There are nominal1 units of currency1.
nominal2,currency2There are nominal2 units of currency2.
maturityDateDate on which currency amounts are exchanged.
payCurrency1Pay nominal1 if true, otherwise pay nominal2.
isPhysicallySettledif true fx forward is physically settled
payDateDate on which the cashflows are exchanged
payCcyIf cash settled, the settlement currency
fixingDateIf cash settled, the fixing date
fxIndexIf cash settled, the FX index from which to take the fixing on the fixing date

◆ FxForward() [2/3]

FxForward ( const Money & nominal1,
const ExchangeRate & forwardRate,
const Date & forwardDate,
bool sellingNominal,
const bool isPhysicallySettled = true,
const Date & payDate = Date(),
const Currency & payCcy = Currency(),
const Date & fixingDate = Date(),
const QuantLib::ext::shared_ptr< QuantExt::FxIndex > & fxIndex = nullptr )
Parameters
nominal1FX forward nominal amount (domestic currency)
forwardRateFX rate of the exchange
forwardDateDate of the exchange.
sellingNominalSell (pay) nominal1 if true, otherwise buy (receive) nominal.
isPhysicallySettledif true fx forward is physically settled
payDateDate on which the cashflows are exchanged
payCcyIf cash settled, the settlement currency
fixingDateIf cash settled, the fixing date
fxIndexIf cash settled, the FX index from which to take the fixing on the fixing date

◆ FxForward() [3/3]

FxForward ( const Money & nominal1,
const Handle< Quote > & fxForwardQuote,
const Currency & currency2,
const Date & maturityDate,
bool sellingNominal,
const bool isPhysicallySettled = true,
const Date & payDate = Date(),
const Currency & payCcy = Currency(),
const Date & fixingDate = Date(),
const QuantLib::ext::shared_ptr< QuantExt::FxIndex > & fxIndex = nullptr )
Parameters
nominal1FX forward nominal amount 1 (domestic currency)
fxForwardQuoteFX forward quote giving the rate in domestic units per one foreign unit
currency2currency for nominal2 (foreign currency)
maturityDateFX Forward maturity date
sellingNominalSell (pay) nominal1 if true, otherwise buy (receive) nominal1.
isPhysicallySettledif true fx forward is physically settled
payDateDate on which the cashflows are exchanged
payCcyIf cash settled, the settlement currency
fixingDateIf cash settled, the fixing date
fxIndexIf cash settled, the FX index from which to take the fixing on the fixing date