StochasticProcess - crowlogic/arb4j GitHub Wiki

In the most general sense, a stochastic process is a collection of random variables indexed by some set $T$. Each random variable corresponds to the state of the process at a certain 'time', and the index set $T$ usually represents time.

Formally, a stochastic process ${X(t), t \in T}$ can be defined as a collection of random variables $X(t)$, where each $X(t)$ is a function from a sample space $\Omega$ to the real numbers $\mathbb{R}$:

$$X(t) : \Omega \to \mathbb{R}, \quad \text{for all} \quad t \in T$$

where $\Omega$ is the set of all possible outcomes, and $T$ is the index set (often interpreted as time).

This definition is very general and includes a wide range of processes. For instance, $T$ could be the set of integers (representing discrete time), the set of non-negative real numbers (representing continuous time), or even a multi-dimensional space (in which case we'd typically refer to ${X(t), t \in T}$ as a random field).

A fundamental concept in the study of stochastic processes is that of the process's "distributions". For any finite subset ${t_1, t_2, ..., t_n}$ of $T$, the random variables $X(t_1), X(t_2), ..., X(t_n)$ have a joint probability distribution, and the collection of all these distributions must satisfy certain consistency conditions.

Different types of stochastic processes—like Gaussian processes, Markov processes, Poisson processes, etc.—impose additional structure or conditions on these distributions. For example, a Markov process is a stochastic process with the property that the future state of the process depends only on the current state, not on the history of past states.

Two fundamental classes of stochastic processes are WeaklyStationaryStochasticProcesses and StronglyHarmonizableStochasticProcesses