From: Kuan-Khoon T. <kt...@en...> - 2007-10-11 22:33:17
|
Hi, I am new both to c++ and QL. Recently, I completed a project on solving the BS for Vanilla American put using boundary fixing, ie use S=s-p0, where s is stock price and p0 is exercise boundary, thereby fixing 0<S<Inf. The resulting equations is non-linear (will be linearised for numerical purpose) and will have time/S dependent coeffs even for const sigma and r. I did it using MATLAB, now I am learning c++ so I was thinking of implementing it in QL as a practice. My initial framework are as follows: Construct a new FDBFAmericanEngine class, derived in much the same way as how FDEuropeanEngine is derived from its bases. For this class, I provide member functions tranformOperator and transformBoundaryConditions. I will also have the calculate() member function very much similar to the one in FDEuropeanEngine, with the exception that I will be calling rollback multiple times and calling both tranformOperator() and transformBoundaryConditions() just prior to that. I am still writing the code now but I will like to hear if there are any comments, esp if this will work and is there a better way to do it for future flexibility. Thanks! Kuan |