Finite Difference with Boundary Fixing

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

Finite Difference with Boundary Fixing

Kuan-Khoon Tjan
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


-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
_______________________________________________
QuantLib-dev mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-dev