EuropeanBinomCall_ImpVol#
Purpose#
Computes implied volatilities for European call options using binomial method.
Format#
- sigma = EuropeanBinomCall_ImpVol(c, S0, K, r, div, tau, N)#
- Parameters:
c (Mx1 vector) – call premiums.
S0 (scalar) – current price.
K (Mx1 vector) – strike prices.
r (scalar) – risk free rate.
div (scalar) – continuous dividend yield.
tau (scalar) – elapsed time to exercise in annualized days of trading.
N (scalar) – number of time segments. A higher number of time segments will increase accuracy at the expense of increased computation time.
- Returns:
sigma (Mx1 vector) – volatility.
Examples#
// Call premiums
c = { 13.70, 11.90, 9.10 };
// Specify current price
S0 = 718.46;
// Specify strike prices
K = { 720, 725, 730 };
// Specify risk free rate
r = .0368;
// Specify dividend
div = 0;
// Specify start and end dates
t_start = dtday(2012, 1, 30);
t_end = dtday(2012, 2, 16);
// Find annualize elapsed trading days
tau = elapsedTradingDays(t_start, t_end) /
annualTradingDays(2012);
// Compute implied volatility
sigma = EuropeanBinomCall_ImpVol(c, S0, K, r, div, tau, 30);
print sigma;
produces:
0.2027
0.2081
0.1989
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.
Source#
finprocs.src