Options
All
  • Public
  • Public/Protected
  • All
Menu

Forward-rate term structure

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

Zero yields and discounts are calculated from forwards.

Forward rates are assumed to be annual 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 = 0

_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

discount1

  • Discount factors

    These methods return the discount factor from a given date or time to the reference date. 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 DiscountFactor

discount2

  • The same day-counting rule used by the term structure should be used for calculating the passed time t.

    Parameters

    • t: Time
    • Default value extrapolate: boolean = false

    Returns DiscountFactor

discountImpl

  • Returns the discount factor for the given date calculating it from the zero rate as $ d(t) = \exp \left( -z(t) t \right) $

    Parameters

    Returns DiscountFactor

forwardImpl

  • instantaneous forward-rate calculation

    Parameters

    Returns Rate

forwardRate1

forwardRate2

  • The resulting interest rate has the required day-counting rule. warning dates are not adjusted for holidays

    Parameters

    Returns InterestRate

forwardRate3

  • The resulting interest rate has the same day-counting rule used by the term structure. The same rule should be used for calculating the passed times t1 and t2.

    Parameters

    Returns InterestRate

frsInit1

  • Parameters

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

    Returns ForwardRateStructure

frsInit2

  • 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 ForwardRateStructure

frsInit3

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

timeFromReference

  • timeFromReference(d: Date): Time

tsInit1

tsInit2

tsInit3

update

  • update(): void

ytsInit1

ytsInit2

ytsInit3

zeroRate1

zeroRate2

  • The resulting interest rate has the same day-counting rule used by the term structure. The same rule should be used for calculating the passed time t.

    Parameters

    Returns InterestRate

zeroYieldImpl

  • Returns the zero yield rate for the given date calculating it from the instantaneous forward rate $ f(t) $ as $$ z(t) = \int_0^t f(\tau) d\tau $$

    warning This default implementation uses an highly inefficient and possibly wildly inaccurate numerical integration. Derived classes should override it if a more efficient implementation is available.

    Parameters

    Returns Rate