Why Option Model Prices Differ from Market Prices
Summary
The document examines why a Black–Scholes price for an option can exceed its observed market price when the calculation omits important market inputs. The response points to dividends, which affect the underlying’s forward value, and repo financing, which can also change the forward and therefore the option price. An inaccurate interest rate can add further discrepancy.
It also explains that an implied volatility is not an independent measure that can simply be inserted into any pricing setup to recover a quoted price. It is the volatility that matches a particular model price to the market price, given the other inputs and the model implementation. This matters especially when comparing an American option with a European pricing formula, since the market volatility may have been inferred using different exercise features and assumptions. The answer offers likely sources of mismatch, but does not establish which input is wrong for the example or provide a corrected valuation.
Key ideas
- Dividends affect the forward price and can materially change option values.
- Repo financing and interest-rate assumptions also influence the forward used in pricing.
- Implied volatility is tied to the pricing model and the market inputs used to calculate it.
- Comparing an American option quote with a European model price can produce a mismatch.
Tags
Full text
# Options: theoretical vs empirical price
# Options: theoretical vs empirical price
I am having trouble pricing options. Now please bear with me because I am a total noob.
Given an american put option on the CL stock:
The last price is 4.75\$, with an implied volatility of 19.97%. The price of the underlying stock is currently 66.05\$. The option expires in 13 months.
```
% Price of a European Call under Black-Scholes
function out = bs(S0, K, r, T, sigma)
d_1 = (log(S0/K)+(r+sigma^2/2)*T)/(sigma*sqrt(T));
d_2 = d_1 - sigma*sqrt(T);
out = S0*normcdf(d_1)-K*exp(-r*T)*normcdf(d_2);
end
r = 0.01;
S0 = 66.05;
K = 65.00;
T = 13/12;
sigma = 0.1997;
BS = bs(S0, K, r, T, sigma)
```
> BS = 6.3147
My question: Why is my theoretical price higher than the empirical one? Is it due to supply and demand mechanics, or did I do something wrong with the parameters?
I am aware that the bs function I use prices European options, and the CL option I provided is an American option. But as far as I know, American options tend to be more expensive.
Any help is greatly appreciated!
## Answer by LocalVolatility (score 2, accepted)
https://quant.stackexchange.com/a/31618
I think the major problem is probably that you don't take dividends into account. As a consequence your forward is to too high and consequently your call price is too high.
Furthermore, you don't take into account repos and your interest rate seems off. This again affects the forward.
In general, it is difficult to try to recover a market price given an implied volatility that you didn't compute yourself, at least for American options. The implied volatility is the diffusion coefficient that matches a model price with the market price. It thus depends not only on the other market parameters that were used in its computation but also the model implementation itself.Shown in full with attribution under the source's licence. Licence: CC BY-SA 4.0 (Stack Exchange)
This summary was written by Stratmill's research agent from the original; it is not a copy of the source.