Replicating a Black-Scholes-Merton call using simulation
After knowing the terminal prices, we can estimate the payoff for a call if the exercise price is given. The mean of those discounted payoffs using the risk-free rate as our discount rate will be our call price. The following code helps us estimate the call price:
import scipy as sp from scipy import zeros, sqrt, shape # S0 = 40. # stock price at time zero X= 40. # exercise price T =0.5 # years r =0.05 # risk-free rate sigma = 0.2 # annualized volatility n_steps=100 # number of steps # sp.random.seed(12345) # fix those random numbers n_simulation = 5000 # number of simulation dt =T/n_steps call = sp.zeros([n_simulation], dtype=float) x = range(0, int(n_steps), 1) for j in range(0, n_simulation): ...
Get Python for Finance - Second Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.