The Poisson Process

March 11, 2024

The Poisson process N(t) is a counting process used to describe the occurrence of events in a time interval of length t. It satisfies the following conditions:

  1. N(0) = 0
  2.  Increments are independents
  3. The number of occurrences in any interval of length t follows a Poisson(λ.t) distribution with λ>0 a fixed parameter

The waiting time between two consecutive events occurring in a Poisson process is exponentially distributed with parameter λ.

The average waiting time between two consecutive events is 1 / λ.

The Python code is available below.

The Merton Jump Diffusion Model (link)

import numpy as np
plt.style.use('ggplot')
import matplotlib.pyplot as plt

#Simulation of a Poisson process
def poisson_process(rate, time):

    t = 0
    event_count = 0
    event_times = []
    event_times.append(0)
    while t < time:
        t = t + np.random.exponential(1/rate)
        if t < time:
            event_count += 1
            event_times.append(t)

    return event_count, event_times

#Plot Poisson Process
def plot_poisson_process(rate, time):
    event_count, event_times = poisson_process(rate, time)

    plt.figure(figsize=(10, 5))
    plt.step(event_times, range(0, event_count + 1), where='post')
    plt.xlabel('Time')
    plt.ylabel('Number of Occurrences')
    plt.title('Poisson Process Simulation')
    plt.grid(True)
    plt.show()

# Example:
rate = 1  # Rate of the Poisson process
time = 25  # Time
plot_poisson_process(rate, time)
To go further...