Binomial Method & Black-Sholes Options Pricing in C++
The following is a program I've written in C++ to price European Call / Put Options using both the Binomial Options Pricing model (via Cox Rubinstein) or the Black-Scholes model.
Please note that the program is separated into four separate source-code files:
- BSF.cpp > Contains Black-Scholes Options Pricing Functions and Cumulative Normal Distribution Approximation Function
- BT.cpp > Contains Binomial Options Pricing model (via Cox Rubinstein) Functions
- MAIN.cpp > Contains User-Interface for calling Black-Scholes and Binomial Options Pricing Model Functions and displaying output
- HEADER.h > Contains C++ libraries required to run the program as well as function prototypes.

Note that the parameter "delta_t" in the Binomial Option Pricing Model is defined as "years" divided by the number of steps required to build the Binomial lattice. Using Delta_t in the following example, the Absolute value of Relative Error is strictly less than 0.05 when Delta_T is less than or equal to 0.004. This is the point at which convergence is strictly less than 0.05.

Portfolio of Options:
Option 1: Short Put with strike price = 1080
Option 2: Long Call with strike price = 1200
Option 3: Short Call with strike price = 1344
Number of steps = 500, Risk Free Rate = 0.02%, Time = 2 years, Volatility = 33%





