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

Tags: , ,

15 Responses to “Monte Carlo Simulation – Example”

  1. Aziz Ur Rahman October 5, 2010 at 9:02 am #

    How can you use VaR to calculate the risk of a portfolio bank loans

  2. Aziz Ur Rahman October 5, 2010 at 9:12 am #

    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

  3. admin October 5, 2010 at 9:36 am #

    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.

  4. Marudhu July 10, 2011 at 12:20 pm #

    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..

  5. ismaildalli August 15, 2011 at 3:01 pm #

    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

  6. kenan December 6, 2011 at 4:44 am #

    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?

    • admin January 11, 2012 at 10:42 am #

      @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 October 26, 2012 at 9:56 am #

        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.

  7. radovan January 11, 2012 at 9:42 am #

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

  8. Nikola February 18, 2012 at 4:38 pm #

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

  9. Manish February 18, 2012 at 6:44 pm #

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


  10. hanh phan September 12, 2012 at 4:37 am #

    “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

  11. Vassil June 21, 2013 at 4:27 am #

    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!


  1. Option Pricing Using Monte Carlo Simulation | Finance Train - August 16, 2011

    […] Monte Carlo Simulation can be used to price various financial instruments such as derivatives. […]

Leave a Reply