QuantLib
A free/open-source library for quantitative finance
Reference manual - version 1.20
Public Member Functions | List of all members
GlobalBootstrap< Curve > Class Template Reference

Global boostrapper, with additional restrictions. More...

#include <ql/termstructures/globalbootstrap.hpp>

Public Member Functions

 GlobalBootstrap (Real accuracy=Null< Real >())
 
 GlobalBootstrap (const std::vector< ext::shared_ptr< typename Traits::helper > > &additionalHelpers, const boost::function< std::vector< Date >()> &additionalDates, const boost::function< Array()> &additionalErrors, Real accuracy=Null< Real >())
 
void setup (Curve *ts)
 
void calculate () const
 

Detailed Description

template<class Curve>
class QuantLib::GlobalBootstrap< Curve >

Global boostrapper, with additional restrictions.

Constructor & Destructor Documentation

◆ GlobalBootstrap()

GlobalBootstrap ( const std::vector< ext::shared_ptr< typename Traits::helper > > &  additionalHelpers,
const boost::function< std::vector< Date >()> &  additionalDates,
const boost::function< Array()> &  additionalErrors,
Real  accuracy = Null<Real>() 
)

The set of (alive) additional dates is added to the interpolation grid. The set of additional dates must only depend on the current global evaluation date. The additionalErrors functor must yield at least as many values such that

number of (usual, alive) rate helpers + number of (alive) additional values >= number of data points - 1

(note that the data points contain t=0). These values are treated as additional error terms in the optimization, the usual rate helpers return marketQuote - impliedQuote here. All error terms are equally weighted in the optimisation.

The additional helpers are treated like the usual rate helpers, but no standard pillar dates are added for them.

WARNING: This class is known to work with Traits Discount, ZeroYield, Forward (i.e. the usual traits for IR curves in QL), it might fail for other traits - check the usage of Traits::updateGuess(), Traits::guess(), Traits::minValueAfter(), Traits::maxValueAfter() in this class against them.