I use Geometric Brownian Motion (GMB) to simulate a share price from March 24, 2020 to March 24 as follow:

\begin{equation} S_t=S_{t-1}exp((rf-0.6\sigma^2)*(2)+\sigma*sqrt(2)*\mathcal{N}(0,1)) \end{equation}

Then I use the simulated share price to calculate the payoff of the financial instrument that I am valuing (how I use the share price to compute can be different but it mostly checking against some fixed number i.e. I do not use the share price for any complicated/random calculations). Then I re run the simulation 100,000 times to get the average value of payoff. In essence, doing a Monte Carlo Simulation. In some cases the standard deviation of my 100,000 simulation average is very large (mean \$5 and stdev=100,000) in other cases it is more acceptable (mean=$2 and stdev=0.5). I know the standard deviation increases with time step and volatility, however for a particular fixed time step (10 years and similar volatility) I see both high and low standard deviations.

My question is can someone explain why this is the case. How does the standard deviation of Monte Carlo Simulations is affected when using GBM simulated share price to calculate payoff?

Concrete Example: I use Monte Carlo Simulation to value options that have an accelerated maturity clause (share price greater the \$5 for 10 consecutive days then immediate exercise otherwise normal option). In order to value this I use GBM to simulate share price and check if the accelerated maturity condition is met. The standard deviation of the payoff in some simulations is very low relative to the mean (mean \$2 with stdev 0.5) in some cases the it is extremely high (\$50 mean with 10,000 st dev).

Can someone please explain why the standard deviation is high in some cases and not in others when I use the same GBM to simulate share price and use that to compute some sort of payoff.

I am grateful for any help. Thank you.

  • 1
    $\begingroup$ Maybe you could also share your code? Also, is the $0.6$ in your formula just a typo? $\endgroup$ Jul 25 at 17:36
  • $\begingroup$ Yes the 0.6 is a typo it should be 0.5. I am using Excel in conjunction with Crystal Ball to run the simulations, so there is no code as such. Is there a way to calculate the number of sample paths I need to generate to achieve a certain accuracy given the volatility and Time duration? Thanks. $\endgroup$
    – nemiii
    Jul 26 at 21:09

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.