|
static Real | marginRequirementCalc (const boost::shared_ptr< CollateralAccount > &collat, const Real &uncollatValue, const Date &simulationDate) |
|
template<class T > |
static Real | estimateUncollatValue (const Date &simulationDate, const Real &npv_t0, const Date &date_t0, const vector< vector< T >> &scenPvProfiles, const unsigned &scenIndex, const vector< Date > &dateGrid) |
|
static void | updateMarginCall (const boost::shared_ptr< CollateralAccount > &collat, const Real &uncollatValue, const Date &simulationDate, const Real &accrualFactor, const CalculationType &calcType=Symmetric, const bool &eligMarginReqDateUs=true, const bool &eligMarginReqDateCtp=true) |
|
static Real | creditSupportAmount (const boost::shared_ptr< ore::data::NettingSetDefinition > &nettingSet, const Real &uncollatValueCsaCur) |
|
static boost::shared_ptr< vector< boost::shared_ptr< CollateralAccount > > > | collateralBalancePaths (const boost::shared_ptr< NettingSetDefinition > &csaDef, const Real &nettingSetPv, const Date &date_t0, const vector< vector< Real >> &nettingSetValues, const Date &nettingSet_maturity, const vector< Date > &dateGrid, const Real &csaFxTodayRate, const vector< vector< Real >> &csaFxScenarioRates, const Real &csaTodayCollatCurve, const vector< vector< Real >> &csaScenCollatCurves, const CalculationType &calcType=Symmetric) |
|
Collateral Exposure Helper.
This class contains helper functions to aid in the calculation of collateralised exposures.
It can be used to calculate margin requirements in the presence of e.g. thresholds and minimum transfer amounts, update collateral account details with e.g. new margin call info, and return collateralised exposures to the user/invoker.
For further information refer to the detailed ORE documentation.