QuantLib
A free/open-source library for quantitative finance
Reference manual - version 1.20
Public Member Functions | List of all members
FxSwapRateHelper Class Reference

Rate helper for bootstrapping over Fx Swap rates. More...

#include <ql/termstructures/yield/ratehelpers.hpp>

+ Inheritance diagram for FxSwapRateHelper:

Public Member Functions

 FxSwapRateHelper (const Handle< Quote > &fwdPoint, const Handle< Quote > &spotFx, const Period &tenor, Natural fixingDays, const Calendar &calendar, BusinessDayConvention convention, bool endOfMonth, bool isFxBaseCurrencyCollateralCurrency, const Handle< YieldTermStructure > &collateralCurve, const Calendar &tradingCalendar=Calendar())
 
RateHelper interface
Real impliedQuote () const
 
void setTermStructure (YieldTermStructure *)
 
FxSwapRateHelper inspectors
Real spot () const
 
Period tenor () const
 
Natural fixingDays () const
 
Calendar calendar () const
 
BusinessDayConvention businessDayConvention () const
 
bool endOfMonth () const
 
bool isFxBaseCurrencyCollateralCurrency () const
 
Calendar tradingCalendar () const
 
Calendar adjustmentCalendar () const
 
- Public Member Functions inherited from RelativeDateBootstrapHelper< TS >
 RelativeDateBootstrapHelper (const Handle< Quote > &quote)
 
 RelativeDateBootstrapHelper (Real quote)
 
void update ()
 
- Public Member Functions inherited from BootstrapHelper< TS >
 BootstrapHelper (const Handle< Quote > &quote)
 
 BootstrapHelper (Real quote)
 
const Handle< Quote > & quote () const
 
Real quoteError () const
 
virtual void setTermStructure (TS *)
 sets the term structure to be used for pricing More...
 
virtual Date earliestDate () const
 earliest relevant date More...
 
virtual Date maturityDate () const
 instrument's maturity date
 
virtual Date latestRelevantDate () const
 latest relevant date More...
 
virtual Date pillarDate () const
 pillar date
 
virtual Date latestDate () const
 latest date More...
 
- Public Member Functions inherited from Observer
 Observer (const Observer &)
 
Observeroperator= (const Observer &)
 
std::pair< iterator, bool > registerWith (const ext::shared_ptr< Observable > &)
 
void registerWithObservables (const ext::shared_ptr< Observer > &)
 
Size unregisterWith (const ext::shared_ptr< Observable > &)
 
void unregisterWithAll ()
 
virtual void deepUpdate ()
 
- Public Member Functions inherited from Observable
 Observable (const Observable &)
 
Observableoperator= (const Observable &)
 
void notifyObservers ()
 

Visitability

void accept (AcyclicVisitor &)
 

Additional Inherited Members

- Public Types inherited from Observer
typedef boost::unordered_set< ext::shared_ptr< Observable > > set_type
 
typedef set_type::iterator iterator
 
- Protected Member Functions inherited from RelativeDateBootstrapHelper< TS >
- Protected Attributes inherited from RelativeDateBootstrapHelper< TS >
Date evaluationDate_
 
- Protected Attributes inherited from BootstrapHelper< TS >
Handle< Quotequote_
 
TS * termStructure_
 
Date earliestDate_
 
Date latestDate_
 
Date maturityDate_
 
Date latestRelevantDate_
 
Date pillarDate_
 

Detailed Description

Rate helper for bootstrapping over Fx Swap rates.

The forward is given by fwdFx = spotFx + fwdPoint.

isFxBaseCurrencyCollateralCurrency indicates if the base currency of the FX currency pair is the one used as collateral.

calendar is usually the joint calendar of the two currencies in the pair.

tradingCalendar can be used when the cross pairs don't include the currency of the business center (usually USD; the corresponding calendar is UnitedStates). If given, it will be used for adjusting the earliest settlement date and for setting the latest date. Due to FX spot market conventions, it is not sufficient to pass a JointCalendar with UnitedStates included as calendar; with regard the earliest date, this calendar is only used in case the spot date of the two currencies is not a US business day.

Warning:
The ON fx swaps can be achieved by setting fixingDays to 0 and using a tenor of '1d'. The same tenor should be used for TN swaps, with fixingDays set to 1. However, handling ON and TN swaps for cross rates without USD is not trivial and should be treated with caution. If today is a US holiday, ON trade is not possible. If tomorrow is a US Holiday, the ON trade will be at least two business days long in the other countries and the TN trade will not exist. In such cases, if this helper is used for curve construction, probably it is safer not to pass a trading calendar to the ON and TN helpers and provide fwdPoints that will yield proper level of discount factors.