Sampling first-passage times of fractional Brownian Motion using adaptive bisections
We present an algorithm to efficiently sample first-passage times for fractional Brownian motion. To increase the resolution, an initial coarse lattice is successively refined close to the target, by adding exactly sampled midpoints, where the probability that they reach the target is non-negligible. Compared to a path of N equally spaced points, the algorithm achieves the same numerical accuracy Neff, while sampling only a small fraction of all points. Though this induces a statistical error, the latter is bounded for each bridge, allowing us to bound the total error rate by a number of our choice, say Perrortot=10−6. This leads to significant improvements in both memory and speed. For H=0.33 and Neff=232, we need 5000 times less CPU time and 10000 times less memory than the classical Davies Harte algorithm. The gain grows for H=0.25 and Neff=242 to 3⋅105 for CPU and 106 for memory. We estimate our algorithmic complexity as CABSec(Neff)=O((lnNeff)3), to be compared to Davies Harte which has complexity CDH(N)=O(NlnN). Decreasing Perrortot results in a small increase in complexity, proportional to ln(1/Perrortot). Our current implementation is limited to the values of Neff given above, due to a loss of floating-point precision. The algorithm can be adapted to other extreme events and arbitrary Gaussian processes. It enables one to numerically validate theoretical predictions that were hitherto inaccessible.