|
QuantLib: a free/open-source library for quantitative finance
fully annotated source code - version 1.38
|
Rate helper for bootstrapping over constant-notional cross-currency basis swaps. More...
#include <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 > "eCurrencyIndex, const Handle< YieldTermStructure > &collateralCurve, bool isFxBaseCurrencyCollateralCurrency, bool isBasisOnFxBaseCurrencyLeg, Frequency paymentFrequency=NoFrequency, Integer paymentLag=0) | |
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 std::variant< Spread, Handle< Quote > > "e, bool updateDates=true) | |
| void | update () override |
Public Member Functions inherited from BootstrapHelper< TS > | |
| BootstrapHelper (const std::variant< Spread, Handle< Quote > > "e) | |
| ~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 &) | |
| Observer & | operator= (const Observer &) |
| virtual | ~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 | update ()=0 |
| virtual void | deepUpdate () |
Public Member Functions inherited from Observable | |
| Observable ()=default | |
| Observable (const Observable &) | |
| Observable & | operator= (const Observable &) |
| Observable (Observable &&)=delete | |
| Observable & | operator= (Observable &&)=delete |
| virtual | ~Observable ()=default |
| void | notifyObservers () |
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 102 of file crosscurrencyratehelpers.hpp.
| 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, | ||
| Frequency | paymentFrequency = NoFrequency, |
||
| Integer | paymentLag = 0 |
||
| ) |
Definition at line 262 of file crosscurrencyratehelpers.cpp.
|
overridevirtual |
Implements BootstrapHelper< TS >.
Definition at line 290 of file crosscurrencyratehelpers.cpp.
Here is the call graph for this function:
|
overridevirtual |
Reimplemented from BootstrapHelper< TS >.
Definition at line 297 of file crosscurrencyratehelpers.cpp.
Here is the call graph for this function: