QuantLib: a free/open-source library for quantitative finance
Fully annotated sources - version 1.32
Loading...
Searching...
No Matches
Public Member Functions | List of all members
ConstNotionalCrossCurrencyBasisSwapRateHelper Class Reference

Rate helper for bootstrapping over constant-notional cross-currency basis swaps. More...

#include <ql/experimental/termstructures/crosscurrencyratehelpers.hpp>

+ Inheritance diagram for ConstNotionalCrossCurrencyBasisSwapRateHelper:
+ Collaboration diagram for ConstNotionalCrossCurrencyBasisSwapRateHelper:

Public Member Functions

 ConstNotionalCrossCurrencyBasisSwapRateHelper (const Handle< Quote > &basis, const Period &tenor, Natural fixingDays, const Calendar &calendar, BusinessDayConvention convention, bool endOfMonth, const ext::shared_ptr< IborIndex > &baseCurrencyIndex, const ext::shared_ptr< IborIndex > &quoteCurrencyIndex, const Handle< YieldTermStructure > &collateralCurve, bool isFxBaseCurrencyCollateralCurrency, bool isBasisOnFxBaseCurrencyLeg)
 
RateHelper interface
Real impliedQuote () const override
 
Visitability
void accept (AcyclicVisitor &) override
 
- Public Member Functions inherited from CrossCurrencyBasisSwapRateHelperBase
void setTermStructure (YieldTermStructure *) override
 
- Public Member Functions inherited from RelativeDateBootstrapHelper< TS >
 RelativeDateBootstrapHelper (const Handle< Quote > &quote)
 
 RelativeDateBootstrapHelper (Real quote)
 
void update () override
 
- Public Member Functions inherited from BootstrapHelper< TS >
 BootstrapHelper (Handle< Quote > quote)
 
 BootstrapHelper (Real quote)
 
 ~BootstrapHelper () override=default
 
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 More...
 
virtual Date latestRelevantDate () const
 latest relevant date More...
 
virtual Date pillarDate () const
 pillar date More...
 
virtual Date latestDate () const
 latest date More...
 
- Public Member Functions inherited from Observer
 Observer ()=default
 
 Observer (const Observer &)
 
Observeroperator= (const Observer &)
 
virtual ~Observer ()
 
std::pair< iterator, boolregisterWith (const ext::shared_ptr< Observable > &)
 
void registerWithObservables (const ext::shared_ptr< Observer > &)
 
Size unregisterWith (const ext::shared_ptr< Observable > &)
 
void unregisterWithAll ()
 
virtual void update ()=0
 
virtual void deepUpdate ()
 
- Public Member Functions inherited from Observable
 Observable ()
 
 Observable (const Observable &)
 
Observableoperator= (const Observable &)
 
 Observable (Observable &&)=delete
 
Observableoperator= (Observable &&)=delete
 
virtual ~Observable ()=default
 
void notifyObservers ()
 

Additional Inherited Members

- Public Types inherited from Observer
typedef set_type::iterator iterator
 
- Protected Member Functions inherited from CrossCurrencyBasisSwapRateHelperBase
 CrossCurrencyBasisSwapRateHelperBase (const Handle< Quote > &basis, const Period &tenor, Natural fixingDays, Calendar calendar, BusinessDayConvention convention, bool endOfMonth, ext::shared_ptr< IborIndex > baseCurrencyIndex, ext::shared_ptr< IborIndex > quoteCurrencyIndex, Handle< YieldTermStructure > collateralCurve, bool isFxBaseCurrencyCollateralCurrency, bool isBasisOnFxBaseCurrencyLeg)
 
void initializeDates () override
 
const Handle< YieldTermStructure > & baseCcyLegDiscountHandle () const
 
const Handle< YieldTermStructure > & quoteCcyLegDiscountHandle () const
 
- Protected Member Functions inherited from RelativeDateBootstrapHelper< TS >
- Protected Attributes inherited from CrossCurrencyBasisSwapRateHelperBase
Period tenor_
 
Natural fixingDays_
 
Calendar calendar_
 
BusinessDayConvention convention_
 
bool endOfMonth_
 
ext::shared_ptr< IborIndexbaseCcyIdx_
 
ext::shared_ptr< IborIndexquoteCcyIdx_
 
Handle< YieldTermStructurecollateralHandle_
 
bool isFxBaseCurrencyCollateralCurrency_
 
bool isBasisOnFxBaseCurrencyLeg_
 
Leg baseCcyIborLeg_
 
Leg quoteCcyIborLeg_
 
RelinkableHandle< YieldTermStructuretermStructureHandle_
 
- 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 constant-notional cross-currency basis swaps.

Unlike marked-to-market cross currency swaps, both notionals expressed in base and quote currency remain constant throughout the lifetime of the swap.

Note on used conventions. Consider a currency pair EUR-USD. EUR is the base currency, while USD is the quote currency. The quote currency indicates the amount to be paid in that currency for one unit of base currency. Hence, for a cross currency swap we define a base currency leg and a quote currency leg. The parameters of the instrument, e.g. collateral currency, basis, resetting or constant notional legs are defined relative to what base and quote currencies are. For example, in case of EUR-USD basis swaps the collateral is paid in quote currency (USD), the basis is given on the base currency leg (EUR), etc.

For more details see: N. Moreni, A. Pallavicini (2015) FX Modelling in Collateralized Markets: foreign measures, basis curves and pricing formulae.

Definition at line 95 of file crosscurrencyratehelpers.hpp.

Constructor & Destructor Documentation

◆ ConstNotionalCrossCurrencyBasisSwapRateHelper()

ConstNotionalCrossCurrencyBasisSwapRateHelper ( const Handle< Quote > &  basis,
const Period tenor,
Natural  fixingDays,
const Calendar calendar,
BusinessDayConvention  convention,
bool  endOfMonth,
const ext::shared_ptr< IborIndex > &  baseCurrencyIndex,
const ext::shared_ptr< IborIndex > &  quoteCurrencyIndex,
const Handle< YieldTermStructure > &  collateralCurve,
bool  isFxBaseCurrencyCollateralCurrency,
bool  isBasisOnFxBaseCurrencyLeg 
)

Definition at line 206 of file crosscurrencyratehelpers.cpp.

Member Function Documentation

◆ impliedQuote()

Real impliedQuote ( ) const
overridevirtual

Implements BootstrapHelper< TS >.

Definition at line 230 of file crosscurrencyratehelpers.cpp.

+ Here is the call graph for this function:

◆ accept()

void accept ( AcyclicVisitor v)
overridevirtual

Reimplemented from BootstrapHelper< TS >.

Definition at line 239 of file crosscurrencyratehelpers.cpp.

+ Here is the call graph for this function: