Re: Path valuation issue

Posted by Luigi Ballabio-2 on
URL: http://quantlib.414.s1.nabble.com/Path-valuation-issue-tp2906p2910.html

Ciao Luca,

On 2004.04.13 11:10, Berardi Luca wrote:

> I would be interested in using the MonteCarlo framework to valuate
> path-dependent options. I assume to have a payoff which evaluates to
> -let's say- 3 fixing dates for expiry 1 year, but I'd like to  
> integrate the stochastic differential equation (SDE, for short) for  
> the underlying using a denser temporal grid, e.g. using 1000 temporal  
> steps. Hence I generate the path of interest (as a collection of  
> times and drift-diffusion couples)  "integrating" the corresponding
> DiffusionProcess over the 1000 elements TimeGrid. Then I pass this  
> generated Path as argument of the operator() function in my Pricer  
> class.
>
> As far as I can understand, however, the current Path implementation
> in QuantLib does not make any difference between fixing dates (i.e.
> "mandatory times") and times in the Path only used to integrate the  
> SDE. So if I need to evaluate the payoff over my 3 fixing dates I  
> have to "re-integrate" the underlying SDE also in my Pricer::operator
> ( ) function (to get the underlying values corresponding to the 3  
> fixing dates of interest).
> This seems to me a bit computationally inefficient.

Yes, I see that the current Path implementation is not fully  
satisfactory---to put it mildly :) This also applies to your earlier  
question about modeling the log value of the underlying.

The reasons for the current implementation are:
a) partly historical; back when most pricers took a constant volatility  
value, storing the drift and diffusion parts made it easier to  
calculate antithetic paths, but this no longer applies now that the  
volatility can change over the path.
b) partly due to us not listening to Knuth when he said that early  
optimization is the root of all evils. For the simple pricers we  
started with, it might have been more efficient to add log variations  
and just perform exponentiation when the price value is needed. But as  
you show, this might actually degrade performance for more complex  
pricers.

So, yes, it might make more sense to store in the path the simulated  
values of the modeled quantity instead of its variations (or log  
variations.)

Thoughts, anyone?

Later,
        Luigi