QuantLib
A free/open-source library for quantitative finance
Reference manual - version 1.20
Public Types | List of all members
PiecewiseDefaultCurve< Traits, Interpolator, Bootstrap > Class Template Reference

Piecewise default-probability term structure. More...

#include <ql/termstructures/credit/piecewisedefaultcurve.hpp>

+ Inheritance diagram for PiecewiseDefaultCurve< Traits, Interpolator, Bootstrap >:

Public Types

typedef Traits traits_type
 
typedef Interpolator interpolator_type
 
typedef Bootstrap< this_curvebootstrap_type
 
- Public Types inherited from Observer
typedef boost::unordered_set< ext::shared_ptr< Observable > > set_type
 
typedef set_type::iterator iterator
 

Public Member Functions

Constructors
 PiecewiseDefaultCurve (const Date &referenceDate, const std::vector< ext::shared_ptr< typename Traits::helper > > &instruments, const DayCounter &dayCounter, const std::vector< Handle< Quote > > &jumps=std::vector< Handle< Quote > >(), const std::vector< Date > &jumpDates=std::vector< Date >(), const Interpolator &i=Interpolator(), const bootstrap_type &bootstrap=bootstrap_type())
 
 PiecewiseDefaultCurve (const Date &referenceDate, const std::vector< ext::shared_ptr< typename Traits::helper > > &instruments, const DayCounter &dayCounter, const Interpolator &i, const bootstrap_type &bootstrap=bootstrap_type())
 
 PiecewiseDefaultCurve (const Date &referenceDate, const std::vector< ext::shared_ptr< typename Traits::helper > > &instruments, const DayCounter &dayCounter, const bootstrap_type &bootstrap)
 
QL_DEPRECATED PiecewiseDefaultCurve (const Date &referenceDate, const std::vector< ext::shared_ptr< typename Traits::helper > > &instruments, const DayCounter &dayCounter, const std::vector< Handle< Quote > > &jumps, const std::vector< Date > &jumpDates, Real accuracy, const Interpolator &i=Interpolator(), const bootstrap_type &bootstrap=bootstrap_type())
 
QL_DEPRECATED PiecewiseDefaultCurve (const Date &referenceDate, const std::vector< ext::shared_ptr< typename Traits::helper > > &instruments, const DayCounter &dayCounter, Real accuracy, const Interpolator &i=Interpolator(), const bootstrap_type &bootstrap=bootstrap_type())
 
 PiecewiseDefaultCurve (Natural settlementDays, const Calendar &calendar, const std::vector< ext::shared_ptr< typename Traits::helper > > &instruments, const DayCounter &dayCounter, const std::vector< Handle< Quote > > &jumps=std::vector< Handle< Quote > >(), const std::vector< Date > &jumpDates=std::vector< Date >(), const Interpolator &i=Interpolator(), const bootstrap_type &bootstrap=bootstrap_type())
 
 PiecewiseDefaultCurve (Natural settlementDays, const Calendar &calendar, const std::vector< ext::shared_ptr< typename Traits::helper > > &instruments, const DayCounter &dayCounter, const Interpolator &i, const bootstrap_type &bootstrap=bootstrap_type())
 
 PiecewiseDefaultCurve (Natural settlementDays, const Calendar &calendar, const std::vector< ext::shared_ptr< typename Traits::helper > > &instruments, const DayCounter &dayCounter, const bootstrap_type &bootstrap)
 
QL_DEPRECATED PiecewiseDefaultCurve (Natural settlementDays, const Calendar &calendar, const std::vector< ext::shared_ptr< typename Traits::helper > > &instruments, const DayCounter &dayCounter, const std::vector< Handle< Quote > > &jumps, const std::vector< Date > &jumpDates, Real accuracy, const Interpolator &i=Interpolator(), const bootstrap_type &bootstrap=bootstrap_type())
 
QL_DEPRECATED PiecewiseDefaultCurve (Natural settlementDays, const Calendar &calendar, const std::vector< ext::shared_ptr< typename Traits::helper > > &instruments, const DayCounter &dayCounter, Real accuracy, const Interpolator &i=Interpolator(), const bootstrap_type &bootstrap=bootstrap_type())
 
 PiecewiseDefaultCurve (const Date &referenceDate, const std::vector< ext::shared_ptr< typename Traits::helper > > &instruments, const DayCounter &dayCounter, const ext::shared_ptr< OneFactorAffineModel > &model, const Interpolator &i=Interpolator(), const bootstrap_type &bootstrap=bootstrap_type())
 
QL_DEPRECATED PiecewiseDefaultCurve (const Date &referenceDate, const std::vector< ext::shared_ptr< typename Traits::helper > > &instruments, const DayCounter &dayCounter, Real accuracy, const ext::shared_ptr< OneFactorAffineModel > &model, const Interpolator &i=Interpolator(), const bootstrap_type &bootstrap=bootstrap_type())
 
TermStructure interface
Date maxDate () const
 
base_curve interface
const std::vector< Time > & times () const
 
const std::vector< Date > & dates () const
 
const std::vector< Real > & data () const
 
std::vector< std::pair< Date, Real > > nodes () const
 
Observer interface
void update ()
 
- Public Member Functions inherited from LazyObject
void recalculate ()
 
void freeze ()
 
void unfreeze ()
 
void alwaysForwardNotifications ()
 
- Public Member Functions inherited from Observable
 Observable (const Observable &)
 
Observableoperator= (const Observable &)
 
void notifyObservers ()
 
- 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 ()
 

LazyObject interface

class Bootstrap< this_curve >
 
class BootstrapError< this_curve >
 

Additional Inherited Members

- Protected Member Functions inherited from LazyObject
virtual void calculate () const
 
- Protected Attributes inherited from LazyObject
bool calculated_
 
bool frozen_
 
bool alwaysForward_
 

Detailed Description

template<class Traits, class Interpolator, template< class > class Bootstrap = IterativeBootstrap>
class QuantLib::PiecewiseDefaultCurve< Traits, Interpolator, Bootstrap >

Piecewise default-probability term structure.

This term structure is bootstrapped on a number of credit instruments which are passed as a vector of handles to DefaultProbabilityHelper instances. Their maturities mark the boundaries of the interpolated segments.

Each segment is determined sequentially starting from the earliest period to the latest and is chosen so that the instrument whose maturity marks the end of such segment is correctly repriced on the curve.

Warning:
The bootstrapping algorithm will raise an exception if any two instruments have the same maturity date.
Examples
CDS.cpp.

Constructor & Destructor Documentation

◆ PiecewiseDefaultCurve() [1/5]

QL_DEPRECATED PiecewiseDefaultCurve ( const Date referenceDate,
const std::vector< ext::shared_ptr< typename Traits::helper > > &  instruments,
const DayCounter dayCounter,
const std::vector< Handle< Quote > > &  jumps,
const std::vector< Date > &  jumpDates,
Real  accuracy,
const Interpolator &  i = Interpolator(),
const bootstrap_type &  bootstrap = bootstrap_type() 
)
Deprecated:
Pass the accuracy inside the bootstrap object (or don't pass it at all). Deprecated in version 1.18.

◆ PiecewiseDefaultCurve() [2/5]

QL_DEPRECATED PiecewiseDefaultCurve ( const Date referenceDate,
const std::vector< ext::shared_ptr< typename Traits::helper > > &  instruments,
const DayCounter dayCounter,
Real  accuracy,
const Interpolator &  i = Interpolator(),
const bootstrap_type &  bootstrap = bootstrap_type() 
)
Deprecated:
Pass the accuracy inside the bootstrap object (or don't pass it at all). Deprecated in version 1.18.

◆ PiecewiseDefaultCurve() [3/5]

QL_DEPRECATED PiecewiseDefaultCurve ( Natural  settlementDays,
const Calendar calendar,
const std::vector< ext::shared_ptr< typename Traits::helper > > &  instruments,
const DayCounter dayCounter,
const std::vector< Handle< Quote > > &  jumps,
const std::vector< Date > &  jumpDates,
Real  accuracy,
const Interpolator &  i = Interpolator(),
const bootstrap_type &  bootstrap = bootstrap_type() 
)
Deprecated:
Pass the accuracy inside the bootstrap object (or don't pass it at all). Deprecated in version 1.18.

◆ PiecewiseDefaultCurve() [4/5]

QL_DEPRECATED PiecewiseDefaultCurve ( Natural  settlementDays,
const Calendar calendar,
const std::vector< ext::shared_ptr< typename Traits::helper > > &  instruments,
const DayCounter dayCounter,
Real  accuracy,
const Interpolator &  i = Interpolator(),
const bootstrap_type &  bootstrap = bootstrap_type() 
)
Deprecated:
Pass the accuracy inside the bootstrap object (or don't pass it at all). Deprecated in version 1.18.

◆ PiecewiseDefaultCurve() [5/5]

QL_DEPRECATED PiecewiseDefaultCurve ( const Date referenceDate,
const std::vector< ext::shared_ptr< typename Traits::helper > > &  instruments,
const DayCounter dayCounter,
Real  accuracy,
const ext::shared_ptr< OneFactorAffineModel > &  model,
const Interpolator &  i = Interpolator(),
const bootstrap_type &  bootstrap = bootstrap_type() 
)
Deprecated:
Pass the accuracy inside the bootstrap object (or don't pass it at all). Deprecated in version 1.18.

Member Function Documentation

◆ 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.

Reimplemented from LazyObject.