AmericanBSPut_ImpVol

Purpose

Computes implied volatilities for American put options using the Black, Scholes, and Merton method.

Format

sigma = AmericanBSPut_ImpVol(c, S0, K, r, div, tau)
Parameters:
  • c (Mx1 vector) – put 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.

Returns:

sigma (Mx1 vector) – volatility.

Examples

p = { 14.60, 17.10, 20.10 };
S0 = 718.46;
K = { 720, 725, 730 };
r = .0498;

t0 = dtday(2001, 1, 30);
t1 = dtday(2001, 2, 16);
tau = elapsedTradingDays(t0, t1) /
    annualTradingDays(2001);

sigma = AmericanBSPut_ImpVol(p, S0, K, r, 0, tau);
print sigma;

produces:

0.21749895
0.21532206
0.21660737

Source

finprocs.src