(This article was first published on

The Brownian motion is certainly the most famous stochastic process (a random variable evolving in the time). It has been the first way to model a stock option price (Louis Bachelier's thesis in 1900).**ProbaPerception**, and kindly contributed to R-bloggers)The reason why is easy to understand, a Brownian motion is graphically very similar to the historical price of a stock option.

A Brownian motion generated with R (n = 1000) |

The historical price of the index FTSE MID 250, source Yahoo Finance. |

Even though it is not any more considered as the real distribution of stock options, it is still used in finance and methods to simulate a Brownian motion are really useful. As you will see the code is strikingly easy. We have used the Donsker's principle.

If Y(i) is a serie of k variables normally distributed, then we can create X(i) = (Y(1) + ... + Y(i))sqrt(i/k). Then X(i) is a proxy of the Brownian motion.

**The code (R) :**size = 1000

y = rnorm(size)

x = y

for (i in 1:size){

x[i] = 1/sqrt(size)*(sum(y[1:i])*sqrt(i))

}

plot(x, type = 'l', xlab = 'Time', ylab = 'Profit')

To

**leave a comment**for the author, please follow the link and comment on his blog:**ProbaPerception**.R-bloggers.com offers

**daily e-mail updates**about R news and tutorials on topics such as: visualization (ggplot2, Boxplots, maps, animation), programming (RStudio, Sweave, LaTeX, SQL, Eclipse, git, hadoop, Web Scraping) statistics (regression, PCA, time series, trading) and more...