Learn R Programming

NMOF (version 0.22-0)

EuropeanCall: Computing Prices of European Calls with a Binomial Tree

Description

Computes the fair value of a European Call with the binomial tree of Cox, Ross and Rubinstein.

Usage

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

Value

  • Returns the value of the call (numeric).

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

References

Gilli, M., Maringer, D. and Schumann, E. (2011) Numerical Methods and Optimization in Finance. Elsevier. http://www.elsevierdirect.com/product.jsp?isbn=9780123756626 M. Gilli and Schumann, E. (2010) Implementing Binomial Trees. COMISEF Working Paper Series No. 008. http://comisef.eu/?q=working_papers Higham, D. (2002) Nine Ways to Implement the Binomial Method for Option Valuation in MATLAB. SIAM Review, 44(4), pp. 661--677. http://personal.strath.ac.uk/d.j.higham/papers/binom.pdf .

See Also

callHestoncf

Examples

Run this code
## 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

Run the code above in your browser using DataLab