template class xf::fintech::Fdm1dMesher¶
#include "fdmmesher.hpp"
Overview¶
One-dimensional simple FDM mesher object working on an index.
Parameters:
DT | The data type, which decides the precision of the mesher, and the default data type is double. |
_sizeMax | The maximum number of the coordinates supported in the implementation |
template < typename DT, unsigned int _sizeMax > class Fdm1dMesher
Methods¶
init¶
void init ( const OrnsteinUhlenbeckProcess <DT>& process, DT maturity, DT eps, unsigned int size, DT _locations [_sizeMax] )
Calulate the mesher using Ornstein-Uhlenbeck process. The implementation is modified for minimum resource utilizations.
Parameters:
process | The initialized Ornstein-Uhlenbeck process. |
maturity | The maturity of the swaption in years. |
eps | The default Epsilon should be 1.0e-5. |
_locations | The result of coordinates. |
size | The actual size of the coordinates. |
inverseCumulativeNormalAcklamAreaOpt¶
template <typename mType> mType inverseCumulativeNormalAcklamAreaOpt (mType input)
Inverse CumulativeNormal using Acklam’s approximation to transform uniform random number to normal random number. As this process will only be executed for once in the pricing engine, so it is optimized for minimum resource utilization while having a reasonable latency.
Reference: Acklam’s approximation: by Peter J. Acklam, University of Oslo, Statistics Division.
Parameters:
mType | data type. |
input | input uniform random number |
Returns:
normal random number