|
From: Cheng L. <scr...@gm...> - 2014-11-14 12:09:28
|
Hi Spanderen, Let me do one for us. I'll come back to you when it is finished. IMO I think the convergence speed won't improve as much as the case for digital since there is no discontinuity in plain vanilla payoff. BTW, I agree with you that this will change the default behavior if using my implementation. That is the reason I sent this all the developers to see other's opinion before raise a pull request in github. Regards, Cheng -----邮件原件----- 发件人: Klaus Spanderen [mailto:kl...@sp...] 发送时间: 2014年11月14日 14:42 收件人: qua...@li... 主题: Re: [Quantlib-dev] Grids shift trick to improve the convergence speed PDE method Hi cool! The results are looking promising. Do you get a similar improvement if you apply the shift trick to plain vanilla option. The only thing we might consider is that we change behavior if the shift becomes the default. regards Klaus On Wednesday, November 12, 2014 12:01:52 PM cheng li wrote: > Hi Team, > > > > Current I am in an effort to improve the convergence speed of > FdBlackScholesVanillaEngine to digital option. The background is as follows: > > > > For digital option there is some discontinuity in the initial condition. > Such discontinuity will cause the straight Crank-Nicolson method to > show severe odd-even effect. In current implementation, the pricing > engine will use several damping steps to suppress some effect. However > as claimed in Interest Rate Modeling. Section 2.5 p60 in V1 by > Anderson and Piterbarg, Damping steps is not adequate for such task. > Referencing to Tavella and Randall's book, they suggest to shift the > grids to let the discontinuity lies exactly half way between 2 grids. > They claimed that this will greatly improve the convergence. > > > > I have completed such experimental implementation in QuantLib. Besides > I do a comparison between "Grids Shift + Damping" and "Damping" > methods. The result is promising. The convergence speed is greatly > improved and is consistent with what Anderson and Piterbarg claimed. > The result can be referred from the attached Shift_experiment.xlsx file. > > > > To replicate my result, you can replacing the original files in > ql\methods\finitedifferences\meshers with the files I attached > (concentrating1dmesher.hpp, concentrating1dmesher.cpp). And run the > test program testPDEScheme.cpp > > > > The results is based on "Grids shift + 2 damping steps". Also you can > run the test program without replacing the mesher file to see what is > result of > "2 damping steps". Besides I also run through the QuantLIb test suite. > This change won't break any existing test case. > > > > Is anyone have some interest to have a look at this? I'd like to > create a pull request for this change if no one is against it. > > > > Regards, > > Cheng ---------------------------------------------------------------------------- -- Comprehensive Server Monitoring with Site24x7. Monitor 10 servers for $9/Month. Get alerted through email, SMS, voice calls or mobile push notifications. Take corrective actions from your mobile device. http://pubads.g.doubleclick.net/gampad/clk?id=154624111&iu=/4140/ostg.clktrk _______________________________________________ QuantLib-dev mailing list Qua...@li... https://lists.sourceforge.net/lists/listinfo/quantlib-dev |