# Generate stock option prices – How to simulate a Brownian motion

[This article was first published on

Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.

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]. (You can report issue about the content on this page here)Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.

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 their blog:**ProbaPerception**.R-bloggers.com offers

**daily e-mail updates**about R news and tutorials about learning R and many other topics. Click here if you're looking to post or find an R/data-science job.

Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.