EuropeanCall function

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")

M. Gilli and Schumann, E. (2009) Implementing Binomial Trees. COMISEF Working Paper Series No. 008. https://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. tools:::Rd_expr_doi("10.1137/S0036144501393266") .

Schumann, E. (2023) Financial Optimisation with R (NMOF Manual). https://enricoschumann.net/NMOF.htm#NMOFmanual

Author(s)

Enrico Schumann

See Also

callHestoncf

Examples

## 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