QuantLib
A free/open-source library for quantitative finance
Reference manual - version 1.5
Public Member Functions | List of all members
ExtOUWithJumpsProcess Class Reference

#include <ql/experimental/processes/extouwithjumpsprocess.hpp>

+ Inheritance diagram for ExtOUWithJumpsProcess:

Public Member Functions

 ExtOUWithJumpsProcess (const boost::shared_ptr< ExtendedOrnsteinUhlenbeckProcess > &process, Real Y0, Real beta, Real jumpIntensity, Real eta)
 
Size size () const
 returns the number of dimensions of the stochastic process
 
Size factors () const
 returns the number of independent factors of the process
 
Disposable< ArrayinitialValues () const
 returns the initial values of the state variables
 
Disposable< Arraydrift (Time t, const Array &x) const
 returns the drift part of the equation, i.e., \( \mu(t, \mathrm{x}_t) \)
 
Disposable< Matrixdiffusion (Time t, const Array &x) const
 returns the diffusion part of the equation, i.e. \( \sigma(t, \mathrm{x}_t) \)
 
Disposable< Arrayevolve (Time t0, const Array &x0, Time dt, const Array &dw) const
 
boost::shared_ptr
< ExtendedOrnsteinUhlenbeckProcess
getExtendedOrnsteinUhlenbeckProcess () const
 
Real beta () const
 
Real eta () const
 
Real jumpIntensity () const
 
- Public Member Functions inherited from StochasticProcess
virtual Disposable< Arrayexpectation (Time t0, const Array &x0, Time dt) const
 
virtual Disposable< MatrixstdDeviation (Time t0, const Array &x0, Time dt) const
 
virtual Disposable< Matrixcovariance (Time t0, const Array &x0, Time dt) const
 
virtual Disposable< Arrayapply (const Array &x0, const Array &dx) const
 
virtual Time time (const Date &) const
 
void update ()
 
- Public Member Functions inherited from Observer
 Observer (const Observer &)
 
Observeroperator= (const Observer &)
 
std::pair< std::set
< boost::shared_ptr
< Observable > >::iterator,
bool > 
registerWith (const boost::shared_ptr< Observable > &)
 
Size unregisterWith (const boost::shared_ptr< Observable > &)
 
void unregisterWithAll ()
 
- Public Member Functions inherited from Observable
 Observable (const Observable &)
 
Observableoperator= (const Observable &)
 
void notifyObservers ()
 

Additional Inherited Members

- Protected Member Functions inherited from StochasticProcess
 StochasticProcess (const boost::shared_ptr< discretization > &)
 
- Protected Attributes inherited from StochasticProcess
boost::shared_ptr< discretizationdiscretization_
 

Detailed Description

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

Member Function Documentation

Disposable<Array> evolve ( Time  t0,
const Array x0,
Time  dt,
const Array dw 
) const
virtual

returns the asset value after a time interval \( \Delta t \) according to the given discretization. By default, it returns

\[ E(\mathrm{x}_0,t_0,\Delta t) + S(\mathrm{x}_0,t_0,\Delta t) \cdot \Delta \mathrm{w} \]

where \( E \) is the expectation and \( S \) the standard deviation.

Reimplemented from StochasticProcess.