Analytical Option Pricing BlackScholes Merton model Option Sensitivities
Analytical Option Pricing: Black-Scholes –Merton model; Option Sensitivities (Delta, Gamma, Vega , etc) Implied Volatility Finance 30233, Fall 2011 The Neeley School S. Mann
Black-Scholes-Merton model assumptions Asset pays no dividends European call No taxes or transaction costs Constant interest rate over option life Lognormal returns: ln(1+r ) ~ N (m , s) reflect limited liability -100% is lowest possible stable return variance over option life
Simulated lognormal returns Lognormal simulation: visual basic subroutine : logreturns
Simulated lognormally distributed asset prices Lognormal price simulation: visual basic subroutine : lognormalprice)
Black-Scholes-Merton Model C = S N(d 1 ) - KB(0, t) N(d 2 ) ln (S/K) + (r + s 2/2 )t d 1 = s t d 2 = d 1 - s t N( x) = Standard Normal [~N(0, 1)] Cumulative density function: N(x) = area under curve left of x; e. g. , N(0) =. 5 coding: (excel) N(x) = Norm. Sdist(x) N(d 1 ) = Call Delta (D) = call hedge ratio = change in call value for small change in asset value = slope of call: first derivative of call with respect to asset price
VBA Code for Black-Scholes-Merton functions Function scm_d 1(S, X, t, r, sigma) scm_d 1 = (Log(S / X) + r * t) / (sigma * Sqr(t)) + 0. 5 * sigma * Sqr(t) End Function scm_BS_call(S, X, t, r, sigma) scm_BS_call = S * Application. Norm. SDist(scm_d 1(S, X, t, r, sigma)) - X * Exp(-r * t) * Application. Norm. SDist(scm_d 1(S, X, t, r, sigma) - sigma * Sqr(t)) End Function scm_BS_put(S, X, t, r, sigma) scm_BS_put = scm_BS_call(S, X, t, r, sigma) + X * Exp(-r * t) - S End Function To enter code: tools/macro/visual basic editor at editor: insert/module type code, then compile by: debug/compile VBAproject
Historical Volatility Computation s = annualized standard deviation of asset rate of return 1) compute daily returns 2) calculate variance of daily returns 3) multiply daily variance by 252 to get annualized variance: s 2 4) take square root to get s or: 1) compute weekly returns 2) calculate variance 3) multiply weekly variance by 52 4) take square root Or: 1) Compute monthly returns 2) calculate variance 3) Multiply monthly variance by 12 4) take square root
Implied volatility (implied standard deviation) s = annualized standard deviation of asset rate of return, or volatility. Use observed option prices to “back out” the volatility implied by the price. Trial and error method: 1) choose initial volatility, e. g. 25%. 2) use initial volatility to generate model (theoretical) value 3) compare theoretical value with observed (market) price. 4) if: model value > market price, choose lower volatility, go to 2) model value < market price, choose higher volatility, go to 2) eventually, if model value market price, volatility is the implied volatility
Implied volatility (implied standard deviation): VBA code: Function scm_BS_call_ISD(S, X, t, r, C) high = 1 low = 0 Do While (high - low) > 0. 0001 If scm_BS_call(S, X, t, r, (high + low) / 2) > C Then high = (high + low) / 2 Else: low = (high + low) / 2 End If Loop scm_BS_call_ISD = (high + low) / 2 End Function
Call Theta: Time decay
- Slides: 18