- What is a Probability Distribution
- Discrete Vs. Continuous Random Variable
- Cumulative Distribution Function
- Discrete Uniform Random Variable
- Bernoulli and Binomial Distribution
- Stock Price Movement Using a Binomial Tree
- Tracking Error and Tracking Risk
- Continuous Uniform Distribution
- Normal Distribution
- Univariate Vs. Multivariate Distribution
- Confidence Intervals for a Normal Distribution
- Standard Normal Distribution
- Calculating Probabilities Using Standard Normal Distribution
- Shortfall Risk
- Safety-first Ratio
- Lognormal Distribution and Stock Prices
- Discretely Compounded Rate of Return
- Continuously Compounded Rate of Return
- Option Pricing Using Monte Carlo Simulation
- Historical Simulation Vs Monte Carlo Simulation
Option Pricing Using Monte Carlo Simulation
Monte Carlo Simulation can be used to price various financial instruments such as derivatives.
In this article, we will learn how to calculate the price of an option using the Monte Carlo Simulation.
Even though the option value can be easily calculated using the Black-Scholes Option pricing formula, we can make use of the Monte Carlo Simulation technique to achieve the same results.
Let us calculate the price of a call option. Assume that the underlying stock price (S) is 195, the exercise price(X) is 200, risk free rate (rf) is 5%, volatility (s) is 30%, and the time to expiry (t) is 0.25.
Step 1
The role of Monte Carlo simulation is to generate several future value of the stock based on which we can calculate the future value of the call option. The changes in the stock prices can be calculated using the following formula:
In this equation, ε represents the random number generated from a standard normal probability distribution. In our example, we will calculate this number using the Rand() function in excel. A standard normal variable can be approximated using the Excel formula “= Rand() + Rand() + Rand() + Rand() + Rand() + Rand() + Rand() + Rand() + Rand() + Rand() + Rand() + Rand() - 6.0”.
For the purpose of this example, we will generate 1000 random paths. In reality, the higher the number of trials, the more accurate will be the result.
If the random number is 0.576548, ΔS will be 19.29978.
Step 2
Once we have ΔS, we can calculate the future value of the stock price (S + ΔS). We need to do this for each path.
The stock value at expiry will be 195 + 19.29978 = 214.29978
Step 3
The option value at expiry will be given by the formula =MAX (0,S-X)
= MAX(214.29978 – 200) = 14.29978
The above three steps will be repeated 1000 times to get 1000 option values.
Step 4
We will take the average of these 1000 option values. In our example, this value comes to approx. 9.671. Please note that this value will change every time the spreadsheet is recalculated, so you may never get the same answer.
Step 5
The option value will be discounted to the present value by multiplying it with exp(-r*t)
In our example, this value comes to 9.95.
The result can be compared to the results from a Black-Scholes calculator. You will notice that the results will get closer as you increase your number of trials.
Lesson Resources
Related Downloads
Related Quizzes
Data Science in Finance: 9-Book Bundle
Master R and Python for financial data science with our comprehensive bundle of 9 ebooks.
What's Included:
- Getting Started with R
- R Programming for Data Science
- Data Visualization with R
- Financial Time Series Analysis with R
- Quantitative Trading Strategies with R
- Derivatives with R
- Credit Risk Modelling With R
- Python for Data Science
- Machine Learning in Finance using Python
Each book includes PDFs, explanations, instructions, data files, and R code for all examples.
Get the Bundle for $39 (Regular $57)Free Guides - Getting Started with R and Python
Enter your name and email address below and we will email you the guides for R programming and Python.