Monte carlo Stock Price Behavior and GARCH Quantitative Finance Stack Exchange
Post on: 12 Июнь, 2015 No Comment
In my (limited) understanding, the behavior of a stock price can be modeled using Geometric Brownian Motion (GBM). According to the Hull book I’m currently reading, the discrete-time version of this model is as follows:
$$Delta S = mu S Delta t + sigma S varepsilon sqrt<Delta t>, quad varepsilon sim N(0,1)$$.
4 Answers 4
Okay just to wind things down here, I think an important clarification is needed if readers might come and seek to a similar solution.
The Geometric Brownian Motion (GBM ) is a model of asset prices dynamics which is usually given as follows:
$$ dS_t = mu S_t dt + sigma S_t dB_t$$
where $B_t$ is a standard brownian motion which has several important characteristics, mainly that it is stationary and $B_t sim N(0,t)$.
It is very famous because it is pretty simple to find a closed form solution to $S_t$ and because it was used in the derivation of the Black-Scholes formula .
What you state is a dicretization of the GBM:
$$S_-S_t= Delta S_t = mu S_t Delta t + sigma S_t epsilon sqrt<Delta t>$$
You just used the property from the Brownian motion (which is a random walk) and which says that $B_
It this model, you assume volatility is constant $sigma$.
Now GARCH (p,q) is different: the model tries to find a way to express the return at time $t+1$ given the the $q$ last returns. And it assumes that each new return is
$$r_t=a_0 + sum_^q a_i r_ + z_t$$
Where $z_t = sigma_t epsilon_t sim N(0,sigma_t^2)$
The local volatility is assumed in the model to be
$$sigma_t^2 = alpha_0 + sum_^q alpha_i z_ + sum_^q beta_i sigma_^2$$
So what you do is that you choose 2 parameters $p$ and $q$, you fit the model to your historical data to get the parameters $a, alpha, beta$ (using a maximum likelihood estimator) and hence you can compute you estimated past $sigma_i$ for $i leq t$.
You can then simulate different path of the stock in the future by using the equation of the models to generate the futures $sigma_t$ and $r_t$ and it will differ on each generation because you need to generate an $epsilon_t$ at each step. This is useful for Monte-Carlo simulation of options for example when you do not want to use the constant volatility of the discretized GBM.