Options
All
  • Public
  • Public/Protected
  • All
Menu

One factor interest rate model interface class

The only methods that must be implemented by subclasses are the numeraire and zerobond methods for an input array of state variable values. The variable $y$ is understood to be the standardized (zero mean, unit variance) version of the model's original state variable $x$.

NTL support may be enabled by defining GAUSS1D_ENABLE_NTL in this file. For details on NTL see http://www.shoup.net/ntl/

warning the variance of the state process conditional on $x(t)=x$ must be independent of the value of $x$

Hierarchy

Implements

Implemented by

Index

Properties

_alwaysForward

_alwaysForward: boolean = false

_calculated

_calculated: boolean = false

_enforcesTodaysHistoricFixings

_enforcesTodaysHistoricFixings: boolean

_evaluationDate

_evaluationDate: Date

_frozen

_frozen: boolean = false

_isDisposed

_isDisposed: boolean = false

_observables

_observables: Set<Observable> = new Set()

_observers

_observers: Set<Observer> = new Set()

_stateProcess

_stateProcess: StochasticProcess1D

_swapCache

_termStructure

_termStructure: Handle<YieldTermStructure>

alwaysForwardNotifications

alwaysForwardNotifications: () => void

Type declaration

    • (): void
    • Returns void

calculate

calculate: () => void

Type declaration

    • (): void
    • Returns void

deepUpdate

deepUpdate: () => void

Type declaration

    • (): void
    • Returns void

dispose

dispose: () => void

Type declaration

    • (): void
    • Returns void

freeze

freeze: () => void

Type declaration

    • (): void
    • Returns void

isDisposed

isDisposed: boolean

notifyObservers

notifyObservers: () => void

Type declaration

    • (): void
    • Returns void

recalculate

recalculate: () => 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

tcmInit

Type declaration

termStructure

termStructure: () => Handle<YieldTermStructure>

Type declaration

unfreeze

unfreeze: () => void

Type declaration

    • (): void
    • Returns void

unregisterObserver

unregisterObserver: (o: Observer) => void

Type declaration

unregisterWith

unregisterWith: (h: Observable) => Size

Type declaration

unregisterWithAll

unregisterWithAll: () => void

Type declaration

    • (): void
    • Returns void

Methods

forwardRate

  • forwardRate(fixing: Date, referenceDate?: Date, y?: Real, iborIdx?: IborIndex): Real
  • Parameters

    • fixing: Date
    • Default value referenceDate: Date = null
    • Default value y: Real = 0
    • Default value iborIdx: IborIndex = null

    Returns Real

g1dmInit

generateArguments

  • generateArguments(): void
  • Returns void

numeraire1

  • Parameters

    Returns Real

numeraire2

  • Parameters

    Returns Real

numeraireImpl

performCalculations

  • performCalculations(): void

stateProcess

  • Returns StochasticProcess1D

swapAnnuity

  • Parameters

    • fixing: Date
    • tenor: Period
    • Default value referenceDate: Date = null
    • Default value y: Real = 0
    • Default value swapIdx: SwapIndex = null

    Returns Real

swapRate

  • Parameters

    • fixing: Date
    • tenor: Period
    • Default value referenceDate: Date = null
    • Default value y: Real = 0
    • Default value swapIdx: SwapIndex = null

    Returns Real

underlyingSwap

  • Parameters

    Returns VanillaSwap

update

  • update(): void

yGrid

  • Generates a grid of values for the standardized state variable $y$ at time $T$ conditional on $y(t)=y$, covering yStdDevs standard deviations consisting of 2*gridPoints+1 points

    Parameters

    • stdDevs: Real
    • gridPoints: Size
    • Default value T: Real = 1
    • Default value t: Real = 0
    • Default value y: Real = 0

    Returns Real[]

zerobond1

  • Parameters

    Returns Real

zerobond2

  • Parameters

    • maturity: Date
    • Default value referenceDate: Date = null
    • Default value y: Real = 0
    • Default value yts: Handle<YieldTermStructure> = new Handle()

    Returns Real

zerobondImpl

zerobondOption

  • zerobondOption(type: Type, expiry: Date, valueDate: Date, maturity: Date, strike: Rate, referenceDate?: Date, y?: Real, yts?: Handle<YieldTermStructure>, yStdDevs?: Real, yGridPoints?: Size, extrapolatePayoff?: boolean, flatPayoffExtrapolation?: boolean): Real
  • Parameters

    • type: Type
    • expiry: Date
    • valueDate: Date
    • maturity: Date
    • strike: Rate
    • Default value referenceDate: Date = null
    • Default value y: Real = 0
    • Default value yts: Handle<YieldTermStructure> = new Handle()
    • Default value yStdDevs: Real = 7
    • Default value yGridPoints: Size = 64
    • Default value extrapolatePayoff: boolean = true
    • Default value flatPayoffExtrapolation: boolean = false

    Returns Real

Static gaussianPolynomialIntegral

  • Computes the integral $$ {2\pi}^{-0.5} \int_{a}^{b} p(x) \exp{-0.5xx} \mathrm{d}x $$ with $$ p(x) = ax^4+bx^3+cx^2+dx+e $$.

    Parameters

    Returns Real

Static gaussianShiftedPolynomialIntegral

  • Computes the integral $$ {2\pi}^{-0.5} \int_{a}^{b} p(x) \exp{-0.5xx} \mathrm{d}x $$ with $$ p(x) = a(x-h)^4+b(x-h)^3+c(x-h)^2+d(x-h)+e $$.

    Parameters

    Returns Real