Lecture 4: Black-Scholes Formulas and Implied Volatility
J. R. Zhang
Department of Computer Science The University of Hong Kong
⃝c 2019 J. R. Zhang All Rights Reserved
1/33
Outline
1 Review of Lecture 3
2 Option Valuation
3 Black-Scholes Formulas
4 Summary
5 Implied Volatility
6 Solving nonlinear implicit equations
7 Implied Volatility
2/33
Asset Model and Black-Scholes PDE
In Lecture 3, we first introduced the following asset model
2
S(t) = S(0)e(μ− 1 σ2)t+σ√tZ . (1)
Then we derived the famous Black − Scholes partial differential equation (PDE).
∂V +rS∂V +1S2σ2∂2V −rV =0. (2) ∂t ∂S 2 ∂S2
3/33
Black-Scholes PDE Remarks
If some asset’s price S(t) follows the process (1), then the PDE (2) must be satisfied for any option whose value depends on S and t and is paid up-front.
When deriving (2), we didn’t make use of any specific information from the option type (e.g. a call option or a put option).
The drift parameter μ in the asset model does not appear in the PDE (2).
This idea of continuously fine-tuning the portfolio in order to reduce or remove risk is known as dynamic hedging.
4/33
Nobel Prize in Economics
A Bit of History
This equation is named after its inventors, Fisher Black and Myron Scholes.
Robert Merton also made significant contributions here.
Merton and Scholes received the 1997 Nobel Prize in Economics for this work. Unfortunately, Black passed away in 1995.
Though ineligible for the prize because of his death in 1995, Black was mentioned as a contributor by the Swedish Academy.
5/33
Black-Scholes PDE
The PDE (2) can have many solutions. V (S, t) = S is one solution.
∂V =0, ∂V =1, ∂2V =0 ∂t ∂S ∂S2
∂V +rS∂V +1S2σ2∂2V −rV =0+rS−rV =0. ∂t ∂S 2 ∂S2
V(S,t)=ert isanotherone.
∂V =rert =rV, ∂V =0, ∂2V =0
∂V + rS ∂V + 1S2σ2 ∂2V − rV = rV − rV = 0. ∂t ∂S 2 ∂S2
∂t ∂S ∂S2
6/33
Black-Scholes PDE
The function V(S,t) = S satisfies the PDE (2). But it is definitely not the right solution for a call option. Why?
To uniquely determine V (S, t), we have to specify other conditions that involve information about the particular option.
Consider a European call option C(S,t). Let’s see what we know about C(S,t):
Terminal condition of the PDE (2):
C (S , T ) = max(S (T ) − K , 0). (3)
Lower boundary condition of (2):
limC(S,t)=0, forany0≤t≤T. (4)
S→0
Upper boundary condition of (2):
lim C(S,t)=S−Ke−r(T−t), forany0≤t≤T. (5) S→∞
7/33
Black-Scholes PDE
Let’s look at the conditions (3)-(5) a bit closer.
(3) is just the payoff definition of a European call option.
When S = 0, from our asset model, the asset price would stay at 0 for any time t. So the option value is 0. The lower boundary condition (4) is justified.
When S → ∞, it becomes ever more likely that the option will be exercised and the magnitude of the exercise price becomes less and less important.
Thus, as S → ∞, the call option becomes a forward contract with K as the delivery price. It can be proved that the value of the option in this case is
S −Ke−r(T−t). which is the upper boundary condition (5).
8/33
Forward Contracts
Recall the payoff at maturity for a long forward contract position is S(T)−K.
Then we can prove that the value function V(S(t),t) satisfies V (S , t ) = S (t ) − Ke −r (T −t ) .
Let’s see whether the above V (S, t) satisfies (2). ∂V = −rKe−r(T−t), ∂V = 1,
∂t ∂S
Hence,
∂V +rS∂V + 1S2σ2∂2V −rV
∂2V = 0 ∂S2
∂t ∂S 2 ∂S2
= −rKe−r(T−t) + rS − rV = r(S − Ke−r(T−t)) − rV = 0.
9/33
Black-Scholes Formulas
With three conditions imposed on (2), we can derive a unique solution for the call option value.
But the derivation is beyond the scope of this course.
Instead, we give the solution directly, and then verify that the solution
C(S,t) satisfies (2) and the terminal and boundary conditions. The solution function C(S,t) is
C (S , t ) = SN (d1 ) − Ke −r (T −t ) N (d2 ), (6) where N(x) is the cumulative density function of N(0,1), and
ln(S/K)+r(T −t) 1 √
d1= σ√T−t +2σT−t, (7)
ln(S/K)+r(T −t) 1 √
d2= σ√T−t −2σT−t. (8)
10/33
Black-Scholes Formulas
Given C(S,t), we can derive the value P(S,t) of a European put option using the call-put parity equation:
C(S,t)+Ke−r(T−t) =P(S,t)+S The solution function P(S,t) is
P (S , t ) = Ke −r (T −t ) N (−d2 ) − SN (−d1 ). (9) Alternatively, let’s see what we know about P(S,t):
Terminal condition of the PDE (2):
P (S , T ) = max(K − S (T ), 0). (10)
Lower boundary condition of (2):
lim P(S,t) = Ke−r(T−t), for any 0 ≤ t ≤ T. (11)
S→0
Upper boundary condition of (2):
lim P(S,t)=0, forany0≤t≤T. (12) S→∞
11/33
Black-Scholes PDE
In summary, to valuate a financial derivative using (2), we need to specify the terminal and boundary conditions.
Some financial insight should be utilized to choose suitable conditions for the derivative at hand.
Most of the time, there is no closed-form solution from (2).
It has to be solved using numerical techniques, for example, the finite difference method, the finite element method, etc.
12/33
European Call Plot
K = 1; r = 0.05; σ = 0.6; T = 0.75; The call option value decreases when getting closer to maturity.
13/33
European Put Plot
The put option value can decrease or increase when getting closer to maturity, depending on the spot level.
14/33
European Option Values and Time to Maturity
In Lecture 2, we have proved that the value of a European call option on a non-dividend-paying asset is non-decreasing as a function of the time to maturity.
Actually it can be proved that the European call option value is a monotonically increasing function of time-to-maturity.
But the value of a European put option is not a monotonic function of time to maturity
In most cases, the longer the time to maturity is, the more valuable is an European put option.
But for a deep in-the-money put option, it could be the opposite if the risk-free interest rate is really high, e.g., two European puts options, strikes are both 10000, current spot is 0.01, interest rate is 100%, time to maturity: 1 day and 2 days, respectively. Which one is more valuable?
15/33
Main Takeaway
The key points:
The drift term μ in the asset model (1) doesn’t matter for option evaluation.
Risk can be eliminated by holding a portfolio in which the random parts of two different sub-portfolios cancel each other
No-arbitrage principle implies that a portfolio from which risk has been eliminated must grow at the risk-free rate.
A European option’s value can be replicated by a (self-financing) portfolio consisting of dynamically trading in stock and risk-free bond.
Get familiar with the closed-form formulas for European Call/Put options.
16/33
Practicalities of Trading Options
So far, we have learned quite a bit about options.
You might start thinking to get your feet wet and trade some options. But before that you have to answer the following question first.
With the same underlying asset, there are many different options with different strikes, different maturities, and different payoff types (Call or Put).
How will you decide which one to buy or sell? Intuitively, you should buy cheaper ones and sell more expensive ones.
You need a systematic way to decide the relative cheapness/richness among different options.
Can we directly look at the prices of options, just similarly to what we normally do with stocks?
Not a good idea! Why?
The rest of this lecture gives you a new tool that could help you on this.
17/33
What is Implied Volatility
The Black-Scholes formula gives the value of an option as a function of several inputs: S0, K, T, r, and σ.
Of these only one is not specified in the contract or readily observable, the volatility σ.
What we can observe from the market are option prices.
Since the option price is a monotonic function with respect to σ, given the option price V , there exists a unique σ when substituted into Black-Scholes formula that gives the option price V , which is called implied volatility.
In practice, we calculate the implied volatilities for different strikes and different maturities, and then generate an implied volatility surface using some numerical interpolations.
18/33
Why implied volatility
A convenient quantity to measure the cheapness or dearness of an option.
We can look at the option premium directly for cheapness/dearness. Not a good idea:
Options with different strikes, different maturities, and different underlying assets are essentially different contracts. Direct comparison is meaningless.
With implied volatilities, there are two ways of judging the cheapness or dearness of options.
The first is simply by comparing current implied volatility with past levels of implied volatility on the same underlying asset.
The second is by comparing current implied volatility with the historical volatility of the underlying itself (will be discussed in next lecture).
19/33
Why implied volatility
Implied volatility is relatively more stable than stock levels.
Complex products need the volatilities implied by the prices of simple options observed from the market.
Later we will introduce some much more complex options, e.g., Asian options, basket options, etc.
All of these are OTC products. Not standardized products. Their prices cannot be observed directly from the market. You have to check with various banks for the price.
Then how do banks get the volatility information to price them?
They use the implied volatility surface obtained from the market prices of simpler products (European/American call/put options).
20/33
Nonlinear implicit Equation
Suppose that on a certain date we observe an asset price of S0 and an interest rate of r.
If we also observe the value V of a call option with expiry time T and strike price K.
Recall the Black-Scholes formula
C(σ) = S0N(d1)−Ke−rTN(d2) = V,
where
√ ln(S0/K)+(r + 1σ2)T d1=d2+σ T= √ 2 .
σT
Since everything else is known, this is an equation for σ.
But it is an implicit equation. We cannot just rearrange it to isolate σ and thus read off its value.
We have to do some work to find the value of σ∗ that makes C(σ∗)−V =0.
21/33
Solving nonlinear implicit equations Nonlinear implicit equation
Consider the following general problem: given some continuous nonlinear monotonic function f (x) , find a real number x∗ such that
f (x∗) = 0.
There are a couple of options open to us.
Use guesswork.
Use inspired guesswork: use our previous guesses to make new, better
ones.
Bisection Method
If we have two guesses, xa and xb, with f (xa)f (xb) < 0, then we know that f (x) must cross zero somewhere between xa and xb.
We can use a divide-and-conquer approach to find x∗.
22/33
Bisection Method
The bisection method goes as follows:
Step1: Findxa andxb withxa
xb − xa < ε.
The approximation error is guaranteed to be no more than ε/2.
23/33
Bisection Method
There is no foolproof procedure for finding suitable xa and xb in Step 1.
Without specific knowledge of the function f (x), we must resort to trial and error.
The bisection method halves the length of the interval [xa,xb] on each iteration, the error at the k-th iteration is bounded by L ,
where L is the length of the original interval, xb − xa.
2k +1 This is referred to as a linear convergence bound because the error
bound decreases by a linear factor (in this case 1). 2
We consider next a faster method.
24/33
Newton-Raphson method
Let’s look at a faster method: Newton-Raphson method.
Suppose that we have a current guess xn. Then, assuming f (x) is differentiable, and writing εn = x∗ − xn, the Taylor series expansion gives
∗ ′ε2
0=f(x )=f(xn+εn)=f(xn)+εnf (xn)+ 2f”(xn)+···.
If we ignore the terms of second order or higher, we get εn ≈−f(xn) ⇒x∗ ≈xn − f(xn).
f ′(xn) f ′(xn) We set this estimate as our next guess:
xn+1 = xn − f (xn) f′(xn)
25/33
Newton-Raphson method
To see how quickly the error decreases, let’s go back and look at the Taylor expansion:
εn+1 =x∗ −xn+1 =x∗ −xn + f(xn) =εn + f(xn) f ′(xn) f ′(xn)
≈ −ε2n f ”(xn) 2 f′(xn)
If we could assume that f”(xn) is bounded by a constant C, then the f′(xn)
new error is proportional to the square of the old. Second order convergence.
Note that the result requires the starting value x0 is sufficiently close to x∗. Otherwise, it may fail to converge.
26/33
Examples
Find the reciprocal
Given a number a > 0, find 1/a without doing any division! Set f (x ) = 1 − 1. Then Newton-Raphson gives
ax
axn2 √
1−1
xn+1 =xn − axn −1
=xn +xn −axn2 =xn(2−axn).
Find the square root
Given a > 0, find
Set f (x) = x2 − a. Then Newton-Raphson gives
xn+1 = xn − xn2 − a = xn2 + a. 2xn 2xn
a.
27/33
General Observations
Newton-Raphson will normally converge very quickly, roughly doubling the number of decimal places of accuracy at each iteration.
It will fail to produce this kind of convergence if f ′(x∗) = 0, e.g., f (x) = x3.
A suitable initial guess has to be supplied, otherwise, it may produce disastrous results.
It is always a good idea to do a sanity check on the results. Bisection can be used to generate a good initial guess.
28/33
Implied Volatility
Recall our problem of solving implied volatility: given S0, K, r, T, and the call option value V , find σ such that
C(σ)−V =0.
Writef(σ)=C(σ)−V =S0N(d1(σ))−Ke−rTN(d2(σ))−V,where
√ ln(S0/K)+(r + 1σ2)T d1(σ)=d2(σ)+σ T= √ 2
σT
Thenf′(σ)=S √TN′(d (σ)). 01
Note that f ′(σ) > 0, so f (σ) is monotonically increasing with respect to σ.
limσ→0+ C(σ)=max(S0−Ke−rT,0). limσ→∞ C(σ) = S0.
.
29/33
Implied Volatility
Thus if V ∈ (max(S0 − Ke−rT , 0), S0), there will be a unique solution to the equation f (σ) = 0.
From the Black-Scholes formula for a European call option,
∂C √ ′ ∂σ=S0 TN(d1)
∂2C S√T12 ∂d dd∂C 0−d112
∂σ2 = − √2π e 2 1 d1 ∂σ = σ ∂σ Thus ∂C/∂σ is maximum over [0,∞] at σ = σˆ, where
lnS0/K+rT σˆ=2 T
30/33
Implied Volatility
For σ < σˆ, f ′(σ) is increasing, and for σ > σˆ f ′(σ) is decreasing.
We shall start our iteration with σ0 = σˆ, and since f (σ) is decreasing away from σˆ, this will guarantee that each εn has the same sign as ε0 and is smaller.
31/33
Example
%%%%%%%%%%%%%%%%%%%%%%% parameters %%%%%%%%%%%%%%%%%%%%%%
r = 0.03; S = 2; K = 2; T = 3; tau = T; sigma_true = 0.3;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%starting value
sigmahat = sqrt(2*abs( (log(S/K) + r*T)/T ) );
32/33
Example
%%%%%%%%%%%%%% Newton’s Method %%%%%%%%%%%
tol = 1e-8;
sigma = sigmahat;
sigmadiff = 1;
n = 1;
nmax = 100;
while (sigmadiff >= tol & n < nmax)
C = price_call(S,K,r,sigma,tau);
Cvega = vega_call(S,K,r,sigma,tau);
increment = (C-C_true)/Cvega;
sigma = sigma - increment;
n = n+1;
sigmadiff = abs(increment);
end
33/33