Black-Scholes-Merton option pricer with Greeks and Monte Carlo simulation, served via a Streamlit interface.
- Analytical BSM pricing — closed-form solution for European calls and puts
- Full Greeks — Δ Delta, Γ Gamma, Θ Theta, ν Vega, ρ Rho
- Monte Carlo — GBM simulation with antithetic variates variance reduction, 95% confidence intervals
- Convergence analysis — log-scale plot showing MC estimate converging to analytical price
- Greeks vs Spot — visualise Delta, Gamma, Theta as spot price varies
- Vol surface — 3D BSM price surface over strike × tenor
pip install -r requirements.txt
streamlit run app.pyoption-pricer/
├── pricer.py # Core BSM and Monte Carlo logic (no UI dependency)
├── app.py # Streamlit frontend
└── requirements.txt
The Black-Scholes-Merton model assumes:
- Constant volatility (no smile/skew)
- Log-normal distribution of returns
- Continuous risk-free rate, no dividends
- European-style exercise
Monte Carlo uses antithetic variates to reduce variance by ~30–50% vs naive sampling.
| Greek | Meaning |
|---|---|
| Δ Delta | Price sensitivity to ±1 unit move in spot |
| Γ Gamma | Delta sensitivity to ±1 unit move in spot |
| Θ Theta | Price decay per calendar day |
| ν Vega | Price sensitivity to ±1% move in implied vol |
| ρ Rho | Price sensitivity to ±1% move in risk-free rate |