2.5.9. sdepy.jumpdiff_process

class sdepy.jumpdiff_process(paths=1, vshape=(), dtype=None, steps=None, i0=0, info=None, getinfo=True, method='euler', x0=1., mu=0., sigma=1., dw=None, corr=None, rho=None, dj=None, dn=None, ptype=int, lam=1., y=None)[source]

Jump-diffusion process (lognormal process with compound Poisson logarithmic jumps).

Generates a process x(t) that solves the following SDE (see [1]):

dx(t) = mu(t)*x(t)*dt + sigma(t)*x(t)*dw(t, dt) + x(t)*dj(t, dt)

where dw(t, dt) are standard Wiener process increments with correlation matrix specified by corr(t) or rho(t), and dj(t, dt) are increments of a Poisson process with intensity lam(t), compounded with random variates distributed as exp(y(t)) - 1.

Parameters:
paths, vshape, dtype, steps, i0, info, getinfo, method

See SDE class documentation.

x0 : array-like

Initial condition.

mu, sigma : array-like, or callable

SDE parameters.

dw, corr, rho

Specification of stochasticity source of Wiener process increments. See SDE.source_dw documentation.

dj, dn, ptype, lam, y

Specification of stochasticity source of compound Poisson process increments. See SDE.source_dj documentation.

Notes

The drift of the mean value x_mean(t) of x(t) is mu(t) + nu(t), i.e. dx_mean(t)/dt = x_mean(t)*(mu(t) + nu(t)), where:

nu(t) = lam(t)*(y_exp_mean(t) - 1)
y_exp_mean(t) = average of exp(y(t))

x(t) is obtained via Euler-Maruyama numerical integration of the following equivalent SDE for a(t) = log(x(t)):

da(t) = (mu(t) - sigma(t)**2/2)*dt + x(t)*sigma(t)*dw(t, dt)
        + x(t)*dh(t, dt)

where dh(t, dt) are increments of a Poisson process with intensity lam(t) compounded with random variates distributed as y(t).

References

[1]Tankov P Voltchkova E 2009, Jump-diffusion models: a practitioner’s guide, Banque et Marches, No. 99, March-April 2009 (available at: http://www.proba.jussieu.fr/pageperso/tankov/tankov_voltchkova.pdf)
Attributes:
See SDE class documentation.

Methods

See SDE class documentation.