Post on 01-Jan-2016
Analytical Option Pricing:Black-Scholes –Merton model;Option Sensitivities (Delta, Gamma, Vega , etc)Implied Volatility
Call & Put prices:Black-Scholes-Merton model
$-
$10
$20
$30
$40
$50
$60
Asset price
Opt
ion
Val
ue
call
put
Finance 30233, Fall 2010The Neeley SchoolS. Mann
Binomial European model: one periodInputs Asset Price Dynamics
Initial Stock Price, S0 100.00 up factor, U :
Option Strike Price, K 100.00 U = exp[(r - s2/2)h + s (h) 1/2]annual volatility, s 30.0% down factor , D :T-bill ask discount rate= 0.25% D = exp[(r - s2/2)h - s (h) 1/2]valuation date: 31-Oct-10
option expiration date 31-Oct-11 U = 1.2937D = 0.7100
generated from above: R(h) = 1.00251.000
365 output:31-Oct-11 B(0,T) 0.99747 14.68
continuous riskless rate, r = 0.25% 14.43
129.37 29.37
Su = S0U Cu
100.00 14.68
S0 Call Value: C0
71.00 0.00
Sd = S0D Call delta= Cd
0.50322
Put Value
maturity (days)period length h (years)
Call Value
Binomial European model: two periodInputs Asset Price Dynamics
Initial Stock Price, S0 100.00 up factor, U :
Option Strike Price, K 100.00 U = exp[(r - s2/2)h + s (h) 1/2]annual volatility, s 30.0% down factor , D :
T-bill ask discount rate= 0.25% D = exp[(r - s2/2)h - s (h) 1/2]valuation date: 31-Oct-10
option expiration date, T: 31-Oct-11 U = 1.210D = 0.792
generated from above: R(h) = 1.0010.500
365 output:31-Oct-11 B(0,T) 0.99747 11.61
continuous riskless rate, r = 0.25% 11.36
146.49 46.49
Suu = S0 uu Cuu
121.03 23.24
Su = S0 u Cu; Du =100.00 95.84 11.61 0.918 0.00
S0 Sud=S0ud =S0du Call Value: C0 Cud
79.19 0.00
Sd = S0 d D0= Cd; Dd =62.71 0.555 0.000 0.00
Sdd = S0 dd Cdd
maturity (days)
period length h (years)
Call ValuePut Value
Binomial Convergence to Black-Scholes-Merton periods call value
inputs: output: 1 $14.68
Current Stock price (S) $100.00 binomial call value $12.03 2 $11.61
Exercise Price (K) $100.00 Put Value $11.78 3 $12.86
valuation date 31-Oct-10 4 $11.99
Expiration date 31-Oct-11 Black-Scholes Call value $12.03 5 $12.48
riskless rate (continuous) 0.25% 6 $12.08
estimated volatility (sigma) (s ) 30% 7 $12.32
periods (lattice dimension) 25 8 $12.12time until expiration (years) 1.000 9 $12.23
10 $12.1411 $12.1712 $12.1413 $12.1314 $12.1415 $12.1016 $12.1417 $12.0818 $12.1419 $12.0620 $12.1421 $12.0522 $12.1323 $12.0424 $12.1325 $12.0326 $12.1327 $12.0228 $12.1229 $12.0130 $12.12
$0.00
$2.00
$4.00
$6.00
$8.00
$10.00
$12.00
$14.00
$16.00
1 3 5 7 9 11 13 15 17 19 21 23 25 27 29
Periods
Binomial model : convergence to BSM value
Black-Scholes-Merton model assumptions
Asset pays no dividendsEuropean callNo taxes or transaction costsConstant interest rate over option life
Lognormal returns: ln(1+r ) ~ N ( s)reflect limited liability -100% is lowest possible
stable return variance over option life
0
0.005
0.01
0.015
0.02
0.025
0.03
0.035
0.04
0.045
-90.0% -66.0% -42.0% -18.0% 6.0% 30.0% 54.0% 78.0%
simulated lognormal returns: mu=6.00%, Sigma=30.00%
Simulated lognormal returns
Lognormal simulation: visual basic subroutine : logreturns
Simulated lognormally distributed asset prices
Lognormal price simulation: visual basic subroutine : lognormalprice)
0.000
0.010
0.020
0.030
0.040
0.050
0.060
43.17 72.24 101.30 130.37 159.44 188.50 217.57 246.64
lognormal price simulation, S(0)=$100;: mu=6.00%, Sigma=30.00%
Black-Scholes-Merton Model
C = S N(d1 ) - KB(0,t) N(d2 )
d1 =ln (S/K) + (r + s2 )t
s t
d2 = d1 - 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) = NormSdist(x)
N(d1 ) = 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
Call value : Black-Scholes-Merton Model
output:Current Stock price (S) 100.00 Theoretical Call Value 12.034 Stock Call Exercise Price (X) 100.00 Theoretical Put Value 11.784 price Valuevaluation date 10/31/2010 73 1.96Expiration date 10/31/2011 76 2.51riskless rate 0.25% 78 3.15
volatility (sigma) (s ) 30% 81 3.9084 4.74
time until expiration (years) 1.000 87 5.7089 6.7692 7.9295 9.1997 10.56
100 12.03103 13.60105 15.26108 17.01111 18.83114 20.74116 22.71119 24.76122 26.87124 29.03127 31.25
model inputs:
$0
$5
$10
$15
$20
$25
$30
$35
73
76
78
81
84
87
89
92
95
97
100
103
105
108
111
114
116
119
122
124
127
Call option Value
Mann VBA function:scm_bs_call(S,K,T,r,sigma)
Mann VBA function:scm_bs_put(S,K,T,r,sigm
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) - SEnd Function
VBA Code for Black-Scholes-Merton functions
To enter code:tools/macro/visual basic editorat editor:insert/moduletype code, then compile by:debug/compile VBAproject
output:Current Stock price (S) 100.00 Theoretical Call Value 12.034Exercise Price (X) 100.00 Theoretical Put Value 11.784 Stock Call valuation date 11/1/2010 implied volatility 35.0% price Value deltaExpiration date 11/1/2011 64 0.73 0.09riskless rate 0.25% 0.5629 68 1.12 0.13
volatility (sigma) (s ) 30% 71 1.64 0.17observed call price 14.000 75 2.31 0.21time until expiration (years) 1.000 78 3.15 0.26
82 4.17 0.3186 5.37 0.3689 6.76 0.4193 8.33 0.4696 10.09 0.51
100 12.03 0.56104 14.14 0.61107 16.41 0.65111 18.83 0.69114 21.39 0.73118 24.07 0.76122 26.87 0.79125 29.76 0.82129 32.75 0.84132 35.82 0.86136 38.96 0.88
model inputs:
call delta
0.00
0.10
0.20
0.30
0.40
0.50
0.60
0.70
0.80
0.90
1.00
64 71 78 86 93 100 107 114 122 129 136
Delta: call slope (Hedge Ratio: N(d1))
Mann VBA function:bsdelta(S,K,T,r,sigma)
Gamma
output:Current Stock price (S) 100.00 Theoretical Call Value 12.034Exercise Price (X) 100.00 Theoretical Put Value 11.784 Stock Call valuation date 10/31/2010 implied volatility 28.6% price Value gammaExpiration date 10/31/2011 64 0.73 0.009riskless rate 0.25% 0.0131 68 1.12 0.010
volatility (sigma) (s ) 30% 71 1.64 0.012observed call price 11.500 75 2.31 0.013time until expiration (years) 1.000 78 3.15 0.014
82 4.17 0.01486 5.37 0.01589 6.76 0.01593 8.33 0.01496 10.09 0.014
100 12.03 0.013104 14.14 0.012107 16.41 0.011111 18.83 0.011114 21.39 0.010118 24.07 0.009122 26.87 0.008125 29.76 0.007129 32.75 0.006132 35.82 0.006136 38.96 0.005
model inputs:
call gamma
0.000
0.002
0.004
0.006
0.008
0.010
0.012
0.014
0.016
64 71 78 86 93 100 107 114 122 129 136
Call Gamma: change in delta
Mann VBA function:gamma(S,K,T,r,sigma)
Vega
output:Current Stock price (S) 100.00 Theoretical Call Value 12.034Exercise Price (X) 100.00 Theoretical Put Value 11.784 Stock Call valuation date 10/31/10 implied volatility 32.5% price Value vegaExpiration date 10/31/11 64 0.73 10.6riskless rate 0.00 39.3973 68 1.12 14.0
volatility (sigma) (s ) 0.30 71 1.64 17.7observed call price 13.00 75 2.31 21.5time until expiration (years) 1.00 78 3.15 25.3
82 4.17 28.886 5.37 32.089 6.76 34.793 8.33 36.996 10.09 38.4
100 12.03 39.4104 14.14 39.8107 16.41 39.6111 18.83 39.0114 21.39 38.0118 24.07 36.6122 26.87 34.9125 29.76 33.1129 32.75 31.1132 35.82 29.0136 38.96 26.9
model inputs:
call vega
0.0
5.0
10.0
15.0
20.0
25.0
30.0
35.0
40.0
45.0
64 71 78 86 93 100 107 114 122 129 136
Call vega: sensitivity to volatility
Mann VBA function:vega (S,K,T,r,sigma)
Historical Volatility Computation
1) compute daily returns2) calculate variance of daily returns3) multiply daily variance by 252 to get annualized variance: s 2
4) take square root to get s
or:1) compute weekly returns2) calculate variance3) multiply weekly variance by 524)take square root
Or:1) Compute monthly returns2) calculate variance3) Multiply monthly variance by 124) take square root
annualized standard deviation of asset rate of returns =
Implied volatility (implied standard deviation)
annualized standard deviation of asset rate of return, or volatility.s =
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
Call implied volatility
output:Current Stock price (S) 100.00 Theoretical Call Value 12.034Exercise Price (X) 100.00 Theoretical Put Value 11.784 Call
valuation date 10/31/2010 volatility Value
Expiration date 10/31/2011 implied volatility 37.6% 10.0% 4.11riskless rate 0.25% 12.0% 4.90
volatility (sigma) (s ) 30.0% 14.0% 5.70observed call price 15.000 16.0% 6.49time until expiration (years) 1.000 18.0% 7.29
20.0% 8.0822.0% 8.8724.0% 9.6726.0% 10.4628.0% 11.2530.0% 12.0332.0% 12.8234.0% 13.6136.0% 14.3938.0% 15.1840.0% 15.9642.0% 16.7444.0% 17.5246.0% 18.2948.0% 19.0750.0% 19.84
model inputs:
$0
$5
$10
$15
$20
$25
10%
12%
14%
16%
18%
20%
22%
24%
26%
28%
30%
32%
34%
36%
38%
40%
42%
44%
46%
48%
50%
Call Value as a function of volatility
this is the Mann VBA function:scm_bs_call_ isd(S,K,T,r,sigma)
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) / 2End Function
1 day
10 days
20 days30 days
40 days50 days
60 days
(2.00)
0.00
2.00
4.00
6.00
8.00
10.00
12.00
14.00
16.00
po
siti
on
va
lue
asset price
Call: value as function of asset price and time to expiration
72 75 77 80 82 85 88 90 93 95 98
60 days50 days
40 days30 days
20 days
10 days
1 day
(140.0)
(120.0)
(100.0)
(80.0)
(60.0)
(40.0)
(20.0)
0.0
asset price
Call theta and time to expiration:note reversal of vertical axis
Call Theta:Time decay