QuantLib
A free/open-source library for quantitative finance
Reference manual - version 1.20
Public Member Functions | List of all members
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 Handle< Quote > &quote)
 
 BootstrapHelper (Real 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 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...
 
Observer interface
virtual void update ()
 
- 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

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 boost::unordered_set< ext::shared_ptr< Observable > > set_type
 
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()

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.

◆ earliestDate()

Date earliestDate
virtual

earliest relevant date

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

◆ latestRelevantDate()

Date latestRelevantDate
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()

Date latestDate
virtual

latest date

equal to pillarDate()

◆ update()

void update ( )
virtual

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, and RelativeDateBootstrapHelper< TS >.