I have tested Python and pre-defined web implementations of the Black-Scholes options pricing model.

From these tests I've observed pricing differences between the model's output and real options prices (AAPL used for tests).

The difference is small for very near-term options such as weeklys, but once I extend out to 60+ days the price difference is huge.

This doesn't overly surprise me but I'd like to know why. My current thoughts are:

  1. Uncertainty of short-term interest rates
  2. Uncertainty around future volatility
  3. Supply/demand for different strikes

Can anyone please help explain this? Additional detail on how I can help account for these differences when simulating options prices would be extra helpful.

  • Are you accounting for dividends? Commented Nov 10, 2020 at 21:30
  • Are you using the stock's historical volatility as input to Black-Scholes?
    – nanoman
    Commented Nov 10, 2020 at 22:50
  • See this question for why you may not get good pricing from straightforward use of Black-Scholes with any single value of volatility.
    – nanoman
    Commented Nov 10, 2020 at 22:53
  • Yes @nanoman, with a value of 0.43. Also your link is incorrect but I’d like to see the question. No I’m not accounting for dividends actually.. That could be it.
    – cardycakes
    Commented Nov 10, 2020 at 23:26
  • The link works for me; here is a different link to the same question.
    – nanoman
    Commented Nov 11, 2020 at 1:05

2 Answers 2


Theoretical option prices will vary from actual for several reasons:

  • Implied volatility tends to be higher for nearer term expirations

  • Implied volatility can vary from strike price to strike price (volatility smile or smirk), often higher when away from the money

  • Dividends affect option pricing, increasing put value and decreasing call value. The nearer an expiration to the ex-div date (but expiring after it), the greater the pricing effect of the dividend.

  • Long dated options often have very wide bid/ask spreads and the bid and ask are not necessarily equidistant from theoretical value, thereby distorting the midpoint.

And then there's the question of whether you're comparing your theoretical values to real time quotes. If not real time, option quotes, especially illiquid options, are often stale. End of day closing quotes are useless for comparison.


It's almost certainly not due to interest rates. IR has a very minimal impact on option prices.

Option pricing is all about volatility. You didn't say where you're getting the volatility you're using in your B-S pricing, but it has a big impact on option pricing. Volatility also can vary significantly for different strike prices and different expiries, so it is not "constant" like the B-S model assumes it is, and it must be implied based on current market prices for each strike and expiry. Whether traders trade volatility directly (i.e. buy options due to "cheap" implied vols) or whether the supply/demand for options is driven by the outlook on the stock price (e.g. are traders bearish, buying puts/selling calls or bullish, buying calls/selling puts) is never clear.

The longer an option has until expiry, the more the impact volatility has on pricing. So it makes sense that you'd see closer prices for short-term options.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .