In previous posts, we provided examples of pricing European and American options in Excel. For pricing the European option, we utilized the Black-Scholes formula, and for pricing the American option we utilized the binomial approach. In this post, we are going to implement these methods in Python.

Recall that,

*In finance, the binomial options pricing model (BOPM) provides a generalizable numerical method for the valuation of options. The binomial model was first proposed by Cox, Ross and Rubinstein in 1979. Essentially, the model uses a “discrete-time” (lattice based) model of the varying price over time of the underlying financial instrument…*

*The binomial pricing model traces the evolution of the option’s key underlying variables in discrete-time. This is done by means of a binomial lattice (tree), for a number of time steps between the valuation and expiration dates. Each node in the lattice represents a possible price of the underlying at a given point in time.*

*Valuation is performed iteratively, starting at each of the final nodes (those that may be reached at the time of expiration), and then working backwards through the tree towards the first node (valuation date). The value computed at each stage is the value of the option at that point in time. **Read more*

We use the same input parameters as in the previous examples. The main input parameters are as follows,

Figure below shows the results calculated by the Python program. The Python program returns the same values as the Excel workbooks.