Login  Register

Re: chosing assetSteps and timeSteps for FdAmericanOption

Posted by Johann Hibschman-2 on May 07, 2002; 10:07am
URL: http://quantlib.414.s1.nabble.com/chosing-assetSteps-and-timeSteps-for-FdAmericanOption-tp2047p2049.html

Okay, my specific knowledge isn't that high, but I can comment on some
of this.  (Heh.  Yet another physicist jumping ship here.)

On Tuesday, May 7, 2002, at 01:50  AM, Marco Marchioro wrote:

(This isn't really aimed at you specifically, Marco, but is more of a
general rant.)

> I believe that the answer depends on the type of equation and the
> type of time-scheme used for the resolution. In our case,
> since Black-Scholes (partial-differential) equation is parabolic, the
> condition
> dS = sqrt(K dt),
> where K is a constant, is strictly required for stability and
> convergence
> only for an *explict* finite-difference scheme. If, however, an
> implicit scheme
> is used than convergence and stability are automatically obtained
> and it is possible to use something less restrictive like
> dS = K2 dt.

Certainly, the exact rule you need depends on the equation you're
using.  I'm more used to hyperbolic PDEs, but there the basic von
Neumann stability analysis is to just substitute in an exponential local
solution and solve for it's growth.  You want to make sure that spurious
modes are always damped.  In fluids, this gives you the famous Courant
condition, that dx >= v dt, so nothing jumps over a cell in your grid.

I'm not sure about explicit/implicit, but really the only way to do
decent numerics is to carefully watch the stability condition.  I've
done stuff like this in Mathematica, and am just looking into QuantLib
library, but it seems like there should be a way to automate this by
adding some methods to the differencing operators.  It might get a bit
hairy, though.

This isn't quite so crucial for parabolic equations, but it's still a
good thing to keep in mind.  Sorry for the lecture, I just had this
stuff repeatedly drummed into my head by one of my numerical methods
courses.  I'm sure most readers of this list know this already.

> These considerations, however, do not tell us anything about the number
> of time steps to be used as time to maturity grows. Again, the answer
> depends on the shape time grid.

Actually, if you can get the stability analysis right, it should tell
you how many steps you can get away with, and you almost always want to
make as big a step as is numerically safe.  Otherwise, you're just
wasting time.  I've not played with it much, but I'm guessing the
"right" rule would naturally give a finer required grid near
discontinuities, so a variable-grid method work well.  Adaptive-mesh and
all.

I suppose I'm ranting.  I just thought I should post something other
than "help, I can't get it to compile!", just to save face.

--Johann