template class xf::fintech::lmmReducedFactorCorrelationEngine

#include "lmm_engine.hpp"

Overview

Class that will perform a dimensionality reduction to N dimensions of a correlation matrix to be used by the multi-factor LIBOR Market Model framework.

Parameters:

DT The datatype of the correlation matrix elements.
MAX_TENORS Maximum number of synthetisable tenors.
N Number of dimensions to be kept from the original correlation matrix.
NCU Parallelisation factor for PCA implementation.
template <
    typename DT,
    unsigned MAX_TENORS,
    unsigned N,
    unsigned NCU = 1
    >
class lmmReducedFactorCorrelationEngine

Methods

reduceDimensionality

void reduceDimensionality (
    hls::stream <DT>& rho,
    DT rhoReduced [MAX_TENORS][MAX_TENORS],
    DT eta [MAX_TENORS][N]
    )

takes the input from the rho stream and performs a dimensionality reduction to just N factors.

Parameters:

rho Correlation matrix stream
rhoReduced Projection of rho matrix into N dimensions. This will be an input to the MC simulation.
eta Pseudo square root of the projected data. This will be an input to the MC simulation.