To learn more about EpiX Analytics' work, please visit our modeling applications, white papers, and training schedule.

Page tree




This section adds a mean reversion sophistication to the stock price model developed in modeling lognormal properties of stock prices.


It has already been shown that the most common model for the price of a non-dividend paying stock comes from a model of the return of a stock, as follows:


\frac {\Delta S} {S} = Normal \big(\mu\Delta t, \sigma\sqrt{\Delta t})

                                                                                                  Equation 1


where DS is the change in the stock price at some small time interval Dt, m is the proportional return of the stock (usually expressed as an annual proportion, like 10%) and s is the stock price volatility (approximately equal to the standard deviation of the yearly return of the stock


This gives the equation for the stock price at some time t as:


log ~ S_t = log ~ S_0 + Normal \Bigg( \bigg(\mu - \frac {\sigma^2}{2} \bigg)t,\sigma \sqrt t \Bigg)

                                                                                                      Equation 2


where log means the natural log of the variable. A random variable X such that log(X) = N(m,s) has a mean E(X) of Exp(m+s2/2) – see, for example, the equation for the mean of the Lognormal (format 2) distribution. Comparing this with Equation 2, we therefore see that the mean of St = E[St] takes the following value:


E[S_t] = Exp(log ~ S_0 + \mu t) = S_0 Exp (\mu t)

                                                                                                      Equation 3


The section Mean reversion described how for a variable X that, without mean reversion, would take the form:



X_{t+1} = X_t + Normal(\mu,\sigma)


we can introduce mean reversion from one period to the next one, as:


x_{t+1} = X_t + Normal(\mu,\sigma)-b(X_t - E(X_{t+1}))


In our stock price model, it is the return of the stock that is considered the fundamental random variable, so this formula would apply to the log of the stock price. We therefore add mean reversion to Equation 2 as follows :


Start with:


log ~ S_{t+1} = log ~S_t + Normal \Bigg(\bigg(\mu - \frac {\sigma^2}{2}\bigg),\sigma \Bigg)

                                                                                         from Equation 2. Then, applying mean reversion:



log ~ S_{t+1} = log ~ S_t + Normal \Bigg( \bigg( \mu - \frac{\sigma^2}{2} \bigg), \sigma \Bigg) -b (log ~ S_t - E [log \;S_{t+1}])

                                                                                                   Equation 3


From Equation 2, we see that:


E[log ~ S_{t+1}] = log ~ S_0 + \bigg( \mu - \frac {\sigma^2}{2} \bigg)(t+1)

                                                                                                    Equation 4


Combining Equations 3 and 4:


log ~ S_{t+1} = Normal \bigg( (1-b) log ~ S_t + blog ~ S_0 + \bigg(\mu - \frac {\sigma^2}{2} \bigg)(1+bt+b),\sigma \bigg)

                                                                                                       Equation 5


Increasing values of the mean reversion parameter b reduces the spread (variance, volatility) of the stock price St with time. It also reduces the expected return.


Building such a model is not possible in some simulation software packages such as Crystal Ball, as a function is needed in the software to run multiple simulations. An example of the mean reversion model, can be found in the model Stock Price with Mean Reversion

The link to the Stock Price with Mean Reversion software specific model is provided here:



  • No labels