Poisson process#

class quantflow.sp.poisson.PoissonProcess(*, intensity: Annotated[float, Ge(ge=0)] = 1.0)#

Methods:

analytical_cdf

CDF of the number of events at time t.

analytical_mean

Expected value at a time horizon

analytical_pdf

Probability density function of the number of events at time t.

analytical_variance

Expected variance at a time horizon

arrivals

Generate a list of jump arrivals times up to time t

cdf_jacobian

Jacobian of the CDF

characteristic_exponent

Characteristic exponent at time t for a given input parameter

frequency_range

Frequency range of the process

sample_jumps

For a poisson process this is just a list of 1s

support

Support of the process at time t

Attributes:

intensity

Intensity rate \(\lambda\) of the Poisson process

model_config

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

analytical_cdf(t: ndarray[tuple[int, ...], dtype[floating[Any]]] | float, n: ndarray[tuple[int, ...], dtype[floating[Any]]] | float) ndarray[tuple[int, ...], dtype[floating[Any]]] | float#

CDF of the number of events at time t.

It’s given by

(76)#\[F\left(n\right)=\frac{\Gamma\left(\left\lfloor n+1\right\rfloor ,\lambda\right)}{\left\lfloor n\right\rfloor !}\]

where \(\Gamma\) is the upper incomplete gamma function.

analytical_mean(t: ndarray[tuple[int, ...], dtype[floating[Any]]] | float) ndarray[tuple[int, ...], dtype[floating[Any]]] | float#

Expected value at a time horizon

analytical_pdf(t: ndarray[tuple[int, ...], dtype[floating[Any]]] | float, n: ndarray[tuple[int, ...], dtype[floating[Any]]] | float) ndarray[tuple[int, ...], dtype[floating[Any]]] | float#

Probability density function of the number of events at time t.

It’s given by

(77)#\[f\left(n\right)=\frac{\lambda^{n}e^{-\lambda}}{n!}\]
analytical_variance(t: ndarray[tuple[int, ...], dtype[floating[Any]]] | float) ndarray[tuple[int, ...], dtype[floating[Any]]] | float#

Expected variance at a time horizon

arrivals(time_horizon: float = 1) list[float]#

Generate a list of jump arrivals times up to time t

cdf_jacobian(t: ndarray[tuple[int, ...], dtype[floating[Any]]] | float, n: int | float | complex | ndarray | Series) ndarray#

Jacobian of the CDF

It’s given by

(78)#\[\frac{\partial F}{\partial\lambda}=-\frac{\lambda^{\left\lfloor n\right\rfloor }e^{-\lambda}}{\left\lfloor n\right\rfloor !}\]
characteristic_exponent(t: int | float | complex | ndarray | Series, u: int | float | complex | ndarray | Series) int | float | complex | ndarray | Series#

Characteristic exponent at time t for a given input parameter

frequency_range(std: float, max_frequency: float | None = None) Bounds#

Frequency range of the process

sample_jumps(n: int) ndarray#

For a poisson process this is just a list of 1s

support(mean: float, std: float, points: int) ndarray[tuple[int, ...], dtype[floating[Any]]]#

Support of the process at time t

intensity: float#

Intensity rate \(\lambda\) of the Poisson process

model_config: ClassVar[ConfigDict] = {'extra': 'forbid'}#

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].