EuropeanBinomPut

Purpose

Prices European put options using binomial method.

Format

p = EuropeanBinomPut(S0, K, r, div, tau, sigma, N)
Parameters:
  • 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.
  • sigma (scalar) – volatility.
  • N (scalar) – number of time segments. A higher number of time segments will increase accuracy at the expense of increased computation time.
Returns:

p (Mx1 vector) – put premiums.

Examples

// Specify current price
S0 = 718.46;

// Specify strike prices
K = { 720, 725, 730 };

// Specify risk free rate
r = .0398;

// Specify volatility
sigma = .2493;

/*
** Compute elapsed time using
** `dtday` and `elapsedTradingDays`
*/
t_start = dtday(2012, 1, 30);
t_end = dtday(2012, 2, 16);
tau = elapsedTradingDays(t_start, t_end) /
    annualTradingDays(2012);

// Compute premiums
c = EuropeanBinomPut(S0, K, r, 0, tau, sigma, 60);
print c;

produces:

16.872213
19.606098
22.390831

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