Fast exact simulation of the first-passage event of a subordinator
Jorge Ignacio González Cázares, Feng Lin, Aleksandar Mijatović
TL;DR
This work develops an exact simulation algorithm for the first-passage event of a general subordinator across a non-increasing boundary, jointly sampling the crossing time and the undershoot/overshoot. The Lévy measure is decomposed as $\nu_Z = \nu_{r,q} + \lambda_r$, enabling a two-component simulation: a truncated tempered-stable part $Y$ and a finite-activity Poisson part $Q$, with the crossing event analyzed via a barrier $b(t) = \min\{r\rho, c(t)\}$. The authors prove that the algorithm’s running time has moments of all orders and provide an explicit bound on the expected running time in terms of model parameters, including $\alpha$, $\vartheta$, $q$, $c_0$, $r$, and $\rho$, together with the costs of the underlying tempered-stable first-passage sampling. The paper also develops efficient sampling of tempered-stable variables conditioned to be small (via Zolotarev representations and Devroye’s method) and discusses practical applications, notably Monte Carlo estimation for FPDEs, with guidance on choosing the truncation parameter and an available Python/Julia implementation. Overall, the approach offers finite-mean running-time guarantees and broad applicability to Monte Carlo schemes requiring exact first-passage sampling for subordinators.
Abstract
This paper provides an exact simulation algorithm for the sampling from the joint law of the first-passage time, the undershoot and the overshoot of a subordinator crossing a non-increasing boundary. We prove that the running time of this algorithm has finite moments of all positive orders and give an explicit bound on the expected running time in terms of the Lévy measure of the subordinator. This bound provides performance guarantees that make our algorithm suitable for Monte Carlo estimation. We provide a GitHub repository with an implementation of the algorithm in Python and Julia.
