Vanilla dividend engines

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

Vanilla dividend engines

Joseph Wang
The place to start is to look at the

QuantLib/ql/PricingEngines/Vanilla directory in the CVS tree.  Take a
look at the fddividendengine classes.  They calculate the option price
using the Black-Scholes equation with explicit calculation for the
dividends.  Right now I'm trying to figure out how to generalize the
engines to be useful for things other than options (namely convertible
bonds).

As far as how dividends are represented.  The are currently stored as a
vector inside of the VanillaOption class.  This is suboptimal for a
number of reasons.  The first is that it doesn't use the scheduling and
calendar classes or have provision for different times of options.  The
other problem that it bothers me is that the dividends should be
assocated with a stock, and not the option.  This is going to be a
problem with modelling convertible bonds since the bond could turn into
a dividend-paying stock.

One other thing I would advise you to do is to be bold in refactoring
the classes.  I like the basic design of quantlib, but there are a lot
of things that could be cleaned up, which haven't been for lack of time.