#include "xf_fintech/hjm_engine.hpp"
template < typename DT, unsigned MAX_TENORS, unsigned MAX_CURVES, unsigned NCU = 1 > void hjmPcaEngine ( DT ratesIn [MAX_CURVES *MAX_TENORS], const unsigned int noTenors, const unsigned int noObservations, DT riskNeutralDrift [MAX_TENORS], DT volatilities [hjmModelParams::N][MAX_TENORS], DT presentForwardCurve [MAX_TENORS] )
Analyses raw historical data and calculates the input vectors for a Heath-Jarrow-Morton Monte-Carlo simulation.
Parameters:
DT | The internal DataType of the calculations. |
MAX_TENORS | Maximum support synthetisable tenors. |
MAX_CURVES | Maximum synthetisable number of entries from the historial data. |
NCU | Number of parallel component units when processing the historical data matrix. |
ratesIn | Matrix with the historical data. |
noTenors | Number of tenors in the simulation. Must be fewer than MAX_TENORS and be a multiple of NCU . |
noObservations | Number of forward curves in the historical data matrix. |
riskNeutralDrift | Output buffer for the Risk Neutral Drift vector for the MC simulation, tenors wide |
volatilities | Output vectors of the volatilities extracted from historical data. Consists on N vectors, tenors wide. |
presentForwardCurve | Output vector with the forward curve at present date. |