Computing Prices of European Calls with a Binomial Tree
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)
Arguments
S0: current stock price
X: strike price
r: risk-free rate
tau: time to maturity
sigma: volatility
M: number of time steps
Details
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
Returns the value of the call (numeric).
References
Gilli, M., Maringer, D. and Schumann, E. (2019) Numerical Methods and Optimization in Finance. 2nd edition. Elsevier. tools:::Rd_expr_doi("10.1016/C2017-0-01621-X")
Higham, D. (2002) Nine Ways to Implement the Binomial Method for Option Valuation in MATLAB. SIAM Review, 44 (4), pp. 661--677. tools:::Rd_expr_doi("10.1137/S0036144501393266") .
## priceEuropeanCall( 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: deltah <-1e-8C1 <- 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