#### Overview of this book

Python for Finance
Credits
Acknowledgments
www.PacktPub.com
Preface
Free Chapter
Introduction and Installation of Python
13 Lines of Python to Price a Call Option
Introduction to Modules
Statistical Analysis of Time Series
Index

## The Black-Scholes-Merton option model on non-dividend paying stocks

The Black-Scholes-Merton option model is a closed-form solution to price a European option on a stock that does not pay any dividends before its maturity date. If we use for the price today, X for the exercise price, r for the continuously compounded risk-free rate, T for the maturity in years, and for the volatility of the stock, the closed-form formulae for a European call (c) and put (p) will be as follows:

Here, N() is the cumulative standard normal distribution. The following Python code snippet represents the preceding formulae to evaluate a European call:

```from scipy import log,exp,sqrt,stats
def bs_call(S,X,T,r,sigma):
d1=(log(S/X)+(r+sigma*sigma/2.)*T)/(sigma*sqrt(T))
d2 = d1-sigma*sqrt(T)
return S*stats.norm.cdf(d1)-X*exp(-r*T)*stats.norm.cdf(d2)
```

In the preceding program, the `stats.norm.cdf()` function is the cumulative normal distribution, that is, N() in the Black-Scholes-Merton option model. The current...