Uploaded new finite difference pricing engines

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Uploaded new finite difference pricing engines

Joseph Wang
They are in a tar file on the wiki page on pricing engines.  It contains
two enhancements.  The first is a system evolver that evolves coupled
PDE's, the second is that it has the step function price options in
engine form.  Also, I put some of the class information typedefs into a
traits file.

The next thing on my plate is to multi period options working in the
pricing engine format.  I think what I will do is to refactor the
classes so that FdVanillaEngine is no longer a subclass of GenericModel
and gets the arguments it needs via procedure classes rather than via
arguments_.

The class structure I'm envisoning is

european engine -> VanillaOption::Engine
                          ->  FdVanillaEngine

and

multi-period engine -> DividendVanillaOption::Engine
                               -> FdVanillaEngine

instead of the current

european engine -> FdVanillaEngine -> VanillaOption::Engine

I'm open to other ideas........







Reply | Threaded
Open this post in threaded view
|

Re: Uploaded new finite difference pricing engines

Luigi Ballabio
On 02/16/05 08:16:40, Joseph Wang wrote:
> They are in a tar file on the wiki page on pricing engines.  It contains
> two enhancements.  The first is a system evolver that evolves coupled
> PDE's, the second is that it has the step function price options in
> engine form.  Also, I put some of the class information typedefs into a
> traits file.

Thanks. I've downloaded them, and I'll have a look as soon as I can (still
no time, sorry...)

> The next thing on my plate is to multi period options working in the
> pricing engine format.  I think what I will do is to refactor the classes
> so that FdVanillaEngine is no longer a subclass of GenericModel and gets
> the arguments it needs via procedure classes rather than via arguments_.
>
> The class structure I'm envisoning is
>
> european engine -> VanillaOption::Engine
>                          ->  FdVanillaEngine
>
> and
>
> multi-period engine -> DividendVanillaOption::Engine
>                               -> FdVanillaEngine
>
> instead of the current
>
> european engine -> FdVanillaEngine -> VanillaOption::Engine

I was about to suggest you the same thing (using multiple inheritance--it's  
not clear to me from the above diagram whether you plan to use MI or  
containment.) It's the same thing we did for Monte Carlo engines.

Later,
        Luigi

----------------------------------------

A programming language is low-level when its programs require attention
to the irrelevant.
-- Alan Perlis