Logo
Reference manual - version qle_version
Classes | List of all members
FxForward Class Reference

FX Forward More...

#include <qle/instruments/fxforward.hpp>

+ Inheritance diagram for FxForward:

Classes

class  arguments
 
class  engine
 
class  results
 

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 boost::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 boost::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 boost::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
 
boost::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 boost::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 boost::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 boost::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