ARMA-Jump Time Series Model

AR(1) model with jump component

Data generation process:

\[x_t = \left[ c(1-\alpha) + \alpha x_{t-1} \right] + (1-z_t) \sigma \epsilon_t + z_t \left[ -3c + 2\sigma \epsilon_t \right]\]

where \(\epsilon_t \sim N(0,1)\) denotes a Gaussian shock and \(z_t \sim B(1,p)\) a Bernoulli distributed jump indicator with \(p\) being the probability for a negative jump.

class cde.density_simulation.ArmaJump(c=0.1, arma_a1=0.9, std=0.05, jump_prob=0.05, random_seed=None)[source]

AR(1) model with jump component

Parameters
  • c – constant return component of AR(1)

  • arma_a1 – AR(1) factor

  • std – standard deviation of the Gaussian Noise

  • jump_prob – probability of a negative jump

  • random_seed – seed for the random_number generator

cdf(X, Y)[source]

Conditional cumulated probability density function P(Y < y | x) of the underlying probability model

Parameters
  • X – x to be conditioned on - numpy array of shape (n_points, ndim_x)

  • Y – y target values for witch the cdf shall be evaluated - numpy array of shape (n_points, ndim_y)

Returns

P(Y < y | x) cumulated density values for the provided X and Y - numpy array of shape (n_points, )

covariance(x_cond, n_samples=None)[source]

Covariance of the distribution conditioned on x_cond

Parameters

x_cond – different x values to condition on - numpy array of shape (n_values, ndim_x)

Returns

Covariances Cov[y|x] corresponding to x_cond - numpy array of shape (n_values, ndim_y, ndim_y)

mean_(x_cond, n_samples=None)[source]

Conditional mean of the distribution :param x_cond: different x values to condition on - numpy array of shape (n_values, ndim_x)

Returns

Means E[y|x] corresponding to x_cond - numpy array of shape (n_values, ndim_y)

pdf(X, Y)[source]

Conditional probability density function p(y|x) of the underlying probability model

Parameters
  • X – x to be conditioned on - numpy array of shape (n_points, ndim_x)

  • Y – y target values for witch the pdf shall be evaluated - numpy array of shape (n_points, ndim_y)

Returns

p(X|Y) conditional density values for the provided X and Y - numpy array of shape (n_points, )

simulate(x_0=0, n_samples=1000, burn_in=100)[source]

Draws random samples from the unconditional distribution p(x,y)

Parameters

n_samples – (int) number of samples to be drawn from the conditional distribution

Returns

(X,Y) - random samples drawn from p(x,y) - numpy arrays of shape (n_samples, ndim_x) and (n_samples, ndim_y)

simulate_conditional(X)[source]

Draws random samples from the conditional distribution

Parameters

X – x to be conditioned on when drawing a sample from y ~ p(y|x) - numpy array of shape (n_samples, ndim_x)

Returns

Conditional random samples y drawn from p(y|x) - numpy array of shape (n_samples, ndim_y)