
Python for Finance

The Black-Scholes-Merton option model is a closed-form solution to price a European option on a stock which does not pay any dividends before its maturity date. If we use or the price today, X for the exercise price, r for the continuously compounded risk-free rate, T for the maturity in years,
for the volatility of the stock, the closed-form formulae for a European call (c) and put (p) are:
Here, N()
is the cumulative standard normal distribution. The following Python codes represent the preceding equations 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()
is the cumulative normal distribution, that is, N()
in the Black-Scholes-Merton option model. The current stock price is $40, the strike price...
Change the font size
Change margin width
Change background colour