Logo
Reference manual - version orea_version
SimmHelper Class Reference

Helper for cam model implied SImple SIMM calculation. More...

#include <orea/aggregation/simmhelper.hpp>

Public Member Functions

 SimmHelper (const std::vector< std::string > &currencies, const QuantLib::ext::shared_ptr< NPVCube > &cube, const QuantLib::ext::shared_ptr< AggregationScenarioData > &marketCube, const QuantLib::ext::shared_ptr< SensitivityStorageManager > &sensitivityStorageManager, const QuantLib::ext::shared_ptr< ore::data::Market > &market)
Real initialMargin (const std::string &nettingSetId, const Size dateIndex=Null< Size >(), const Size sampleIndex=Null< Size >())
Real deltaMargin ()
Real vegaMargin ()
Real curvatureMargin ()
Real irDeltaMargin ()
Real fxDeltaMargin ()

Detailed Description

Helper for cam model implied SImple SIMM calculation.

using deltas and vegas stored in the NPV cube

Constructor & Destructor Documentation

◆ SimmHelper()

SimmHelper ( const std::vector< std::string > & currencies,
const QuantLib::ext::shared_ptr< NPVCube > & cube,
const QuantLib::ext::shared_ptr< AggregationScenarioData > & marketCube,
const QuantLib::ext::shared_ptr< SensitivityStorageManager > & sensitivityStorageManager,
const QuantLib::ext::shared_ptr< ore::data::Market > & market )

Construct the dim helper based on

  • the currencies covered in the simulation
  • the cube which stores the sensitivities on a netting set level
  • the sensitivity storage manager Note that we assume that the model has the simulation provides IR/FX deltas and vegas

Member Function Documentation

◆ initialMargin()

Real initialMargin ( const std::string & nettingSetId,
const Size dateIndex = Null< Size >(),
const Size sampleIndex = Null< Size >() )

Returns the Simple SIMM for

  • a netting set id
  • a date and sample index, if both are null, SIMM computed for the T0 slice of the cube