Test Methodology - 2023.2 English

Vitis Libraries

Release Date
2023-12-20
Version
2023.2 English

The Finite Difference solver is verified by using a separate Python implementation which is compared to results from the scikit-fdiff PDE solver across a range of different test cases. This allows for fast verification of the solver design. Once this was complete, the HLS design is executed against the same test cases and the output is compared to a reference solution generated by the Python model. Ideally, these would match precisely; in practise small differences of around 10^-4 are seen due to the use of floating point data types and hardware optimised operator ordering in the HLS version.

Three test cases are providing for confirming the engine is working correctly. These are to be used with the default N=128 M=256 build.

case 0 - Vanilla European

This is a special case where the volatility is constant in both time and price dimensions, and the risk-free rate is constant. This is the standard Black-Scholes model and in this case, there is a closed form solution which allows the final result to be independently confirmed.

case 1 - Volatility Smile

This case has a time and spatially varying volatility surface

case 2 - Severe Spatial Surface

This case has a volatility surface where the volatility follows a sine wave in the spatial direction. This is unrealistic but designed to check the stability of the solver.