#include <orea/app/analytics/pnlanalytic.hpp>
Public Member Functions | |
| PnlAnalytic (const QuantLib::ext::shared_ptr< InputParameters > &inputs, const QuantLib::ext::weak_ptr< ore::analytics::AnalyticsManager > &analyticsManager) | |
| Public Member Functions inherited from Analytic | |
| Analytic () | |
| Constructors. | |
| Analytic (std::unique_ptr< Impl > impl, const std::set< std::string > &analyticTypes, const QuantLib::ext::shared_ptr< InputParameters > &inputs, const QuantLib::ext::weak_ptr< AnalyticsManager > &analyticsManager, bool simulationConfig=false, bool sensitivityConfig=false, bool scenarioGeneratorConfig=false, bool crossAssetModelConfig=false) | |
| virtual void | runAnalytic (const QuantLib::ext::shared_ptr< ore::data::InMemoryLoader > &loader, const std::set< std::string > &runTypes={}) |
| Run only those analytic types that are inclcuded in the runTypes vector, run all if the runType vector is empty. | |
| virtual void | buildConfigurations (const bool=false) |
| void | setUp () |
| void | initialise () |
| virtual void | buildMarket (const QuantLib::ext::shared_ptr< ore::data::InMemoryLoader > &loader, const bool marketRequired=true) |
| virtual void | buildPortfolio (const bool emitStructuredError=true) |
| virtual void | marketCalibration (const QuantLib::ext::shared_ptr< MarketCalibrationReportBase > &mcr=nullptr) |
| virtual void | modifyPortfolio () |
| virtual void | replaceTrades () |
| virtual void | enrichIndexFixings (const QuantLib::ext::shared_ptr< ore::data::Portfolio > &portfolio) |
| virtual bool | requiresMarketData () const |
| const std::string | label () const |
| Inspectors. | |
| const std::set< std::string > & | analyticTypes () const |
| const QuantLib::ext::shared_ptr< InputParameters > & | inputs () const |
| const QuantLib::ext::weak_ptr< AnalyticsManager > & | analyticsManager () const |
| const QuantLib::ext::shared_ptr< ore::data::Market > & | market () const |
| QuantLib::ext::shared_ptr< MarketImpl > | getMarket () const |
| const QuantLib::ext::shared_ptr< ore::data::Portfolio > & | portfolio () const |
| void | setInputs (const QuantLib::ext::shared_ptr< InputParameters > &inputs) |
| void | setMarket (const QuantLib::ext::shared_ptr< ore::data::Market > &market) |
| void | setPortfolio (const QuantLib::ext::shared_ptr< ore::data::Portfolio > &portfolio) |
| std::vector< QuantLib::ext::shared_ptr< ore::data::TodaysMarketParameters > > | todaysMarketParams () |
| const QuantLib::ext::shared_ptr< ore::data::Loader > & | loader () const |
| Configurations & | configurations () |
| analytic_reports | reports () |
| Analytic results. | |
| void | addReport (const std::string &key, const std::string &subKey, const QuantLib::ext::shared_ptr< ore::data::InMemoryReport > &report) |
| const QuantLib::ext::shared_ptr< ore::data::InMemoryReport > & | getReport (const std::string &key, const std::string &subKey) |
| analytic_npvcubes & | npvCubes () |
| analytic_mktcubes & | mktCubes () |
| analytic_stresstests & | stressTests () |
| QuantLib::ext::shared_ptr< ParSensitivityCubeStream > & | parCvaSensiCubeStream () |
| const bool | getWriteIntermediateReports () const |
| void | setWriteIntermediateReports (const bool flag) |
| bool | match (const std::set< std::string > &runTypes) |
| Check whether any of the requested run types is covered by this analytic. | |
| const std::unique_ptr< Impl > & | impl () |
| std::set< QuantLib::Date > | marketDates () const |
| std::vector< QuantLib::ext::shared_ptr< Analytic > > | allDependentAnalytics () const |
| const Timer & | getTimer () |
| void | startTimer (const std::string &key) |
| QuantLib::ext::optional< boost::timer::cpu_timer > | stopTimer (const std::string &key, const bool returnTimer=false) |
| void | addTimer (const std::string &key, const Timer &timer) |
Additional Inherited Members | |
| Public Types inherited from Analytic | |
| typedef std::map< std::string, std::map< std::string, QuantLib::ext::shared_ptr< ore::data::InMemoryReport > > > | analytic_reports |
| typedef std::map< std::string, std::map< std::string, QuantLib::ext::shared_ptr< NPVCube > > > | analytic_npvcubes |
| typedef std::map< std::string, std::map< std::string, QuantLib::ext::shared_ptr< AggregationScenarioData > > > | analytic_mktcubes |
| typedef std::map< std::string, std::map< std::string, QuantLib::ext::shared_ptr< StressTestScenarioData > > > | analytic_stresstests |
| Protected Attributes inherited from Analytic | |
| std::unique_ptr< Impl > | impl_ |
| std::set< std::string > | types_ |
| list of analytic types run by this analytic | |
| QuantLib::ext::shared_ptr< InputParameters > | inputs_ |
| contains all the input parameters for the run | |
| QuantLib::ext::weak_ptr< AnalyticsManager > | analyticsManager_ |
| the analytics manger, used for sharing analytics | |
| Configurations | configurations_ |
| QuantLib::ext::shared_ptr< ore::data::Market > | market_ |
| QuantLib::ext::shared_ptr< ore::data::Loader > | loader_ |
| QuantLib::ext::shared_ptr< ore::data::Portfolio > | portfolio_ |
| analytic_reports | reports_ |
| analytic_npvcubes | npvCubes_ |
| analytic_mktcubes | mktCubes_ |
| analytic_stresstests | stressTests_ |
| QuantLib::ext::shared_ptr< ParSensitivityCubeStream > | parCvaSensiCubeStream_ |
| bool | writeIntermediateReports_ = true |
| Timer | timer_ |
The P&L Analytic generates a P&L report as main output with the following columns
Moreover