QuantLib: FxSwapRateHelper Class Reference

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:
[legend]

## 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 &)
Observer & | operator= (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 &)
Observable & | operator= (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< Quote > | quote_
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.