8

Can anyone provide the expression and source for the running maximum $M_t$ for geometric Brownian motion $X_t$ as a function of the initial value $X_0$, drift $\mu$ and diffusion $\sigma$? $X_t$ evolves as

$$ X_t = X_0 \exp\left[\left(\mu-\frac{\sigma^2}{2}\right)t + \sigma W_t\right] $$

where $W_t$ is a Wiener process?

Sangchul Lee
  • 167,468
RK94
  • 81
  • 1
    What do you mean by "expression and source"? You can say a lot about this running maximum by noticing that an equivalent problem is to describe the maximum of $(\mu - \frac{\sigma^2}{2})t + \sigma W_t$. This is a Brownian Motion with drift and you can compute the CDF and Laplace transform of a BM with drift exactly by using Girsanov's theorem. – Chris Janjigian Jan 15 '14 at 03:48
  • Chris, thanks for your response. By "expression and source", I am requesting the closed form solution for M(t) and a citation of the book or paper where this is published. I will explore the approach you described to find the BM maximum. My background in stochastic mathematics is not very strong, so if you can point me to the result, it would be greatly appreciated. – RK94 Jan 15 '14 at 05:11
  • The maximum is highly path dependent, so you're not going to get a closed form expression. The best you can do is talk about its distribution. For a single time, the distribution of $M(t)$ is computable. This is an equivalent question to finding the the CDF of the maximum of a BM plus drift: http://math.stackexchange.com/questions/133628/distribution-of-hitting-time-of-line-by-brownian-motion – Chris Janjigian Jan 15 '14 at 16:26
  • Thanks Chris. I meant to say closed form expression for the density of M(t), so your response addresses my question. I am modeling a dataset where the event frequencies appear to evolve as the distribution of maximum integers of a GBM with drift, based on simulations. The simulations are slow and I am searching for a more efficient way to analyze the distributions for large datasets. Thanks again. – RK94 Jan 16 '14 at 01:30

2 Answers2

3
  1. First of all, it will be easier to find the distribution of the running maximum of $\log X$ which in your notation will be $\log M$.
  2. Assume for a moment that $\log X$ has zero drift. Reflection principle then tells you that for any $a > \log X_0$ $$ P(\log M_t > a) = 2 P(\log X_t > a ).\tag{1} \label{1}$$ Similarly for $a<\log X_0$, with reversed inequalities in \eqref{1}. Now since $\log X_t$ is Gaussian, one can evaluate the rhs of \eqref{1}. This gives you CDF and after differentiation a PDF of $\log M_t$. This should be enough for your purposes.
  3. To deal with the non-zero drift, change measure, apply Girsanov to get zero drift, apply reflection principle as in 2. and change measure back. Alternatively search for "maximum of Brownian motion with drift".
encore
  • 804
1

For the geometric Brownian motion $d X_t = \mu X_t dt + \sigma X_t d B_t$ being started at unity $X_0 = 1 $ the probability density function of the running maximum $M_T := sup(0<s<T: X_s)$ is given by the formula below:

\begin{eqnarray} P_1 \left( M_T \in db \right)/d b &=& b^{\frac{2 \mu }{\sigma ^2}-2} \left(\frac{\sqrt{\frac{2}{\pi }} b^{\frac{1}{2}-\frac{\mu }{\sigma ^2}} \exp \left(-\frac{4 \log ^2(b)+T^2 \left(\sigma ^2-2 \mu \right)^2}{8 \sigma ^2 T}\right)}{\sigma \sqrt{T}}+\left(\frac{1}{2}-\frac{\mu }{\sigma ^2}\right) \text{erfc}\left(\frac{\sqrt{\sigma ^2 T} \left(\frac{\log (b)}{\sigma ^2 T}+\frac{\mu }{\sigma ^2}-\frac{1}{2}\right)}{\sqrt{2}}\right)\right) \end{eqnarray}

where, following the notation from Ito&Mc Kean for example, $P_x \left(\omega\right) := P_x \left(\omega|X_0 = x\right)$.

Verification:

We start with the obvious identity $ P\left( M_T > b \right) = P \left( \tau_b < T \right ) $ where $\tau_b := inf(s<T: X_s=b)$ is the first hitting time of the barrier $b$. The identity in question holds true as long as the process has no jumps. Now take $x = 1$. We have :

\begin{eqnarray} P_1 \left( M_T \in db \right)/d b &=& -\frac{d}{d b} P_1 \left( \tau_b < T \right) \\ &=& -\frac{d}{d b} \int\limits_0^T \frac{\left| \log \left(\frac{x}{b}\right)\right| e^{-\frac{\left(\log \left(\frac{b}{x}\right)-\xi \left(\mu -\frac{\sigma ^2}{2}\right)\right)^2}{2 \xi \sigma ^2}}}{\sqrt{2 \pi } \sqrt{\xi ^3} \sigma } d\xi \\ &=& -\frac{d}{d b} \left[ \frac{1}{2} b^{\frac{\mu }{\sigma ^2}-\frac{1}{2}} \left( b^{-\left| \frac{\mu }{\sigma^2}-\frac{1}{2}\right| } % \text{erfc}\left(\frac{2 \log (b)-T \left| \sigma ^2-2 \mu \right| }{2 \sqrt{2} \sigma \sqrt{T}}\right) % +b^{\left| \frac{\mu }{\sigma ^2}-\frac{1}{2}\right| } % \text{erfc}\left(\frac{T \left| \sigma ^2-2 \mu \right| +2 \log (b)} {2\sqrt{2} \sigma \sqrt{T}}\right) % \right) \right] \end{eqnarray}

See Mathematica code snippet for numerical verification:

In[1124]:= Clear[T, s, b, a, \[Mu], \[Sigma], A, B, t];
(*This is the CDF of the first hitting time of barrier b when started \
from 1.*)
mcdf[b_] := 
  1/2  b^(-(1/2) + \[Mu]/\[Sigma]^2)  ( 
    b^-Abs[-(1/
          2) + \[Mu]/\[Sigma]^2] Erfc[(-T Abs[(-2 \[Mu] + \
\[Sigma]^2)] + 2  Log[b])/(2 Sqrt[2] \[Sigma]^1 Sqrt[T ])] +  
     b^+Abs[-(1/2) + \[Mu]/\[Sigma]^2] Erfc[(
       T Abs[(-2 \[Mu] + \[Sigma]^2)] + 2 Log[b] )/(
       2 Sqrt[2] \[Sigma]^1 Sqrt[T ])]);
{T, \[Mu], \[Sigma], b0} = 
  RandomReal[{1, 2}, 4, WorkingPrecision -> 50];
(*This is the CDF of the running supremum of a geometric Brownian \
motion with drift \[Mu] and variance (\[Sigma]^2).*)

b^(-2 + (2 [Mu])/[Sigma]^2) ( (1/2 - [Mu]/[Sigma]^2) Erfc[( Sqrt[T [Sigma]^2] ( ([Mu]/[Sigma]^2 - 1/2) + Log[b]/( T [Sigma]^2)))/ Sqrt[2] ] + ( b^(1/2 - [Mu]/[Sigma]^2) E^(-((T^2 (-2 [Mu] + [Sigma]^2)^2 + 4 Log[b]^2)/( 8 T [Sigma]^2))) Sqrt[2/[Pi]])/(Sqrt[T] [Sigma])) /. b :> b0

-D[mcdf[b], b] /. b :> b0

Out[1127]= 0.259499378356891943946012789179083720641292239286

Out[1128]= 0.259499378356891943946012789179083720641292239286

Przemo
  • 11,331
  • The "numerical verification" part of your answer doesn't really add much to the closed form solution – Jose Avilez Mar 26 '24 at 19:50
  • 1
    @Jose Avilez Well, in my opinion it does. It shows numerically that the last line in the bottom is equal to the first line in the top. To show this analytically is a bit tedious. – Przemo Mar 27 '24 at 10:01