|
From: Joseph W. <jo...@co...> - 2005-06-24 04:02:45
|
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. |