Piecewise default-probability term structure. More...
#include <ql/termstructures/credit/piecewisedefaultcurve.hpp>
Public Types | |
typedef Traits | traits_type |
typedef Interpolator | interpolator_type |
typedef Bootstrap< this_curve > | bootstrap_type |
![]() | |
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 () |
![]() | |
void | recalculate () |
void | freeze () |
void | unfreeze () |
void | alwaysForwardNotifications () |
![]() | |
Observable (const Observable &) | |
Observable & | operator= (const Observable &) |
void | notifyObservers () |
![]() | |
Observer (const Observer &) | |
Observer & | operator= (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 | |
![]() | |
virtual void | calculate () const |
![]() | |
bool | calculated_ |
bool | frozen_ |
bool | alwaysForward_ |
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.
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() |
||
) |
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() |
||
) |
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() |
||
) |
|
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.