#include <orea/engine/sacvasensitivityloader.hpp>
Public Member Functions | |
| SaCvaSensitivityLoader () | |
| virtual | ~SaCvaSensitivityLoader () |
| virtual void | add (const SaCvaSensitivityRecord &cvaSensitivityRecord, bool aggregate) |
| Add a single CvaSensitivity record. | |
| void | load (const std::string &fileName, char eol='\n', char delim='\t', char quoteChar='\0') |
| void | loadRawSensi (const CvaSensitivityRecord &cvaSensi, const std::string &baseCurrency, const QuantLib::ext::shared_ptr< ore::data::CounterpartyManager > &counterpartyManager=nullptr) |
| void | loadFromRawSensis (const QuantLib::ext::shared_ptr< CvaSensitivityCubeStream > sensiStream, const std::string &baseCurrency, const QuantLib::ext::shared_ptr< ore::data::CounterpartyManager > &counterpartyManager=nullptr) |
| void | loadFromRawSensis (const QuantLib::ext::shared_ptr< ParSensitivityCubeStream > parSensiStream, const std::string &baseCurrency, const QuantLib::ext::shared_ptr< SensitivityScenarioData > &scenarioData, const QuantLib::ext::shared_ptr< ore::data::CounterpartyManager > &counterpartyManager=nullptr) |
| void | loadFromRawSensis (std::vector< CvaSensitivityRecord > cvaSensis, const std::string &baseCurrency, const QuantLib::ext::shared_ptr< ore::data::CounterpartyManager > &counterpartyManager=nullptr) |
| const SaCvaNetSensitivities & | netRecords () const |
| Return the netted CvaSensitivity records for use in a CVA calculation. | |
| const std::set< std::string > & | nettingSetIds () const |
| Give back the set of portfolio IDs that have been loaded. | |
| void | clear () |
| Reset loader to initial state. | |
| const std::vector< CvaSensitivityRecord > & | cvaSensitivityRecords () const |
Static Public Attributes | |
| static std::map< QuantLib::Size, std::string > | expectedHeaders |
Protected Member Functions | |
| virtual void | processHeader (const std::vector< std::string > &headers) |
| Process the elements of a header line of a CvaSensitivity file. | |
| virtual bool | process (const std::vector< std::string > &entries, QuantLib::Size maxIndex, QuantLib::Size currentLine) |
Protected Attributes | |
| SaCvaNetSensitivities | netRecords_ |
| Netted CvaSensitivity records that can subsequently be used in a SIMM calculation. | |
| std::set< std::string > | nettingSetIds_ |
| Set of portfolio IDs that have been loaded. | |
| std::map< QuantLib::Size, QuantLib::Size > | columnIndex_ |
| std::vector< CvaSensitivityRecord > | cvaSensitivityRecords_ |
A class for loading CvaSensitivity records. The records are aggregated and stored in a SaCvaNetSensitivities object so that they can later be used in a CVA capital charge calculation
| SaCvaSensitivityLoader | ( | ) |
Constructor We set the trade ID to an empty string if we are going to be netting at portfolio level. This is the default. To override this the flag keepTradeId may be set to true.
|
virtual |
Destructor
| void load | ( | const std::string & | fileName, |
| char | eol = '\n', | ||
| char | delim = '\t', | ||
| char | quoteChar = '\0' ) |
Load SaCvaSensitivity records from a CvaSensitivity file.
| void loadRawSensi | ( | const CvaSensitivityRecord & | cvaSensi, |
| const std::string & | baseCurrency, | ||
| const QuantLib::ext::shared_ptr< ore::data::CounterpartyManager > & | counterpartyManager = nullptr ) |
Load record from CvaSensi
| void loadFromRawSensis | ( | const QuantLib::ext::shared_ptr< CvaSensitivityCubeStream > | sensiStream, |
| const std::string & | baseCurrency, | ||
| const QuantLib::ext::shared_ptr< ore::data::CounterpartyManager > & | counterpartyManager = nullptr ) |
Load SaCvaSensitity records from raw Cva Sensi stream
| void loadFromRawSensis | ( | const QuantLib::ext::shared_ptr< ParSensitivityCubeStream > | parSensiStream, |
| const std::string & | baseCurrency, | ||
| const QuantLib::ext::shared_ptr< SensitivityScenarioData > & | scenarioData, | ||
| const QuantLib::ext::shared_ptr< ore::data::CounterpartyManager > & | counterpartyManager = nullptr ) |
Load SaCvaSensitity records from raw Par Sensitivity cube stream
| void loadFromRawSensis | ( | std::vector< CvaSensitivityRecord > | cvaSensis, |
| const std::string & | baseCurrency, | ||
| const QuantLib::ext::shared_ptr< ore::data::CounterpartyManager > & | counterpartyManager = nullptr ) |
Load SaCvaSensitity records from vector of Cva Sensis
|
protectedvirtual |
Process a line of a CvaSensitivity file and return true if valid line or false if an invalid line
|
protected |
Internal map from known index of CvaSensitivity record member to file column For example, give trade ID an index of 0 and find the column index of trade ID in the CvaSensitivity file e.g. n. The map entry would be [0, n]