AmericanBinomCall_ImpVol
==============================================
Purpose
----------------
Computes implied volatilities for American call options using the binomial method.
Format
----------------
.. function:: sigma = AmericanBinomCall_ImpVol(c, S0, K, r, div, tau, N)
:param c: call premiums
:type c: Mx1 vector
:param S0: current price.
:type S0: scalar
:param K: strike prices.
:type K: Mx1 vector
:param r: risk free rate.
:type r: scalar
:param div: continuous dividend yield.
:type div: scalar
:param tau: elapsed time to exercise in annualized days of trading.
:type tau: scalar
:param N: number of time segments. A higher number of time segments will increase accuracy at the expense of increased computation time.
:type N: scalar
:return sigma: volatility.
:rtype sigma: Mx1 vector
Examples
----------------
::
c = { 13.70, 11.90, 9.10 };
S0 = 718.46;
K = { 720, 725, 730 };
r = .0498;
div = 0;
t0 = dtday(2001, 1, 30);
t1 = dtday(2001, 2, 16);
tau = elapsedTradingDays(t0, t1) /
annualTradingDays(2001);
sigma = AmericanBinomCall_ImpVol(c, S0, K, r, 0, tau, 30);
print sigma;
produces:
::
0.19746150
0.20337431
0.19472673
Remarks
-------
The binomial method of Cox, Ross, and Rubinstein ("Option pricing: a
simplified approach," *Journal of Financial Economics*, 7:229:264) as
described in *Options, Futures, and other Derivatives* by John C. Hull is
the basis of this procedure.