Useful option pricing approximations

In this article, I will review some option pricing approximations that can be useful to verify the results given by the pricer you just implemented or to answer some interview questions. Here are the points I am going to tackle :

  • Basic At-The-Money option approximation
  • Examples
  • Other approximations
  • Negative volatility ??

Basic ATM approximation

The price for a simple european vanilla Call is given by the Black & Scholes formula:

C_t = SN(d_1) - Ke^{-r(T-t)}N(d_2)


d_1 = \frac{ln(\frac{S}{K})+(r + \frac{\sigma^2}{2})(T-t)}{\sigma \sqrt{T-t}}

d_2 = d_1 - \sigma \sqrt{T-t}

With an ATM option, we can write S = Ke^{-r(T-t)} (ATM forward). Then d_1 becomes:

d_1 = \frac{ln(e^{-r(T-t)})+(r+\frac{\sigma^2}{2})(T-t)}{\sigma \sqrt{T-t}}

d_1 = \frac{\sigma^2(T-t)}{2\sigma \sqrt{T-t}}

d_1 = \frac{\sigma \sqrt{T-t}}{2}

Doing the same for d_2 leads to:

d_2 = - \frac{\sigma \sqrt{T-t}}{2}

We can therefore write the call price as follows:

C_t = S[N(d_1) - N(-d_1)]

As d_1 is close to 0, we can use the Taylor series for N(x) evaluated in 0:

N(x) = N(0) + N'(0)x + \frac{1}{2!}N''(0)x^2 + ... + o(x^n)

We then have:

C_t \approx S[N(0) + d_1N'(0) + \frac{d_1^2}{2}N''(0) - N(0) + d_1N'(0) - \frac{d_1^2}{2}N''(0)]

C_t \approx S[2d_1N'(0)]

Let’s find N'(0) and we are done:

N'(x) = \int_{-\infty}^{x}n(y)dy = n(x)

where n(x) is the normal density function.

N'(0) = \frac{1}{\sqrt{2\pi}} \approx 0.4

We have the final result which is the same for ATM calls and puts (can be verified with Call-Put parity):

C_t \approx 0.4S\sigma\sqrt{T-t}


First, let’s compare the result with a simple application on an ATM 1year Call spot 50 (assume interest rate is 0):

Comparison between Black & Scholes price and our approximation

The result is pretty good since we only have a 0.43% error.

Question: The 1Y ATM put on XX is worth 4, what is the price for the same option with 2Y maturity?

With our approximation this is straightforward :

C_1 = 4

C_2 = 0.4S\sigma\sqrt{2} = C_1\frac{\sqrt{2}}{\sqrt{1}}

Other approximations for ATM options

  • Chooser option: Call = Put \approx 0.4S\sigma(\sqrt{T}-\sqrt{t}).
  • Asian option: Call = Put \approx 0.23S\sigma\sqrt{T+2t_1} where t_1 is the time to start of the average period.
  • Floating Strike Lookback Call: Call \approx 0.8S\sigma\sqrt{T}-0.25\sigma^2T
  • Floating Strike Lookback Put: Put \approx 0.8S\sigma\sqrt{T}+0.25\sigma^2T

Pricing with negative volatility

Capture d_écran 2017-12-05 à 19.55.58

The Collector cartoon – Negative Volatility by Espen Haug

Don’t worry, I won’t tell you that negative volatility exists. However, as depicted in the short and funny cartoon on Espen Haug’s website, one can find the value of a call by inputting a negative volatility in its put pricer and multiplying the result by -1.


The put value with -20% volatility is well -1 x Call Price

This last and pretty amazing approximation can be very useful to test a pricer quickly!

Thank you!


Paul Wilmott: Introduces Quantitative Finance
QuantStackExchange Forum
Espen Haug: The Options Genius

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s