I calculated values for put options (european and american) using the implicit finite difference method and compared them to black/scholes values.

The values for american put options are higher than the values for european put options (BS and finite differences), which is in line with theory.

I applied the same code to call options, setting the lower boundary to 0 and the upper boundary to S(max)-K. The values using finite differences for american and european options are roughly the same. The BS Value lies considerably above both values. I expected the values of the european options to be almost the same and the american option value to exceed both.

My code is more or less based on the following source (for put options, for call options i simply changed the payoffs to max(S-K,0) and changed the boundary conditions (see above).


Does anybody have an idea? I changed the grid size, which didn't change much.

Thank you in advance!

  • $\begingroup$ You can check your bs values using one of the online calculators, e.g. fintools.com/resources/online-calculators/options-calcs/… $\endgroup$
    – user1157
    Feb 3, 2014 at 7:42
  • $\begingroup$ I did, they're fine. I even increased the size of the grid substantially in order to give the boundary conditions very little influence... $\endgroup$
    – FreshF
    Feb 3, 2014 at 7:47
  • 1
    $\begingroup$ Try to set the upper boundary of your finite differences such that your options are very much in-the-money (e.g. 10*K). $\endgroup$
    – user1157
    Feb 3, 2014 at 7:48
  • $\begingroup$ Already tried that. Some AM Calls exceed the BS Calls now, but only some. I will try a log transform. maybe that helps $\endgroup$
    – FreshF
    Feb 3, 2014 at 7:59

2 Answers 2


I guess that, in your model, the stock does not pay dividends.

The price of an European Call option written for a stock that does not pay dividends is always higher than its intrinsic value. Therefore, in that case, Prices of European and American Call options are equal.

Note that this is not true for Put options, since Put values are short interest rates (Calls are long interest rates). If interest rates are zero, American and European Puts have the same price.

Note that you are always better waiting until maturity to exercise the option, if the stock does not pay dividends, since otherwise you will lose the time value. When a stock pays dividends it might be better to exercise the day before the stock goes ex-dividend, because the drop in price of the stock may not compensate for the time value.

This is an idea of what is going on, by the way, not a formal proof.

Edit: Clarified that, assuming no dividends, an European and American Call options have the same price. Assuming no interest rates ($r=0$) the same happens for Puts.

  • $\begingroup$ You are right, but I already posted that. Thank you anyway! $\endgroup$
    – FreshF
    Feb 8, 2014 at 18:25

A Log-Transform did not help - I guess it has to do with dividends. When a stock does not pay dividends a risk-neutral investor should have no incentive to exercise a call option before expiration. Correct me if I'm wrong.

Including a dividend rate (which diminished the risk free rate) should give incentive to exercise early and therefore make an american call option more worth than an european call option


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.