Options
All
  • Public
  • Public/Protected
  • All
Menu

Hazard-rate term structure

This abstract class acts as an adapter to DefaultProbabilityTermStructure allowing the programmer to implement only the hazardRateImpl(Time) method in derived classes.

Survival/default probabilities and default densities are calculated from hazard rates.

Hazard rates are defined with annual frequency and continuous compounding.

Hierarchy

Implements

Implemented by

Index

Properties

_calendar

_calendar: Calendar

_dayCounter

_dayCounter: DayCounter

_extrapolate

_extrapolate: boolean

_isDisposed

_isDisposed: boolean = false

_jumpDates

_jumpDates: Date[]

_jumpTimes

_jumpTimes: Time[]

_jumps

_jumps: Array<Handle<Quote>>

_latestReference

_latestReference: Date

_moving

_moving: boolean

_nJumps

_nJumps: Size

_observables

_observables: Set<Observable> = new Set()

_observers

_observers: Set<Observer> = new Set()

_referenceDate

_referenceDate: Date

_settlementDays

_settlementDays: Natural

_updated

_updated: boolean

allowsExtrapolation

allowsExtrapolation: () => boolean

Type declaration

    • (): boolean
    • Returns boolean

deepUpdate

deepUpdate: () => void

Type declaration

    • (): void
    • Returns void

disableExtrapolation

disableExtrapolation: (b?: boolean) => void

Type declaration

    • (b?: boolean): void
    • Parameters

      • Optional b: boolean

      Returns void

dispose

dispose: () => void

Type declaration

    • (): void
    • Returns void

enableExtrapolation

enableExtrapolation: (b?: boolean) => void

Type declaration

    • (b?: boolean): void
    • Parameters

      • Optional b: boolean

      Returns void

isDisposed

isDisposed: boolean

notifyObservers

notifyObservers: () => void

Type declaration

    • (): void
    • Returns void

registerObserver

registerObserver: (o: Observer) => void

Type declaration

registerWith

registerWith: (h: Observable) => void

Type declaration

registerWithObservables

registerWithObservables: (o: Observer) => void

Type declaration

unregisterObserver

unregisterObserver: (o: Observer) => void

Type declaration

unregisterWith

unregisterWith: (h: Observable) => Size

Type declaration

unregisterWithAll

unregisterWithAll: () => void

Type declaration

    • (): void
    • Returns void

Methods

calendar

  • the calendar used for reference and/or option date calculation

    Returns Calendar

checkRange1

  • checkRange1(d: Date, extrapolate: boolean): void
  • date-range check

    Parameters

    • d: Date
    • extrapolate: boolean

    Returns void

checkRange2

  • checkRange2(t: Time, extrapolate: boolean): void
  • time-range check

    Parameters

    • t: Time
    • extrapolate: boolean

    Returns void

dayCounter

defaultDensity1

  • defaultDensity1(d: Date, extrapolate?: boolean): Real
  • 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.

    Parameters

    • d: Date
    • Default value extrapolate: boolean = false

    Returns Real

defaultDensity2

  • defaultDensity2(t: Time, extrapolate?: boolean): Real

defaultDensityImpl

defaultProbability1

  • defaultProbability1(d: Date, extrapolate?: boolean): Probability
  • 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.

    Parameters

    • d: Date
    • Default value extrapolate: boolean = false

    Returns Probability

defaultProbability2

defaultProbability3

  • defaultProbability3(d1: Date, d2: Date, extrapolate?: boolean): Probability

defaultProbability4

dptInit1

dptInit2

dptInit3

hazardRate1

  • hazardRate1(d: Date, extrapolate?: boolean): Rate
  • 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.

    Parameters

    • d: Date
    • Default value extrapolate: boolean = false

    Returns Rate

hazardRate2

  • hazardRate2(t: Time, extrapolate?: boolean): Rate

hazardRateImpl

  • Calculations

    This method must be implemented in derived classes to perform the actual calculations. When it is called, range check has already been performed; therefore, it must assume that extrapolation is required.

    Parameters

    Returns Real

hrsInit1

  • Parameters

    • Default value dc: DayCounter = new DayCounter()
    • Default value jumps: Array<Handle<Quote>> = []
    • Default value jumpDates: Date[] = []

    Returns HazardRateStructure

hrsInit2

  • Parameters

    • referenceDate: Date
    • Default value calendar: Calendar = new Calendar()
    • Default value dc: DayCounter = new DayCounter()
    • Default value jumps: Array<Handle<Quote>> = []
    • Default value jumpDates: Date[] = []

    Returns HazardRateStructure

hrsInit3

  • Parameters

    Returns HazardRateStructure

jumpDates

  • jumpDates(): Date[]

jumpTimes

  • jumpTimes(): Time[]

maxDate

  • maxDate(): Date
  • the latest date for which the curve can return values

    Returns Date

maxTime

  • the latest time for which the curve can return values

    Returns Time

referenceDate

  • referenceDate(): Date
  • the date at which discount = 1.0 and/or variance = 0.0

    Returns Date

setJumps

  • setJumps(): void

settlementDays

survivalProbability1

  • survivalProbability1(d: Date, extrapolate?: boolean): Probability
  • 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.

    Parameters

    • d: Date
    • Default value extrapolate: boolean = false

    Returns Probability

survivalProbability2

survivalProbabilityImpl

  • survival probability calculation

    implemented in terms of the hazard rate $ h(t) $ as $$ S(t) = \exp\left( - \int_0^t h(\tau) d\tau \right). $$

    warning This default implementation uses numerical integration, which might be inefficient and inaccurate. Derived classes should override it if a more efficient implementation is available.

    Parameters

    Returns Probability

timeFromReference

  • timeFromReference(d: Date): Time

tsInit1

tsInit2

tsInit3

update

  • update(): void