180 likes | 451 Views
Analytical Option Pricing: Black-Scholes –Merton model; Option Sensitivities (Delta, Gamma, Vega , etc) Implied Volatility. Finance 30233, Fall 2011 The Neeley School S. Mann. Asset pays no dividends European call No taxes or transaction costs Constant interest rate over option life
E N D
Analytical Option Pricing: Black-Scholes –Merton model; Option Sensitivities (Delta, Gamma, Vega , etc) Implied Volatility Finance 30233, Fall 2011 The Neeley School S. Mann
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 Black-Scholes-Merton model assumptions
Simulated lognormal returns Lognormal simulation: visual basic subroutine : logreturns
Simulated lognormally distributed asset prices Lognormal price simulation: visual basic subroutine : lognormalprice)
C = S N(d1 ) - KB(0,t) N(d2 ) ln (S/K) + (r + s2/2 )t Black-Scholes-Merton Model d1 = st d2 = d1 -st 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) = NormSdist(x) N(d1 ) = Call Delta (D) = call hedge ratio = change in call value for small changein asset value = slope of call: first derivative of call with respect to asset price
VBA Code for Black-Scholes-Merton functions Function scm_d1(S, X, t, r, sigma) scm_d1 = (Log(S / X) + r * t) / (sigma * Sqr(t)) + 0.5 * sigma * Sqr(t) End Function Function scm_BS_call(S, X, t, r, sigma) scm_BS_call = S * Application.NormSDist(scm_d1(S, X, t, r, sigma)) - X * Exp(-r * t) * Application.NormSDist(scm_d1(S, X, t, r, sigma) - sigma * Sqr(t)) End Function 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
s= annualized standard deviation of asset rate of return Historical Volatility Computation 1) compute daily returns 2) calculate variance of daily returns 3) multiply daily variance by 252 to get annualized variance: s2 4) take square root to get s or: 1) compute weekly returns 2) calculate variance 3) multiply weekly variance by 52 • take square root • Or: 1) Compute monthly returns 2) calculate variance 3) Multiply monthly variance by 12 4) take square root
s= annualized standard deviation of asset rate of return, or volatility. Implied volatility (implied standard deviation) 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, chooselower 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