Options
All
  • Public
  • Public/Protected
  • All
Menu

This class describes a Ornstein Uhlenbeck model plus exp jump, an extension of the Lucia and Schwartz model $$ \begin{array}{rcl} S &=& exp(X_t + Y_t) \ dX_t &=& \alpha(\mu(t)-X_t)dt + \sigma dW_t \ dY_t &=& -\beta Y_{t-}dt + J_tdN_t \ \omega(J)&=& \eta_u e^{-\eta_u J} \end{array} $$

References: T. Kluge, 2008. Pricing Swing Options and other Electricity Derivatives, http://eprints.maths.ox.ac.uk/246/1/kluge.pdf

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

Private _Y0

_Y0: Real

Private _beta

_beta: Real

Private _cumNormalDist

_cumNormalDist: CumulativeNormalDistribution = new CumulativeNormalDistribution()

_discretization

_discretization: discretization

Private _eta

_eta: Real

_isDisposed

_isDisposed: boolean = false

Private _jumpIntensity

_jumpIntensity: Real

_observables

_observables: Set<Observable> = new Set()

_observers

_observers: Set<Observer> = new Set()

Private _ouProcess

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[]

beta

  • 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

eta

  • Returns Real

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

getExtendedOrnsteinUhlenbeckProcess

init

initialValues

  • initialValues(): Real[]

jumpIntensity

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