Computing Prices of European Calls with a Binomial Tree
Computes the fair value of a European Call with the binomial tree of Cox, Ross and Rubinstein.
EuropeanCall(S0, X, r, tau, sigma, M = 101) EuropeanCallBE(S0, X, r, tau, sigma, M = 101)
S0 |
current stock price |
X |
strike price |
r |
risk-free rate |
tau |
time to maturity |
sigma |
volatility |
M |
number of time steps |
Prices a European Call with the tree approach of Cox, Ross, Rubinstein.
The algorithm in EuropeanCallBE
does not construct and traverse a
tree, but computes the terminal prices via a binomial expansion (see
Higham, 2002, and Chapter 5 in Gilli/Maringer/Schumann, 2011).
Returns the value of the call (numeric
).
Enrico Schumann
Gilli, M., Maringer, D. and Schumann, E. (2019) Numerical Methods and Optimization in Finance, 2nd edition. Elsevier. https://www.elsevier.com/books/numerical-methods-and-optimization-in-finance/gilli/978-0-12-815065-8
M. Gilli and Schumann, E. (2009) Implementing Binomial Trees. COMISEF Working Paper Series No. 008. http://enricoschumann.net/COMISEF/wps008.pdf
Higham, D. (2002) Nine Ways to Implement the Binomial Method for Option Valuation in MATLAB. SIAM Review, 44(4), pp. 661–677. doi: 10.1137/S0036144501393266 .
Schumann, E. (2019) Financial Optimisation with R (NMOF Manual). http://enricoschumann.net/NMOF.htm#NMOFmanual
## price EuropeanCall( S0 = 100, X = 100, r = 0.02, tau = 1, sigma = 0.20, M = 50) EuropeanCallBE(S0 = 100, X = 100, r = 0.02, tau = 1, sigma = 0.20, M = 50) ## a Greek: delta h <- 1e-8 C1 <- EuropeanCall(S0 = 100 + h, X = 100, r = 0.02, tau = 1, sigma = 0.20, M = 50) C2 <- EuropeanCall(S0 = 100 , X = 100, r = 0.02, tau = 1, sigma = 0.20, M = 50) (C1 - C2) / h
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.