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: enter image description here

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);


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!

  • 2
    $\begingroup$ Without even looking at the parameters you chose (how did you come up with the interest rate and why do you not account for dividends?), you are comparing an American put price to a European call price. I fail to see how this could work. In your setting $r=0.01, q=0$, pricing a put would give you: 4.5643 which is indeed a lower bound for the American counterpart. $\endgroup$
    – Quantuple
    Dec 22, 2016 at 12:38
  • $\begingroup$ @Quantuple: Good point - I didn't even spot that. But even call vs. call wouldn't work as the forward is totally off. $\endgroup$ Dec 22, 2016 at 12:39
  • $\begingroup$ @LocalVolatility - Yes I guess you are right, probably the dividends missing out. $\endgroup$
    – Quantuple
    Dec 22, 2016 at 12:41
  • 1
    $\begingroup$ @drx, the formula you've used prices call options. To price put options, either you should use $P = e^{-rT}K N(-d_2) - S_0e^{(r-q)T}N(-d_1)$ with $q$ the continuously compounded dividend yield or you could appeal to call-put parity to write that $P = C - e^{-rT}(S_0e^{(r-q)T}-K)$ where $C$ is the call option price and $S_0e^{(r-q)T} = F(0,T)$ is the forward price. $\endgroup$
    – Quantuple
    Dec 22, 2016 at 12:51
  • 1
    $\begingroup$ This is explained in @LocalVolatility's answer. Let's assume the input price is a European put price, to keep things simple. You have $P = f(S_0,K,T,r,q,\sigma)$ where $f(.)$ is the appropriate BS formula. If you observe a certain price $P$ and know the parameters $S_0, K, T, r, q$ this gets you an "implied volatility" $\sigma^* = f(S_0,K,T,r,q)$. Of course if you now you this implied volatility with yet a different $r$ (and/or $q$) and plug that back to your formula you won't find the input price. $\endgroup$
    – Quantuple
    Dec 22, 2016 at 12:57

1 Answer 1


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.

  • 1
    $\begingroup$ Completely agree. Still in that case, OP can probably work-out the implied risk-neutral drift (risk-free - divs + repo) from the input price + volatility (of course this will be dependent on the pricing model as you point out). $\endgroup$
    – Quantuple
    Dec 22, 2016 at 12:44
  • $\begingroup$ Thanks for the answer! I am very new to this, but I found that I had to take rate of the treasury notes as my risk free rate? As the option is about 1 year of length, I took the rate for 1 year = ~1% here treasury.gov/resource-center/data-chart-center/interest-rates/…. And indeed, I forgot about dividends $\endgroup$
    – xrdty
    Dec 22, 2016 at 12:46
  • $\begingroup$ @Quantuple I'm curious if the approach you described is standard in terms of finding risk-neutral drift for single names. I remember doing regression with Put-Call parity implied forward price for European (index) options in class, but never touched single name American options. $\endgroup$
    – Will Gu
    Dec 22, 2016 at 19:51
  • 1
    $\begingroup$ @Will Gu What do you mean by standard? Also, American options being path-dependent claims the real question is does it make sense to manipulate an implied volatility figure à la BS (i.e. a constant diffusion coef over the contract life): think of a 1Y American call with huge div paid in 1 month for instance, clearly it is the vol between today and one month that matters, not the vol over the whole option life. $\endgroup$
    – Quantuple
    Dec 23, 2016 at 0:35
  • $\begingroup$ @quantuple why does it matter if it makes sense? I just think of it as a mapping people use to actually see the convexity of the prices $\endgroup$
    – will
    Dec 26, 2016 at 0:57

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.