Posted by
Penschke, Walter on
URL: http://quantlib.414.s1.nabble.com/Merton76Process-tp3338p3339.html
Hello,
I agree that the implied changes are considerable. And I definitely do not
yet know all of QL!
Having put the focus so far on MC-simulation, I'd say that primarily the
PathGenerator would be involved. One idea would be to delegate (again) to
the StochasticProcess. But then - in the case of a jump diffusion process -
we also would need more than the currently available gaussian Rsg.
Presumably a Poisson-Rsg also would be required. This again violates the
current setup of the PathGenerator.
I therefore thought about creating the PathGenerator not via a gaussian
random sequence generator, but via a sequence generator factory (yet to do),
who could also create other random number sequences, e.g.: from a poisson
distribution. In the next() method of the PathGenerator this factory could
be passed over to the StochasticProcess, which in turn could sample from
(any kind of) distribution in order to simulate the process specific
behaviour (e.g.: also jumps). As a consequence there would be the need for a
new method within the StochasticProcess interface (sample()), which takes
this factory and may be other parameters and samples according to its
specific nature.
Alternatively, I could envisage a second version of the PathGenerator class
itself, which then knows how to evolve jump diffusion processes and queries
these kind of processes accordingly. This does not seem to be too nice,
because we would need an extra class. However, the existing stuff would not
be affected.
I am also not quite sure about the Path class (in MonteCarlo). Using jump
diffusion processes with MonteCarlo possibly requires a third array inside
Path, modelling the jumps. Alternatively the Path could only keep track of
the values and does not care about the individual components (drift,
diffusion, jump), which make up the values of the Path.
Comments welcome.
wpe
-----Original Message-----
From: Neil P Firth [mailto:
[hidden email]]
Sent: Monday, September 13, 2004 5:11 PM
To: Penschke, Walter
Cc:
[hidden email]
Subject: Re: [Quantlib-users] Merton76Process
Hello,
Lots of interesting financial models, such as variance gamma and normal
inverse gamma, are pure jump models, so any redesign should take them into
consideration. Bringing in a LevyProcess class, with drift, diffusion and
jump methods might tidy things up. However, that is quite a large
change and might cause more problems than it solves.
Neil
---------------------------------------------------
Neil Firth
Brasenose College Oxford OX1 4AJ United Kingdom
Office: 01865 280616
[hidden email]
http://www.maths.ox.ac.uk/~firth---------------------------------------------------