Monte Carlo Simulation – Example

In the previous post, we learned the algorithm to compute VaR using Monte Carlo Simulation. Let us compute VaR for one share to illustrate the algorithm.

We apply the algorithm to compute the monthly VaR for one stock. We will only consider the share price and thus work with the assumption we have only one share in our portfolio. Therefore the value of the portfolio corresponds to the value of one share.

The following assumptions are made:

Current share price $20
Drift 10%
Volatility 20%

The attached spreadsheet shows the calculation of VaR using Monte Carlo Simulation.

Monte Carlo Simulation VaR for One Asset

Series NavigationCalculating VaR using Monte Carlo SimulationApplication of VaR to Non-Market Areas
  • How can you use VaR to calculate the risk of a portfolio bank loans

  • The example Monte Carlo simulation described here becomes a little difficult to assimilate. Instead of showing it in bits and pieces is it not possible to describe the process in a straight forward way without showing other material. Reading an article straight through makes for ease of understanding

  • admin

    Hello Aziz, Thanks for your comment. We are actually working on a way to bring all these pieces of content together in a more organized way. These will be like learning paths on various topics which you can go through sequentially.

  • Marudhu

    Hello.. I did study this and couldn get it fully. Can you have a full work out of a example in a mathematicall way assuming the values..

  • ismaildalli

    hey…can you please give examples on Monte Carlo simulation with options ?…and what if i am considering VaR of a portfolio..can you give us some excel example
    thanks in advance

  • Pingback: Option Pricing Using Monte Carlo Simulation | Finance Train()

  • kenan

    There is a mistake. When calculating the increment from, lets say, day 3 to day 4, the increment should be based on the price at day 3…but with the current formula in the excel sheet it is based on the price at day 0, or 20 in this case.
    And something else, why not draw random numbers directly from Standart normal distribution and use it directly in the formula, but use some uniform distribution and aftrwards the inverse of a normal distribution?

    • @kenan, Thanks for this observation. I’ll correct the increment error asap.

      Regarding random numbers, you approach is also fine, but I’l leave it as is in the excel sheet.

      • Student

        I have a question regarding the random number ” is a random number generated from a normal distribution”. Why is it a random number from normal distribution? I think it should be a uniform random number from 0 to 1, which is then just plugged into the formula without transforming it into a normal distributed variable? Or could you explain me the following: How does MC connect with the law of large numbers? I thought that at the end of the simulations the final stock prices will be normal distributed because of the law of large numbers? Thanks.

  • radovan

    Hello…I have a question, please.How did you obtain the value 0.0014 for mean in NORMINV (D17 cell)? Thank you!

  • Nikola

    Hello, I have same question as Radovan> How did you obtain the value 0.0014 for mean in NORMINV (D17 cell)?

  • The value should actually be 0.0010, i.e., i.e., 10%/100. I’ll correct it asap.


  • hanh phan

    “If we want to get the VaR at a 99% confidence level, we will read the 1% lowest stock price, which is $13.868 “,I don’t know why it is $13.868.
    thanks you

  • Vassil

    Hi Manish,

    In the VAR example why do you populate the sorted future price array with the next generated random value – code line arr(i) = Cells(118, 6).Value, but not with the value previously filled in column B, by the line code Cells(120 + i, 2).Value = Cells(118, 6).Value?

    Thank you!