Logo
Reference manual - version orea_version
Public Member Functions | List of all members
FlatDynamicInitialMarginCalculator Class Reference

Dynamic Initial Margin Calculator using flat extrapolation of t0 IM. More...

#include <orea/aggregation/dimflatcalculator.hpp>

+ Inheritance diagram for FlatDynamicInitialMarginCalculator:

Public Member Functions

 FlatDynamicInitialMarginCalculator (const QuantLib::ext::shared_ptr< InputParameters > &inputs, const QuantLib::ext::shared_ptr< Portfolio > &portfolio, const QuantLib::ext::shared_ptr< NPVCube > &cube, const QuantLib::ext::shared_ptr< CubeInterpretation > &cubeInterpretation, const QuantLib::ext::shared_ptr< AggregationScenarioData > &scenarioData)
 
map< string, Real > unscaledCurrentDIM () override
 Model implied t0 DIM by netting set, does not need a call to build() before.
 
void build () override
 Compute dynamic initial margin along all paths and fill result structures.
 
void exportDimEvolution (ore::data::Report &dimEvolutionReport) const override
 DIM evolution report.
 
const vector< Real > & dimResults (const std::string &nettingSet) const
 
- Public Member Functions inherited from DynamicInitialMarginCalculator
 DynamicInitialMarginCalculator (const QuantLib::ext::shared_ptr< InputParameters > &inputs, const QuantLib::ext::shared_ptr< Portfolio > &portfolio, const QuantLib::ext::shared_ptr< NPVCube > &cube, const QuantLib::ext::shared_ptr< CubeInterpretation > &cubeInterpretation, const QuantLib::ext::shared_ptr< AggregationScenarioData > &scenarioData, Real quantile=0.99, Size horizonCalendarDays=14, const std::map< std::string, Real > &currentIM=std::map< std::string, Real >())
 
const map< string, Real > & currentIM () const
 t0 IM by netting set, as provided as an arguments
 
const QuantLib::ext::shared_ptr< NPVCube > & dimCube ()
 DIM by nettingSet, date, sample returned as a regular NPV cube.
 
const vector< vector< Real > > & dynamicIM (const string &nettingSet)
 DIM matrix by date and sample index for the specified netting set.
 
const vector< vector< Real > > & cashFlow (const string &nettingSet)
 Cash flow matrix by date and sample index for the specified netting set.
 
const vector< Real > & expectedIM (const string &nettingSet)
 Expected DIM vector by date for the specified netting set.
 
const std::map< std::string, Real > & getInitialMarginScaling ()
 Get the implied netting set specific scaling factors.
 

Additional Inherited Members

- Protected Attributes inherited from DynamicInitialMarginCalculator
QuantLib::ext::shared_ptr< InputParametersinputs_
 
QuantLib::ext::shared_ptr< Portfolioportfolio_
 
QuantLib::ext::shared_ptr< NPVCubecube_
 
QuantLib::ext::shared_ptr< NPVCubedimCube_
 
QuantLib::ext::shared_ptr< CubeInterpretationcubeInterpretation_
 
QuantLib::ext::shared_ptr< AggregationScenarioDatascenarioData_
 
Real quantile_
 
Size horizonCalendarDays_
 
map< string, Real > currentIM_
 
bool cubeIsRegular_
 
Size datesLoopSize_
 
std::set< string > nettingSetIds_
 
map< string, Real > nettingSetScaling_
 
map< string, vector< vector< Real > > > nettingSetNPV_
 
map< string, vector< vector< Real > > > nettingSetCloseOutNPV_
 
map< string, vector< vector< Real > > > nettingSetFLOW_
 
map< string, vector< vector< Real > > > nettingSetDeltaNPV_
 
map< string, vector< vector< Real > > > nettingSetDIM_
 
map< string, vector< Real > > nettingSetExpectedDIM_
 

Detailed Description

Dynamic Initial Margin Calculator using flat extrapolation of t0 IM.

Dynamic IM by extrapolating t0 IM

Constructor & Destructor Documentation

◆ FlatDynamicInitialMarginCalculator()

FlatDynamicInitialMarginCalculator ( const QuantLib::ext::shared_ptr< InputParameters > &  inputs,
const QuantLib::ext::shared_ptr< Portfolio > &  portfolio,
const QuantLib::ext::shared_ptr< NPVCube > &  cube,
const QuantLib::ext::shared_ptr< CubeInterpretation > &  cubeInterpretation,
const QuantLib::ext::shared_ptr< AggregationScenarioData > &  scenarioData 
)
Parameters
inputsGlobal input parameters
portfolioDriving portfolio consistent with the cube below
cubeNPV cube resulting from the Monte Carlo simulation loop
cubeInterpretationInterpretation of the cube, regular NPV, MPoR grid etc
scenarioDataAdditional output of the MC simulation loop with numeraires, index fixings, FX spots etc