PricingEngine for American and European option with discrete dividends

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

PricingEngine for American and European option with discrete dividends

Marie-Aude  BRUANT
Dear all,

I’m trying to use QuantLib for the valuation of DividendVanillaOption. (I’m
a new and impressed user)
I’ve made a little test to check the consistency of the results:
I’ve assumed that the underlying pays discrete dividends equal to 0, and
compare with an underlying who doesn’t pay any dividend.
In the European exercise case, all it’s OK. However, in the American
exercise case they are a difference. :( In this context, they must be all
equal.
I use the PricingEngine FDDividendAmericanEngine and FDAmericanEngine for
American exercise and AnalyticDividendEuropeanEngine and
AnalyticEuropeanEngine for European exercise.

///////////////////////////  RESULTS
////////////////////////////////////////////////
Description of the option:        IBM Option
Date of maturity:                       January 26th, 2013
Type of the option:                   Call
Strike of the option:                  190
Discrete dividends
Dates                           Dividends
February 10th, 2012             0
May 10th, 2012                0
August 10th, 2012               0
November 10th, 2012             0
NPV of the European Option with discrete dividends=0:   17.9647
NPV of the European Option without dividend: 17.9647
NPV of the American Option with discrete dividends=0: 18.5707
NPV of the American Option without dividend: 17.9647
//////////////////////////////////////////////////////////////////////////////////////
Note that in the case of a null risk-free, the results are correct.


I have also one other question: I don’t really understand the two
parameters timeSteps and girdPoints in the FDAmericanEngine and
FDDividendAmericanEngine objects. I understand that we need to define the
discretization gird, but I don’t understand how it works. I used to follow
the following recommendation for L_infinity stability in the Crank Nicolson
scheme:
        delta_t/(delta_x*delta_x) <= 1


Please, see the attached .cpp file.
I’m using the 1.1 version.
Thanks,
Best regards,
Mastein

------------------------------------------------------------------------------
Try before you buy = See our experts in action!
The most comprehensive online learning library for Microsoft developers
is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3,
Metro Style Apps, more. Free future releases when you subscribe now!
http://p.sf.net/sfu/learndevnow-dev2
_______________________________________________
QuantLib-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-users

OptionValuation.cpp (18K) Download Attachment