QuantLib: a free/open-source library for quantitative finance
Reference manual - version 1.40
Loading...
Searching...
No Matches
BootstrapHelper< TS > Class Template Referenceabstract

Base helper class for bootstrapping. More...

#include <ql/termstructures/bootstraphelper.hpp>

Inheritance diagram for BootstrapHelper< TS >:

Public Member Functions

 BootstrapHelper (const std::variant< Spread, Handle< Quote > > &quote)
BootstrapHelper interface
const Handle< Quote > & quote () const
virtual Real impliedQuote () const =0
Real quoteError () const
virtual void setTermStructure (TS *)
 sets the term structure to be used for pricing
virtual Date earliestDate () const
 earliest relevant date
virtual Date maturityDate () const
 instrument's maturity date
virtual Date latestRelevantDate () const
 latest relevant date
virtual Date pillarDate () const
 pillar date
virtual Date latestDate () const
 latest date
Observer interface
void update () override
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 &)
 Observable (Observable &&)=delete
Observableoperator= (Observable &&)=delete
void notifyObservers ()

Visitability

Handle< Quotequote_
TS * termStructure_
Date earliestDate_
Date latestDate_
Date maturityDate_
Date latestRelevantDate_
Date pillarDate_
virtual void accept (AcyclicVisitor &)

Additional Inherited Members

Public Types inherited from Observer
typedef set_type::iterator iterator

Detailed Description

template<class TS>
class QuantLib::BootstrapHelper< TS >

Base helper class for bootstrapping.

This class provides an abstraction for the instruments used to bootstrap a term structure.

It is advised that a bootstrap helper for an instrument contains an instance of the actual instrument class to ensure consistancy between the algorithms used during bootstrapping and later instrument pricing. This is not yet fully enforced in the available bootstrap helpers.

Member Function Documentation

◆ setTermStructure()

template<class TS>
void setTermStructure ( TS * t)
virtual

sets the term structure to be used for pricing

Warning
Being a pointer and not a shared_ptr, the term structure is not guaranteed to remain allocated for the whole life of the rate helper. It is responsibility of the programmer to ensure that the pointer remains valid. It is advised that this method is called only inside the term structure being bootstrapped, setting the pointer to this, i.e., the term structure itself.

Reimplemented in ArithmeticOISRateHelper, BMASwapRateHelper, BondHelper, CdsHelper, CrossCurrencyBasisSwapRateHelperBase, DepositRateHelper, FraRateHelper, FxSwapRateHelper, OISRateHelper, OvernightIndexFutureRateHelper, SwapRateHelper, YearOnYearInflationSwapHelper, YoYOptionletHelper, and ZeroCouponInflationSwapHelper.

◆ earliestDate()

template<class TS>
Date earliestDate ( ) const
virtual

earliest relevant date

The earliest date at which data are needed by the helper in order to provide a quote.

◆ latestRelevantDate()

template<class TS>
Date latestRelevantDate ( ) const
virtual

latest relevant date

The latest date at which data are needed by the helper in order to provide a quote. It does not necessarily equal the maturity of the underlying instrument.

◆ latestDate()

template<class TS>
Date latestDate ( ) const
virtual

latest date

equal to pillarDate()

◆ update()

template<class TS>
void update ( )
overridevirtual

This method must be implemented in derived classes. An instance of Observer does not call this method directly: instead, it will be called by the observables the instance registered with when they need to notify any changes.

Implements Observer.

Reimplemented in CdsHelper, RelativeDateBootstrapHelper< TS >, RelativeDateBootstrapHelper< DefaultProbabilityTermStructure >, RelativeDateBootstrapHelper< YieldTermStructure >, RelativeDateBootstrapHelper< YoYInflationTermStructure >, and RelativeDateBootstrapHelper< ZeroInflationTermStructure >.