QuantLib: a free/open-source library for quantitative finance
fully annotated source code - version 1.34
|
Default probability term structure. More...
#include <defaulttermstructure.hpp>
Public Member Functions | |
Constructors | |
See the TermStructure documentation for issues regarding constructors. | |
DefaultProbabilityTermStructure (const DayCounter &dc=DayCounter(), std::vector< Handle< Quote > > jumps={}, const std::vector< Date > &jumpDates={}) | |
DefaultProbabilityTermStructure (const Date &referenceDate, const Calendar &cal=Calendar(), const DayCounter &dc=DayCounter(), std::vector< Handle< Quote > > jumps={}, const std::vector< Date > &jumpDates={}) | |
DefaultProbabilityTermStructure (Natural settlementDays, const Calendar &cal, const DayCounter &dc=DayCounter(), std::vector< Handle< Quote > > jumps={}, const std::vector< Date > &jumpDates={}) | |
Survival probabilities | |
These methods return the survival probability from the reference date until a given date or time. In the latter case, the time is calculated as a fraction of year from the reference date. | |
Probability | survivalProbability (const Date &d, bool extrapolate=false) const |
Probability | survivalProbability (Time t, bool extrapolate=false) const |
Default probabilities | |
These methods return the default probability from the reference date until a given date or time. In the latter case, the time is calculated as a fraction of year from the reference date. | |
Probability | defaultProbability (const Date &d, bool extrapolate=false) const |
Probability | defaultProbability (Time t, bool extrapolate=false) const |
Probability | defaultProbability (const Date &, const Date &, bool extrapolate=false) const |
probability of default between two given dates More... | |
Probability | defaultProbability (Time, Time, bool extrapo=false) const |
probability of default between two given times More... | |
Default densities | |
These methods return the default density at a given date or time. In the latter case, the time is calculated as a fraction of year from the reference date. | |
Real | defaultDensity (const Date &d, bool extrapolate=false) const |
Real | defaultDensity (Time t, bool extrapolate=false) const |
Hazard rates | |
These methods returns the hazard rate at a given date or time. In the latter case, the time is calculated as a fraction of year from the reference date. Hazard rates are defined with annual frequency and continuous compounding. | |
Rate | hazardRate (const Date &d, bool extrapolate=false) const |
Rate | hazardRate (Time t, bool extrapolate=false) const |
Jump inspectors | |
const std::vector< Date > & | jumpDates () const |
const std::vector< Time > & | jumpTimes () const |
Observer interface | |
void | update () override |
Public Member Functions inherited from TermStructure | |
TermStructure (DayCounter dc=DayCounter()) | |
default constructor More... | |
TermStructure (const Date &referenceDate, Calendar calendar=Calendar(), DayCounter dc=DayCounter()) | |
initialize with a fixed reference date More... | |
TermStructure (Natural settlementDays, Calendar, DayCounter dc=DayCounter()) | |
calculate the reference date based on the global evaluation date More... | |
~TermStructure () override=default | |
virtual DayCounter | dayCounter () const |
the day counter used for date/time conversion More... | |
Time | timeFromReference (const Date &date) const |
date/time conversion More... | |
virtual Date | maxDate () const =0 |
the latest date for which the curve can return values More... | |
virtual Time | maxTime () const |
the latest time for which the curve can return values More... | |
virtual const Date & | referenceDate () const |
the date at which discount = 1.0 and/or variance = 0.0 More... | |
virtual Calendar | calendar () const |
the calendar used for reference and/or option date calculation More... | |
virtual Natural | settlementDays () const |
the settlementDays used for reference date calculation More... | |
Public Member Functions inherited from Observer | |
Observer ()=default | |
Observer (const Observer &) | |
Observer & | operator= (const Observer &) |
virtual | ~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 | update ()=0 |
virtual void | deepUpdate () |
Public Member Functions inherited from Observable | |
Observable () | |
Observable (const Observable &) | |
Observable & | operator= (const Observable &) |
Observable (Observable &&)=delete | |
Observable & | operator= (Observable &&)=delete |
virtual | ~Observable ()=default |
void | notifyObservers () |
Public Member Functions inherited from Extrapolator | |
Extrapolator ()=default | |
virtual | ~Extrapolator ()=default |
void | enableExtrapolation (bool b=true) |
enable extrapolation in subsequent calls More... | |
void | disableExtrapolation (bool b=true) |
disable extrapolation in subsequent calls More... | |
bool | allowsExtrapolation () const |
tells whether extrapolation is enabled More... | |
Calculations | |
The first two methods must be implemented in derived classes to perform the actual calculations. When they are called, range check has already been performed; therefore, they must assume that extrapolation is required. The third method has a default implementation which can be overriden with a more efficient implementation in derived classes. | |
std::vector< Handle< Quote > > | jumps_ |
std::vector< Date > | jumpDates_ |
std::vector< Time > | jumpTimes_ |
Size | nJumps_ |
Date | latestReference_ |
virtual Probability | survivalProbabilityImpl (Time) const =0 |
survival probability calculation More... | |
virtual Real | defaultDensityImpl (Time) const =0 |
default density calculation More... | |
virtual Real | hazardRateImpl (Time) const |
hazard rate calculation More... | |
void | setJumps () |
Additional Inherited Members | |
Public Types inherited from Observer | |
typedef set_type::iterator | iterator |
Protected Member Functions inherited from TermStructure | |
void | checkRange (const Date &d, bool extrapolate) const |
date-range check More... | |
void | checkRange (Time t, bool extrapolate) const |
time-range check More... | |
Protected Attributes inherited from TermStructure | |
bool | moving_ = false |
bool | updated_ = true |
Calendar | calendar_ |
Default probability term structure.
This abstract class defines the interface of concrete credit structures which will be derived from this one.
Definition at line 41 of file defaulttermstructure.hpp.
DefaultProbabilityTermStructure | ( | const DayCounter & | dc = DayCounter() , |
std::vector< Handle< Quote > > | jumps = {} , |
||
const std::vector< Date > & | jumpDates = {} |
||
) |
DefaultProbabilityTermStructure | ( | const Date & | referenceDate, |
const Calendar & | cal = Calendar() , |
||
const DayCounter & | dc = DayCounter() , |
||
std::vector< Handle< Quote > > | jumps = {} , |
||
const std::vector< Date > & | jumpDates = {} |
||
) |
DefaultProbabilityTermStructure | ( | Natural | settlementDays, |
const Calendar & | cal, | ||
const DayCounter & | dc = DayCounter() , |
||
std::vector< Handle< Quote > > | jumps = {} , |
||
const std::vector< Date > & | jumpDates = {} |
||
) |
Probability survivalProbability | ( | const Date & | d, |
bool | extrapolate = false |
||
) | const |
Definition at line 178 of file defaulttermstructure.hpp.
Probability survivalProbability | ( | Time | t, |
bool | extrapolate = false |
||
) | const |
The same day-counting rule used by the term structure should be used for calculating the passed time t.
Definition at line 81 of file defaulttermstructure.cpp.
Probability defaultProbability | ( | const Date & | d, |
bool | extrapolate = false |
||
) | const |
Definition at line 185 of file defaulttermstructure.hpp.
Probability defaultProbability | ( | Time | t, |
bool | extrapolate = false |
||
) | const |
The same day-counting rule used by the term structure should be used for calculating the passed time t.
Definition at line 192 of file defaulttermstructure.hpp.
Probability defaultProbability | ( | const Date & | d1, |
const Date & | d2, | ||
bool | extrapolate = false |
||
) | const |
probability of default between two given dates
Definition at line 103 of file defaulttermstructure.cpp.
Probability defaultProbability | ( | Time | t1, |
Time | t2, | ||
bool | extrapo = false |
||
) | const |
probability of default between two given times
Definition at line 116 of file defaulttermstructure.cpp.
Definition at line 199 of file defaulttermstructure.hpp.
Definition at line 214 of file defaulttermstructure.hpp.
const std::vector< Date > & jumpDates | ( | ) | const |
Definition at line 233 of file defaulttermstructure.hpp.
const std::vector< Time > & jumpTimes | ( | ) | const |
Definition at line 239 of file defaulttermstructure.hpp.
|
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.
Reimplemented from TermStructure.
Definition at line 243 of file defaulttermstructure.hpp.
|
protectedpure virtual |
survival probability calculation
Implemented in InterpolatedAffineHazardRateCurve< Interpolator >, OneFactorAffineSurvivalStructure, DefaultDensityStructure, FlatHazardRate, HazardRateStructure, InterpolatedDefaultDensityCurve< Interpolator >, InterpolatedHazardRateCurve< Interpolator >, and InterpolatedSurvivalProbabilityCurve< Interpolator >.
default density calculation
Implemented in OneFactorAffineSurvivalStructure, HazardRateStructure, InterpolatedDefaultDensityCurve< Interpolator >, InterpolatedSurvivalProbabilityCurve< Interpolator >, and SurvivalProbabilityStructure.
hazard rate calculation
Reimplemented in FactorSpreadedHazardRateCurve, SpreadedHazardRateCurve, InterpolatedAffineHazardRateCurve< Interpolator >, OneFactorAffineSurvivalStructure, FlatHazardRate, HazardRateStructure, and InterpolatedHazardRateCurve< Interpolator >.
Definition at line 220 of file defaulttermstructure.hpp.
|
private |
Definition at line 64 of file defaulttermstructure.cpp.
Definition at line 168 of file defaulttermstructure.hpp.
|
private |
Definition at line 169 of file defaulttermstructure.hpp.
|
private |
Definition at line 170 of file defaulttermstructure.hpp.
|
private |
Definition at line 171 of file defaulttermstructure.hpp.
|
private |
Definition at line 172 of file defaulttermstructure.hpp.