am_call_bin {AmericanCallOpt} | R Documentation |
Pricing of American call option using a binomial approximation
am_call_bin(S, K, r, sigma, t, steps)
S |
spot price |
K |
exercise price |
r |
risk-free interest rate |
sigma |
volatility |
t |
time to maturity |
steps |
number of steps in binomial tree |
The valuation problem of an American option is not trivial because, due to the payoff structure, it may be optimal to use (exercise) the option before the final date. This optimal exercise policy will affect the value of the option. However, the exercise policy is not known. There is therefore no general analytical solution for American options. There are some special cases, though. For American call options on assets that do not have any payouts, the American call price is the same as the European one, since the optimal exercise policy is to not exercise.
Allowing for the possibility of early exercise of American options makes binomial approximations useful from a valuation perspective. At each node we calculate the value of the option as a function of prices in the subsequent periods. At each point in time, we check for the value exercising of exercising the option.
In the application presented in this package, I use a binomial tree. To find the option price, the algorithm rolls backwards starting from the final node. At node t, it calculate the call price as a function of two possible outcomes at time t+1.
call_price |
Option price |
Paolo Zagaglia, paolo.zagaglia@gmail.com
John Hull, "Options, Futures and other Derivative Securities", Prentice-Hall, second edition, 1993.
rm(list=ls()) S<-100 K<-100 r<-0.1 sigma<-0.25 t<-1 steps<-100 call_price_am_bin<-am_call_bin(S, K, r, sigma, t, steps)