Options
All
  • Public
  • Public/Protected
  • All
Menu

Analytic Heston engine incl. stochastic interest rates

This class is pricing a european option under the following process

$$ \begin{array}{rcl} dS(t, S) &=& (r-d) S dt +\sqrt{v} S dW_1 \ dv(t, S) &=& \kappa (\theta - v) dt + \sigma \sqrt{v} dW_2 \ dr(t) &=& (\theta(t) - a r) dt + \eta dW_3 \ dW_1 dW_2 &=& \rho dt \ dW_1 dW_3 &=& 0 \ dW_2 dW_3 &=& 0 \ \end{array} $$

References:

Karel in't Hout, Joris Bierkens, Antoine von der Ploeg, Joe in't Panhuis, A Semi closed-from analytic pricing formula for call options in a hybrid Heston-Hull-White Model.

A. Sepp, Pricing European-Style Options under Jump Diffusion Processes with Stochastic Volatility: Applications of Fourier Transform (http://math.ut.ee/~spartak/papers/stochjumpvols.pdf)

test

the correctness of the returned value is tested by reproducing results available in web/literature, testing against QuantLib's analytic Heston and Black-Scholes-Merton Hull-White engine

Hierarchy

Implements

Index

Constructors

constructor

Properties

Private _a

_a: Real

_arguments

_arguments: Arguments

Protected _hullWhiteModel

_hullWhiteModel: HullWhite

_isDisposed

_isDisposed: boolean = false

Private _m

_m: Real

_model

_observables

_observables: Set<Observable> = new Set()

_observers

_observers: Set<Observer> = new Set()

_results

_results: Results

Private _sigma

_sigma: Real

deepUpdate

deepUpdate: () => void

Type declaration

    • (): void
    • Returns void

dispose

dispose: () => void

Type declaration

    • (): void
    • 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

addOnTerm

aheInit1

aheInit2

aheInit3

ahhweInit1

ahhweInit2

calculate

  • calculate(): void

chF

getArguments

getResults

init1

init2

lnChF

numberOfEvaluations

  • numberOfEvaluations(): Size

reset

  • reset(): void

update

  • update(): void
  • Returns void

Static doCalculation