#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. |