### Geometric Brownian Motion

• The evolution of stock prices over a time period [$$0,T$$], from initial value $$P_0$$ to final value $$P_T$$.

• The model is probabilistic: it treats $$P_T$$ as a random variable.

• For the risk-free assets the price grows at risk-free rate: $P_T=P_0e^{rT}.$

• Consider the following model: $P_T=P_0e^{\mu T+\lambda_T Z_1},$ where $$Z_1\sim N(0,1)$$, and $$\mu$$ and $$\lambda_T$$ are some trend and volatility parameters.

• The $$\mu$$ is the trend parameter of the model, to which $$\lambda_T Z$$ term combines random fluctuations.

• If $$Z\sim N(0,1)$$ then you can show $$\mathbb{E}(e^{cZ})=e^{c^2/2}$$.

• Hence the random term causes a steady increase in the expected return, since $\mathbb{E}(e^{\lambda_T Z_1})=e^{\lambda_T^2/2}>1.$

• Add a damping effect to the model to nullify the effect of random term of growth and the adjusted model is: $P_T=P_0e^{\mu T}e^{\lambda_T Z_1 - \lambda_T^2/2}.$

• This additional term is the remainder term of Ito formula.

• Suppose $$Z_1$$ is the random movement over $$[0,T]$$ and $$Z_2$$ is the random movement over $$[T,2T]$$.

• The spot price at $$2T$$ is: $\begin{eqnarray*} P_{2T}&=&P_Te^{\mu(T)+\lambda_T Z_2-\lambda_T^2/2},\\ &=&P_0e^{\mu(2T)+\lambda_T (Z_1+Z_2)-\lambda_T^2}. \end{eqnarray*}$

• Assumption : random returns over non-overlapping time intervals are independent random normal variables.

• That is

$Z_1+Z_2\sim N(0,2).$

• Therefore,

$P_{2T}=P_0 e^{\mu(2T)+\sqrt{2}\lambda_T Z - \lambda_T^2},$

where $$Z\sim N(0,1)$$.

• On the other hand, if you treat [$$0,2T$$] as a single interval, you get

$P_{2T}=P_0e^{\mu(2T)+\lambda_{2T}Z-\lambda_{2T}^2/2}.$

• You must have $$\lambda_{2T}=\sqrt{2}\lambda_{T}$$.

• You can have it by setting

$\lambda_T^2=\sigma^2T,$

where $$\sigma^2$$ is a positive constant.

• Thus the final model for spot price at time $$T$$:

$P_{T}=P_0e^{(\mu-\sigma^2/2)T+\sigma W_T},$

where $$W_T\sim N(0,T)$$, where $$\mu$$ and $$\sigma$$ are known as drift and volatility parameters respectively.

• $$P_i (i=0,1,...,n)$$ : spot prices observed over a consecutive time period of $$\Delta t$$ each.

• Then the log-return is

$r_i=\log(P_{i+1})-\log(P_i).$

• According to Geometric Brownian Motion,

$r_i=(\mu-\sigma^2/2)\Delta t + \sigma W_{\Delta t},$ where $$W_{\Delta t} \sim N(0,\Delta t)$$.

• Therefore,

$r_i\sim N((\mu-\sigma^2/2)\Delta t,\sigma \sqrt{\Delta t}).$

• $$\bar{r}=\frac{1}{n}\sum_{i=1}^nr_i$$ is the sample mean and variance $$s^2=\frac{1}{n-1}\sum_{i=1}^n(r_i-\bar{r})^2$$ of returns.

• Estimate $$\mu$$ and $$\sigma$$ as

$\begin{eqnarray*} (\mu-\sigma^2/2)\Delta t &\approx& \bar{r}, \\ \sigma^2 \Delta t &\approx& s^2. \end{eqnarray*}$

• This results

$\begin{eqnarray*} \hat{\mu} &\approx& \frac{\bar{r}+s^2/2}{\Delta t}, \\ \hat{\sigma} &\approx& \frac{s}{\Delta t}. \end{eqnarray*}$

library(tseries)
library(zoo)
##
## Attaching package: 'zoo'
## The following objects are masked from 'package:base':
##
##     as.Date, as.Date.numeric
FTSE<-EuStockMarkets[,"FTSE"]
Asset<-FTSE
## Simulation size
sim.size<-500

n<-length(Asset)

## log-return
rt<-diff(log(Asset))

rbar<-mean(rt)
s<-sd(rt)
delta_t<-1
mu_hat<-rbar+s^2/2
set.seed(321)
## Simulate log-return from Normal distribution
rt.sim<-rnorm(sim.size,mean=(mu_hat-s^2/2),sd=s)

Asset.sim<-rep(NA,sim.size)
Asset.sim[1]<-Asset[n]*exp(rt.sim[1])
for(i in 2:sim.size)Asset.sim[i]<-Asset.sim[i-1]*exp(rt.sim[i])

yl<-min(Asset)*0.85
yu<-max(Asset)*1.9
plot(ts(Asset),xlim=c(0,(n+sim.size)),ylim=c(yl,yu))
lines((n+1):(n+sim.size),Asset.sim,col="red",lwd=2)
grid(col="black",lwd=2)

• Change the value of the seed set.seed(_ _ _) and see how the plot changes !!