Black-Scholes Formula: Practice Problems

Working through Chapter 13 Black-Scholes practice problems — from log-normal returns and Geometric Brownian Motion to actually pricing European call options.

Time to work through some problems from Chapter 13. But before I dive in, there’s one thing I want to nail down first.

Remember when I said Black and Scholes baked a bunch of assumptions into their model? Log returns following a normal distribution. Constant volatility. Constant risk-free rate. A fixed dividend assumption—zero dividends in these problems. No transaction costs. The whole list.

What are those assumptions actually saying, though?

I covered this back in my Monte Carlo post (Financial Engineering Programming #9 — “the more you do it, the closer you get to the average,” basically the Law of Large Numbers in disguise). Let me put it like this.

People were tearing their hair out trying to come up with a model for how stock prices move. The thing they eventually landed on — borrowed straight from physics (Brownian motion), then beaten into shape with a bunch of back-and-forth tweaking until it fit the stock market — is Geometric Brownian Motion.

Equation from the original notes

Now, technically I should be talking about the Wiener process, Itô’s lemma, all that. But that’s not the point right now.

Equation from the original notes

The thing to notice: that epsilon ($\varepsilon$) sitting in there is a random number drawn from a Gaussian distribution. Which means — automatically, no extra work — the log return is normally distributed.

That is,

Equation from the original notes

is what it actually means!

I’m bringing this up because we’re going to need it for some of the problems below. OK, on to Chapter 13.


Prob 13.8

Current stock price is 40. Expected return on the stock is 15% per year, volatility is 25%. What’s the probability distribution of the continuously compounded return over one year?

Mean of the return distribution:

Equation from the original notes

Variance:

Equation from the original notes

So the standard deviation is just 0.25, right.


Prob 13.9

Current stock price 38, expected return 16%, volatility 35%.

(a) What’s the probability that a European call option with 6 months to maturity and a strike of $40 gets exercised?

The call gets exercised when, at maturity, $S_T$ comes in higher than the strike of 40. Right?

But — the distribution of $\ln(S_T/S_0)$ follows

Equation from the original notes

So we can say the distribution of ln S_T is

Equation from the original notes

right?

Crunching it out:

Equation from the original notes

What we actually want is the probability that ln S_T is above $\ln 40$, yeah? And $\ln 40 \approx 3.6889$.

From here I’m just going to drop in the photos.

Equation from the original notes

Equation from the original notes

Equation from the original notes

Done.


Prob 13.13

Current stock price $52, strike $50, risk-free rate 12%, volatility 30%, maturity 3 months. What’s the price of a European call on a non-dividend-paying stock?

Just hit it with the BS formula!!!!

Equation from the original notes

For the area under the normal distribution, I used the VBA sub I wrote a while back — you know, the DidYouEvenThinkWritingThis_NowIGottaOpenExcel() sub.


Prob 13.14

Current stock price $69, strike 70, risk-free rate 5% per year, volatility 35% per year, maturity 6 months. Price of the European put on a non-dividend-paying stock?

Equation from the original notes


Prob 13.15

Price of a call on a non-dividend-paying stock is $2.50. Current stock price 15, strike 13, maturity 3 months, risk-free rate 5%. Find the implied volatility.

Equation from the original notes

Look at it. There is no handy formula that just spits out the implied volatility. Ugh. Not by simply rearranging that equation, anyway.

Go ahead, try the iterations by hand. I respect anyone who would even attempt it… But I’m not doing that by hand. heh heh heh

So — VBA it is. Specifically, I’m going to extract the implied vol using the Newton-Raphson method, which has a good reputation for this.

(I wrote up the details in Financial Engineering Programming #15 — “I’m in the middle of finding implied vol, and after one round with the bisection method…” That one. Go look there for the full breakdown.)

Equation from the original notes

After running it: 39.6435528596290%. heh heh heh heh heh


Prob 13.20

Show that the Black-Scholes formula for call and put values satisfies Put-Call Parity.

Already did this in a previous post!!!!

Equation from the original notes


Prob 13.21

Show that the probability a European call gets exercised in a risk-neutral world is $N(d_2)$.

At time $T$, if the stock price ends up above $K$, $100 gets paid out.

How do we express the value of this derivative?

Can I… just sub in photos for this one too..? Ugh.

Equation from the original notes

Equation from the original notes

Equation from the original notes

So — the risk-neutral probability that $S_T \gt K$ is $N(d_2)$, and multiplying by the payout amount of 100 gives us its risk-neutral expected payoff.

Equation from the original notes

Take the present value of that expected value, and there you have it — the present value of the derivative.

Equation from the original notes


Heads-up. The figures here are the original notes, slips and all. A few things to watch for:

  • For Problem 13.9, the exercise probability is about 49.6908%; the handwritten standardized threshold slips slightly.
  • For Problem 13.13, $d_2\approx0.3864714$. The call value is about 5.0574 dollars, as in the final result.
  • For Problem 13.14, the put is about 6.4014 dollars, not 0.6401.

Comments

Discussion happens via GitHub Discussions. You'll need a GitHub account to comment.