The Black-Scholes-Merton model is one of the earliest option pricing models that was developed in the late 1960s and published in 1973 [1,2]. The most important concept behind the model is the dynamic hedging of an option portfolio in order to eliminate the market risk. First, a delta-neutral portfolio is constructed, and then it is adjusted to stay delta neutral as the market fluctuates. Finally, we arrive at a Partial-Differential Equation for the value of the option.
- V denotes the option value at time t,
- S is the stock price,
- r is the risk-free interest rate and,
- σ is the stock volatility.
This equation is also called a diffusion equation, and it has closed-form solutions for European call and put options. For a detailed derivation and analytical formula, see Reference .
In this post, we focus on the implementation of the Black-Scholes-Merton option pricing model in Python. Closed-form formula for European call and put are implemented in a Python code. The picture below shows the prices of the call and put options for the following market parameters:
- Stock price: $45
- Strike price: $45
- Time to maturity: 1 year
- Risk-free rate: 2%
- Dividend yield: 0%
- Volatility: 25%
We compare the above results to the ones obtained by using third-party software and notice that they are in good agreement.
In the next installment, we will price these options using Monte Carlo simulation.
 Black, Fischer; Myron Scholes (1973). The Pricing of Options and Corporate Liabilities. Journal of Political Economy. 81 (3): 637–654
 Merton, Robert C. (1973). Theory of Rational Option Pricing. Bell Journal of Economics and Management Science.
 Hull, John C. (2003). Options, Futures, and Other Derivatives. Prentice Hall