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
- Model stock price using Geometric Brownian Motion.
- Simulate thousands of possible price paths up to maturity.
- Calculate option payoffs for each path.
- Discount the average payoff back to present value.
📊 Visualization
Here are 10 simulated stock price paths using Monte Carlo:

🐍 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
- Monte Carlo simulates many possible outcomes → gives probabilistic results.
- Useful for pricing complex or path-dependent options.
- With enough simulations, results converge close to analytical solutions (like Black-Scholes).