Monte Carlo Simulation for Option Pricing

Using randomness to estimate option values under uncertainty

Monte Carlo simulation is a powerful method to estimate the value of financial derivatives by simulating thousands of possible stock price paths.

🔍 What is Monte Carlo Simulation?

Monte Carlo Simulation uses random sampling to estimate probabilities of outcomes in uncertain processes. In option pricing, it means simulating future stock prices, calculating option payoffs, and averaging results.

⚙️ How It Works for Options

  1. Model stock price using Geometric Brownian Motion.
  2. Simulate thousands of possible price paths up to maturity.
  3. Calculate option payoffs for each path.
  4. Discount the average payoff back to present value.

📊 Visualization

Here are 10 simulated stock price paths using Monte Carlo:

Monte Carlo Simulated Stock Price Paths

🐍 Python Example: European Call Option


import numpy as np

# Parameters
S0 = 100      # initial stock price
K = 105       # strike price
T = 1         # time to maturity (1 year)
r = 0.05      # risk-free rate
sigma = 0.2   # volatility
n_sims = 100000

# Simulate stock prices at maturity
Z = np.random.standard_normal(n_sims)
ST = S0 * np.exp((r - 0.5 * sigma**2) * T + sigma * np.sqrt(T) * Z)

# Payoff for European Call
payoffs = np.maximum(ST - K, 0)

# Discount to present value
option_price = np.exp(-r * T) * np.mean(payoffs)

print("Monte Carlo Call Option Price:", round(option_price, 2))
    

✅ Key Takeaways

← Back to Blog Index