This repository contains a Python implementation of a binomial option pricing model for valuing European call and put options.
The model represents the evolution of the underlying asset price through discrete upward and downward movements over fixed time steps. Option values are obtained by computing the probability-weighted expected payoff at maturity and discounting it at the risk-free rate.
The implementation focuses on clarity of model structure, transparent assumptions, and interpretability of results rather than computational optimisation.
The project is organised around the following components:
- Construction of the stock price binomial tree
- Estimation of risk-neutral probabilities
- Computation of terminal state probabilities
- Evaluation of option payoffs at maturity
- Discounting of expected payoffs to present value
Each step is implemented explicitly to maintain traceability between model inputs and outputs.
- European call and put options
- Discrete-time binomial framework
- Constant volatility and interest rate assumptions
Early-exercise features and path-dependent products are not included.
- Python
- NumPy
- Matplotlib