Options
All
  • Public
  • Public/Protected
  • All
Menu

This class describes a correlated Kluge - extended Ornstein-Uhlenbeck process governed by $$ \begin{array}{rcl} P_t &=& \exp(p_t + X_t + Y_t) \ dX_t &=& -\alpha X_tdt + \sigma_x dW_t^x \ dY_t &=& -\beta Y_{t-}dt + J_tdN_t \ \omega(J) &=& \eta e^{-\eta J} \ G_t &=& \exp(g_t + U_t) \ dU_t &=& -\kappa U_tdt + \sigma_udW_t^u \ \rho &=& \mathrm{corr} (dW_t^x, dW_t^u) \end{array} $$

References: B. Hambly, S. Howison, T. Kluge, Modelling spikes and pricing swing options in electricity markets, http://people.maths.ox.ac.uk/hambly/PDF/Papers/elec.pdf

Hierarchy

Implements

Index

Constructors

constructor

Properties

_discretization

_discretization: discretization

_isDisposed

_isDisposed: boolean = false

Private _klugeProcess

_klugeProcess: ExtOUWithJumpsProcess

_observables

_observables: Set<Observable> = new Set()

_observers

_observers: Set<Observer> = new Set()

Private _ouProcess

Private _rho

_rho: Real

Private _sqrtMRho

_sqrtMRho: Real

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

apply1

  • applies a change to the asset value. By default, it returns $ \mathrm{x} + \Delta \mathrm{x} $.

    Parameters

    Returns Real[]

covariance

  • returns the covariance $$ V(\mathrm{x}{t_0 + \Delta t} | \mathrm{x}{t_0} = \mathrm{x}_0) $$ of the process after a time interval $ \Delta t $ according to the given discretization. This method can be overridden in derived classes which want to hard-code a particular discretization.

    Parameters

    Returns Matrix

deepUpdate

  • deepUpdate(): void

diffusion1

drift1

evolve1

expectation1

  • returns the expectation $$ E(\mathrm{x}{t_0 + \Delta t} | \mathrm{x}{t_0} = \mathrm{x}_0) $$ of the process after a time interval $ \Delta t $ according to the given discretization. This method can be overridden in derived classes which want to hard-code a particular discretization.

    Parameters

    Returns Real[]

factors

getExtOUProcess

getKlugeProcess

init

initialValues

  • initialValues(): Real[]

rho

  • Returns Real

size

stdDeviation1

  • returns the standard deviation $$ S(\mathrm{x}{t_0 + \Delta t} | \mathrm{x}{t_0} = \mathrm{x}_0) $$ of the process after a time interval $ \Delta t $ according to the given discretization. This method can be overridden in derived classes which want to hard-code a particular discretization.

    Parameters

    Returns Matrix

time

  • time(d: Date): Time
  • returns the time value corresponding to the given date in the reference system of the stochastic process.

    note As a number of processes might not need this functionality, a default implementation is given which raises an exception.

    Parameters

    • d: Date

    Returns Time

update

  • update(): void