Jointly simulate high, low, and terminal value of Brownian motion

You can simulate the terminal value of a 1D Brownian motion using a Gaussian random number generator, randn in Julia. For some problems you would like to simulate the maximum and minimum in addition to the terminal value. Are there Julia codes to jointly simulate (high, low, terminal_value)? It would be possible to subdivide the Brownian motion and use the maximum of the points simulated as the lower bound of the true maximum. The approximation gets better but also more time-consuming as you use more subintervals.

Iā€™m new to Julia but have used Fortran, Python, and R. My computing interests are statistics and quantitative finance.

At the top of this paper (sorry paywall), there is a formula for the triviariate joint distribution you are seeking as a serie.

If you can implement this formula, then yes, packages like Distributions.jl will help you simulate from the distribution through classical methods.

Thanks, but the link is broken. What is the title of the paper, and who are the authors?

The bibtex entry:
@article{choi2013trivariate,
title={On the trivariate joint distribution of Brownian motion and its maximum and minimum},
author={Choi, ByoungSeon and Roh, JeongHo},
journal={Statistics & Probability Letters},
volume={83},
number={4},
pages={1046ā€“1053},
year={2013},
publisher={Elsevier}
}

2 Likes