### A free/open-source library for quantitative finance

DefaultProbabilityTermStructure Class Reference

Default probability term structure. More...

`#include <ql/termstructures/defaulttermstructure.hpp>`

Inheritance diagram for DefaultProbabilityTermStructure:
[legend]

List of all members.

## Public Member Functions

Constructors
See the TermStructure documentation for issues regarding constructors.
| DefaultProbabilityTermStructure (const DayCounter &dc=DayCounter(), const std::vector< Handle< Quote > > &jumps=std::vector< Handle< Quote > >(), const std::vector< Date > &jumpDates=std::vector< Date >())
| DefaultProbabilityTermStructure (const Date &referenceDate, const Calendar &cal=Calendar(), const DayCounter &dc=DayCounter(), const std::vector< Handle< Quote > > &jumps=std::vector< Handle< Quote > >(), const std::vector< Date > &jumpDates=std::vector< Date >())
| DefaultProbabilityTermStructure (Natural settlementDays, const Calendar &cal, const DayCounter &dc=DayCounter(), const std::vector< Handle< Quote > > &jumps=std::vector< Handle< Quote > >(), const std::vector< Date > &jumpDates=std::vector< Date >())
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
Probability | defaultProbability (Time, Time, bool extrapo=false) const
| probability of default between two given times
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 ()

## Protected Member Functions

Calculations
These 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.
virtual Probability | survivalProbabilityImpl (Time) const =0
| survival probability calculation
virtual Real | defaultDensityImpl (Time) const =0
| default density calculation

## Detailed Description

Default probability term structure.

This abstract class defines the interface of concrete credit structures which will be derived from this one.

## Member Function Documentation

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.

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.

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