Hi,
This is more of a numerical question. Is there any rule of thumb for choosing assetSteps and timeSteps values for FdAmericanOption? For example do they need to grow as time to maturity grows and if yes how (linearly, etc.)? Thanks, Vadim -------------------------------------------------- DISCLAIMER This e-mail, and any attachments thereto, is intended only for use by the addressee(s) named herein and may contain legally privileged and/or confidential information. If you are not the intended recipient of this e-mail, you are hereby notified that any dissemination, distribution or copying of this e-mail, and any attachments thereto, is strictly prohibited. If you have received this e-mail in error, please immediately notify me and permanently delete the original and any copy of any e-mail and any printout thereof. E-mail transmission cannot be guaranteed to be secure or error-free. The sender therefore does not accept liability for any errors or omissions in the contents of this message which arise as a result of e-mail transmission. NOTICE REGARDING PRIVACY AND CONFIDENTIALITY Knight Trading Group may, at its discretion, monitor and review the content of all e-mail communications. |
Hull does mention that it is numerically most efficient to set
dS = sigma * sqrt(3*dT) for explicit FD page(422) chap 16 I have seen a simillar such condition in another paper too. > Hi, > > This is more of a numerical question. Is there any rule of thumb for > choosing assetSteps and timeSteps values for FdAmericanOption? For example > do they need to grow as time to maturity grows and if yes how (linearly, > etc.)? > > Thanks, Vadim > |
In reply to this post by Vadim Ogranovich-3
Hi,
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. 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. For parabolic (partial-differential) equations it is always better to have as many time steps as possible close to the places where discontinuities occur. The smoother the initial condition the better an FD method will work, that's why a binary option is the nightmare of finite-difference. In the case of a plain vanilla option the discontinuity is only in the first derivative, and at maturity. Therefore, the best thing to do is to have a much finer time grid close to maturity. When far from maturity the option price has already been smoothed out by the dynamic and there is no need for a very fine grid. If, on the other hand, an uniform grid is to be used, to allow the same time spacing close to maturity it is necessary to increase the number of total time-steps linearly with the total time to maturity. I hope this has been helpful, Marco Marchioro At 07:42 PM 5/6/02 -0700, you wrote: >Hull does mention that it is numerically most efficient to set >dS = sigma * sqrt(3*dT) >for explicit FD page(422) chap 16 >I have seen a simillar such condition in another paper too. > > > > > Hi, > > > > This is more of a numerical question. Is there any rule of thumb for > > choosing assetSteps and timeSteps values for FdAmericanOption? For example > > do they need to grow as time to maturity grows and if yes how (linearly, > > etc.)? > > > > Thanks, Vadim > > > > >_______________________________________________________________ > >Have big pipes? SourceForge.net is looking for download mirrors. We supply >the hardware. You get the recognition. Email Us: [hidden email] >_______________________________________________ >Quantlib-users mailing list >[hidden email] >https://lists.sourceforge.net/lists/listinfo/quantlib-users |
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 |
Free forum by Nabble | Edit this page |