Re: PricingEngine for American and European option with discrete dividends

Posted by Luigi Ballabio on
URL: http://quantlib.414.s1.nabble.com/PricingEngine-for-American-and-European-option-with-discrete-dividends-tp8664p8665.html

Hello,
    we're guilty on both counts, I'm afraid.  The behavior of the
American seems to be a bug, so we'll have to investigate.
As for the grid points, I had a look at the code and it's indeed not
obvious what's happening in there.  The calculations can be read in
fdvanillaengine.cpp.  On the time axis, the time goes from today to
maturity date, and delta_t is just the time span divided by the number
of time steps (with some small adjustment to ensure that the dividend
times are on the grid).  On the price axis, the engine sets a
logarithmic grid centered on the spot and extending in either
direction by 4 times the sigma of the expected price distribution at
maturity.  The number of points in the log grid is given by the passed
gridPoints parameter.

I'll let you know what I find about the American case (it might take a
while before I can have a look, though.)

Later,
    Luigi


On Fri, Jan 27, 2012 at 6:33 PM, Marie-Aude  BRUANT
<[hidden email]> wrote:

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

------------------------------------------------------------------------------
Keep Your Developer Skills Current with LearnDevNow!
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-d2d
_______________________________________________
QuantLib-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-users